50 lines
1.0 KiB
C++
Executable File
50 lines
1.0 KiB
C++
Executable File
#ifndef APE_IO_H
|
|
#define APE_IO_H
|
|
|
|
#ifndef FILE_BEGIN
|
|
#define FILE_BEGIN 0
|
|
#endif
|
|
|
|
#ifndef FILE_CURRENT
|
|
#define FILE_CURRENT 1
|
|
#endif
|
|
|
|
#ifndef FILE_END
|
|
#define FILE_END 2
|
|
#endif
|
|
|
|
class CIO
|
|
{
|
|
|
|
public:
|
|
|
|
//construction / destruction
|
|
CIO() { }
|
|
virtual ~CIO() { };
|
|
|
|
// open / close
|
|
virtual int Open(const wchar_t * pName) = 0;
|
|
virtual int Close() = 0;
|
|
|
|
// read / write
|
|
virtual int Read(void * pBuffer, unsigned int nBytesToRead, unsigned int * pBytesRead) = 0;
|
|
virtual int Write(const void * pBuffer, unsigned int nBytesToWrite, unsigned int * pBytesWritten) = 0;
|
|
|
|
// seek
|
|
virtual int Seek(int nDistance, unsigned int nMoveMode) = 0;
|
|
|
|
// creation / destruction
|
|
virtual int Create(const wchar_t * pName) = 0;
|
|
virtual int Delete() = 0;
|
|
|
|
// other functions
|
|
virtual int SetEOF() = 0;
|
|
|
|
// attributes
|
|
virtual int GetPosition() = 0;
|
|
virtual int GetSize() = 0;
|
|
virtual int GetName(wchar_t * pBuffer) = 0;
|
|
};
|
|
|
|
#endif // #ifndef APE_IO_H
|