diff options
Diffstat (limited to 'includes/pci_util.h')
-rw-r--r-- | includes/pci_util.h | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/includes/pci_util.h b/includes/pci_util.h index 2a9e4a4b..6178be21 100644 --- a/includes/pci_util.h +++ b/includes/pci_util.h @@ -53,26 +53,25 @@ typedef struct pcid { /* ... */ - struct pcid *next; /* this is a linked list */ } pcid; +pcid *pci_get_device(uint32_t dom, uint32_t bus, uint32_t dev, uint32_t func); +pcid *pci_get_device_str(const char *addy); +#define pcid_new() g_new0(pcid, 1) +void pcid_free(pcid *); + +typedef GSList* pcid_list; /* examples: * to get all pci devices: * pcid *list = pci_get_device_list(0, 0); * to get all display controllers: * pcid *list = pci_get_device_list(0x300, 0x3ff); */ -pcid *pci_get_device_list(uint32_t class_min, uint32_t class_max); -int pcid_list_count(pcid *); -void pcid_list_free(pcid *); - -pcid *pci_get_device(uint32_t dom, uint32_t bus, uint32_t dev, uint32_t func); -pcid *pci_get_device_str(const char *addy); - -void pcid_free(pcid *); - -char *pci_lookup_ids_vendor_str(uint32_t id); +pcid_list pci_get_device_list(uint32_t class_min, uint32_t class_max); +#define pcid_list_count(l) g_slist_length(l); +#define pcid_list_free(l) g_slist_free_full(l, (GDestroyNotify)pcid_free) const gchar *find_pci_ids_file(); +char *pci_lookup_ids_vendor_str(uint32_t id); #endif |