aboutsummaryrefslogtreecommitdiff
path: root/includes/pci_util.h
diff options
context:
space:
mode:
Diffstat (limited to 'includes/pci_util.h')
-rw-r--r--includes/pci_util.h21
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