X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fpci.h;h=5895dbcbb46062479fbd45b0e3de493c116075b3;hb=2d16e3a7875a9cb5abd60713bb2e39b536a7dec4;hp=16388fa3508dd2a37e50b628e656fb235124e0a3;hpb=ae693fcab9b636bf0e521f38060398417c3cf3d9;p=pciutils.git diff --git a/lib/pci.h b/lib/pci.h index 16388fa..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; @@ -244,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;