/*******************************************************************************/ /* COS2000 - Compatible Operating System - LGPL v3 - Hordé Nicolas */ /* */ typedef struct pciclass { u16 number; u8 *name; } pciclass __attribute__ ((packed)); typedef struct pcidev { u16 vendor_id; u16 device_id; u16 command; u16 status; u8 revision_id; u8 interface; u8 sub_class; u8 base_class; u8 cache_line_size; u8 latency_timer; u8 header_type; u8 bist; } pcidev __attribute__ ((packed)); typedef struct pcidevmini { union { struct { u16 vendor_id; u16 device_id; }; u32 dword; }; } pcidevmini __attribute__ ((packed)); u16 pciConfigReadWord(const u8 bus, const u8 dev, const u8 function, const u8 offset); void scanPCImini(void); pcidevmini getPCImininfo(const u8 bus, const u8 dev, const u8 function); bool getPCInfo(pcidev *device, const u8 bus, const u8 dev, const u8 function); void scanPCI(void); u8 * pcigetclassname( const pcidev *device);