#pragma once #include /* * PCI devices API */ struct PCIBusAddress{ int bus ; int device ; int function; uint32_t getAddress( ){ return ((uint32_t) 1 << 31) | ((uint32_t) bus << 16) | ((uint32_t) device << 11)| ((uint32_t) function << 8) | 0x0000; }; }; class PCIDevice { public : PCIDevice (PCIBusAddress* , int ); ~PCIDevice(); PCIBusAddress const PCIAddress(); inline const char* getDeviceString(){ return "Not implemented"; //GetClassCodeName(deviceclass); } inline const char* getVendorString(){ return "Not implemented"; // getVendor(VendorID); } inline void setVendorID (uint16_t id) { this->VendorID = id; } private: int bus; int device; int function; uint16_t VendorID; uint16_t DeviceID; uint8_t deviceclass; uint8_t devicesubclass; int headerType; };