Generic hardware access library
/home/cschwick/hal/generic/include/hal/VMEConfigurationSpaceDevice.hh
Go to the documentation of this file.
00001 #ifndef __VMEConfigurationSpaceDevice
00002 #define __VMEConfigurationSpaceDevice
00003 
00004 #include "hal/VMEDevice.hh"
00005 #include "hal/VMEAddressTable.hh"
00006 
00007 namespace HAL {
00008 
00036 class VMEConfigurationSpaceDevice : public VMEDevice {
00037 public:
00045   VMEConfigurationSpaceDevice( VMEAddressTable & vmeAddressTable,
00046                                VMEBusAdapterInterface & vmeBusAdapter );
00047 
00048   virtual ~VMEConfigurationSpaceDevice();
00049 
00063   void hardwareRead( const GeneralHardwareAddress& vmeAddress, 
00064                      uint32_t* result,
00065                      uint32_t offset = 0 ) const
00066     throw (BusAdapterException);
00067 
00068 
00080   void hardwareWrite( const GeneralHardwareAddress& vmeAddress, 
00081                       uint32_t data,
00082                       uint32_t offset = 0 ) const
00083     throw (BusAdapterException);
00084   
00085 
00090   void hardwareReadBlock( const GeneralHardwareAddress& vmeAddress,
00091                           uint32_t length,
00092                           char *buffer,
00093                           HalAddressIncrement addressBehaviour = HAL_DO_INCREMENT,
00094                           uint32_t offset = 0 ) const
00095     throw (UnsupportedException);
00096   
00101   void hardwareWriteBlock( const GeneralHardwareAddress& vmeAddress,
00102                            uint32_t length,
00103                            char *buffer,
00104                            HalAddressIncrement addressBehaviour = HAL_DO_INCREMENT,
00105                            uint32_t offset = 0 ) const
00106     throw (UnsupportedException);
00107 };
00108 
00109 } /* namespace HAL */
00110 
00111 #endif /* __VMEConfigurationSpaceDevice */