Generic hardware access library
|
00001 #ifndef __PCIHardwareAddress 00002 #define __PCIHardwareAddress 00003 00004 #include <string> 00005 #include <iostream> 00006 00007 #include "hal/GeneralHardwareAddress.hh" 00008 #include "hal/IllegalValueException.hh" 00009 00010 namespace HAL { 00011 00032 class PCIHardwareAddress : public GeneralHardwareAddress { 00033 public: 00034 PCIHardwareAddress( uint32_t address, 00035 enum AddressSpace addressSpace, 00036 uint32_t barId = 0 ) 00037 throw (IllegalValueException); 00038 00039 virtual bool isIOSpace() const throw(); 00040 virtual uint32_t getAddressModifier() const 00041 throw( IllegalOperationException ); 00042 virtual void print( std::ostream& os = std::cout ) const; 00043 00044 virtual GeneralHardwareAddress* clone() const; 00045 00046 private: 00050 std::string getAddressSpaceString() const; 00051 }; 00052 00053 } /* namespace HAL */ 00054 00055 #endif /* __PCIHardwareAddress */