1251881Speter#ifndef APE_IO_H 2251881Speter#define APE_IO_H 3251881Speter 4251881Speter#ifndef FILE_BEGIN 5251881Speter #define FILE_BEGIN 0 6251881Speter#endif 7251881Speter 8251881Speter#ifndef FILE_CURRENT 9251881Speter #define FILE_CURRENT 1 10251881Speter#endif 11251881Speter 12251881Speter#ifndef FILE_END 13251881Speter #define FILE_END 2 14251881Speter#endif 15251881Speter 16251881Speterclass CIO 17251881Speter{ 18251881Speter 19251881Speterpublic: 20251881Speter 21251881Speter //construction / destruction 22251881Speter CIO() { } 23251881Speter virtual ~CIO() { }; 24251881Speter 25251881Speter // open / close 26251881Speter virtual int Open(const char* pName) = 0; 27251881Speter virtual int Close() = 0; 28251881Speter 29251881Speter // read / write 30251881Speter virtual int Read(void * pBuffer, unsigned int nBytesToRead, unsigned int * pBytesRead) = 0; 31251881Speter virtual int Write(const void * pBuffer, unsigned int nBytesToWrite, unsigned int * pBytesWritten) = 0; 32251881Speter 33251881Speter // seek 34251881Speter virtual int Seek(int nDistance, unsigned int nMoveMode) = 0; 35251881Speter 36251881Speter // creation / destruction 37251881Speter virtual int Create(const char* pName) = 0; 38251881Speter virtual int Delete() = 0; 39251881Speter 40251881Speter // other functions 41251881Speter virtual int SetEOF() = 0; 42251881Speter 43251881Speter // attributes 44251881Speter virtual int GetPosition() = 0; 45251881Speter virtual int GetSize() = 0; 46251881Speter virtual int GetName(char* pBuffer) = 0; 47251881Speter}; 48251881Speter 49251881Speter#endif // #ifndef APE_IO_H 50251881Speter