X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fpci.h;h=5895dbcbb46062479fbd45b0e3de493c116075b3;hb=3444b81f6b0e83eacb391e10b41f9a7b60e66f4e;hp=3947fc12b258a8b04bb4c8b9f05fdc116a57202c;hpb=5e9714acb554052f45185fb1cc8246c864ef76dd;p=pciutils.git diff --git a/lib/pci.h b/lib/pci.h index 3947fc1..5895dbc 100644 --- a/lib/pci.h +++ b/lib/pci.h @@ -16,7 +16,7 @@ #include "header.h" #include "types.h" -#define PCI_LIB_VERSION 0x030700 +#define PCI_LIB_VERSION 0x030900 #ifndef PCI_ABI #define PCI_ABI @@ -43,6 +43,11 @@ enum pci_access_type { PCI_ACCESS_DARWIN, /* Darwin */ PCI_ACCESS_SYLIXOS_DEVICE, /* SylixOS pci */ PCI_ACCESS_HURD, /* GNU/Hurd */ + PCI_ACCESS_WIN32_CFGMGR32, /* Win32 cfgmgr32.dll */ + PCI_ACCESS_WIN32_KLDBG, /* Win32 kldbgdrv.sys */ + PCI_ACCESS_WIN32_SYSDBG, /* Win32 NT SysDbg */ + PCI_ACCESS_MMIO_TYPE1, /* MMIO ports, type 1 */ + PCI_ACCESS_MMIO_TYPE1_EXT, /* MMIO ports, type 1 extended */ PCI_ACCESS_MAX }; @@ -82,6 +87,7 @@ struct pci_access { int fd_pos; /* proc/sys: current position */ int fd_vpd; /* sys: fd for VPD */ struct pci_dev *cached_dev; /* proc/sys: device the fds are for */ + void *aux; /* Auxiliary data for use by the back-end */ }; /* Initialize PCI access */ @@ -148,6 +154,7 @@ struct pci_dev { u8 prog_if, rev_id; /* Programming interface for device_class and revision id */ u16 subsys_vendor_id, subsys_id; /* Subsystem vendor id and subsystem id */ struct pci_dev *parent; /* Parent device, does not have to be always accessible */ + int no_config_access; /* No access to config space for this device */ /* Fields used internally */ struct pci_access *access; @@ -216,6 +223,7 @@ char *pci_get_string_property(struct pci_dev *d, u32 prop) PCI_ABI; #define PCI_FILL_CLASS_EXT 0x00020000 /* prog_if and rev_id */ #define PCI_FILL_SUBSYS 0x00040000 /* subsys_vendor_id and subsys_id */ #define PCI_FILL_PARENT 0x00080000 +#define PCI_FILL_DRIVER 0x00100000 /* OS driver currently in use (string property) */ void pci_setup_cache(struct pci_dev *, u8 *cache, int len) PCI_ABI; @@ -243,8 +251,11 @@ struct pci_cap *pci_find_cap_nr(struct pci_dev *, unsigned int id, unsigned int struct pci_filter { int domain, bus, slot, func; /* -1 = ANY */ - int vendor, device, device_class; - int rfu[3]; + int vendor, device; + int device_class; + unsigned int device_class_mask; /* Which bits of the device_class are compared, default=all */ + int prog_if; + int rfu[1]; }; void pci_filter_init(struct pci_access *, struct pci_filter *) PCI_ABI;