#ifndef PCI_H #define PCI_H #include enum { PCI_MASS_STORAGE = 0x01 }; enum { PCI_IDE = 0x01 }; struct pci_device { uint16_t number; uint16_t id_vendor; uint16_t id_device; uint8_t class; uint8_t subclass; uint8_t iface; uint32_t bar0; uint32_t bar1; uint32_t bar2; uint32_t bar3; //etc }; extern uint16_t n_pci_devices; struct pci_device *nth_pci_device(uint16_t n); struct pci_device *find_pci_device_from_class_and_subclass(uint8_t class, uint8_t subclass, uint16_t start, uint16_t *index); void pci_init(); #endif