1 /*---------------------------------------------------------------------------* 2 Project: Host I/O Interface for HIO2 3 File: Hio2DllIf.h 4 5 (C)2005 HUDSON SOFT 6 7 $Header: /home/cvsroot/SDK/build/demos/hio2demo/vc++/HioIf/include/Hio2DllIf.h,v 1.3 2006/03/15 06:31:25 mitu Exp $ 8 9 $NoKeywords: $ 10 *---------------------------------------------------------------------------*/ 11 12 // DLL wrapper class for hio2[D].dll 13 14 #pragma once 15 16 #include <revolution/hio2.h> 17 18 class CHio2DllIf 19 { 20 public: CHio2DllIf()21 CHio2DllIf() { m_hDll = NULL; }; ~CHio2DllIf()22 ~CHio2DllIf() { Release(); }; 23 24 BOOL Create(); 25 void Release(); 26 27 BOOL Init ( void ); 28 s32 EnumDevices ( HIO2EnumCallback callback, void* param ); 29 HIO2Handle Open ( HIO2DevicePath pathName, HIO2ReceiveCallback callback, HIO2NotifyCallback notify, void* param); 30 BOOL Close ( HIO2Handle h ); 31 BOOL ReadMailbox ( HIO2Handle h, u32* mail ); 32 BOOL WriteMailbox ( HIO2Handle h, u32 mail ); 33 BOOL Read ( HIO2Handle h, u32 addr, void* buffer, s32 size ); 34 BOOL Write ( HIO2Handle h, u32 addr, const void* buffer, s32 size ); 35 BOOL ReadAsync ( HIO2Handle h, u32 addr, void* buffer, s32 size, HIO2DmaCallback callback ); 36 BOOL WriteAsync ( HIO2Handle h, u32 addr, const void* buffer, s32 size, HIO2DmaCallback callback ); 37 BOOL ReadStatus ( HIO2Handle h, u32* status ); 38 void Exit ( void ); 39 HIO2Error GetLastError ( void ); 40 41 protected: 42 HIO2EnumDevicesType m_fncEnumDevices; 43 HIO2InitType m_fncInit; 44 HIO2OpenType m_fncOpen; 45 HIO2CloseType m_fncClose; 46 HIO2ReadMailboxType m_fncReadMailbox; 47 HIO2WriteMailboxType m_fncWriteMailbox; 48 HIO2ReadType m_fncRead; 49 HIO2WriteType m_fncWrite; 50 HIO2ReadAsyncType m_fncReadAsync; 51 HIO2WriteAsyncType m_fncWriteAsync; 52 HIO2ReadStatusType m_fncReadStatus; 53 HIO2ExitType m_fncExit; 54 HIO2GetLastErrorType m_fncGetLastError; 55 56 HINSTANCE m_hDll; 57 }; 58 59 // end of Hio2DllIf.h 60