Annotation of elwix/tools/oldlzma/SRC/Common/C_FileIO.h, revision 1.1
1.1 ! misho 1: // Common/C_FileIO.h
! 2:
! 3: #ifndef __COMMON_C_FILEIO_H
! 4: #define __COMMON_C_FILEIO_H
! 5:
! 6: #include <stdio.h>
! 7: #include <sys/types.h>
! 8:
! 9: #include "Types.h"
! 10: #include "MyWindows.h"
! 11:
! 12: namespace NC {
! 13: namespace NFile {
! 14: namespace NIO {
! 15:
! 16: class CFileBase
! 17: {
! 18: protected:
! 19: int _handle;
! 20: bool OpenBinary(const char *name, int flags);
! 21: public:
! 22: CFileBase(): _handle(-1) {};
! 23: ~CFileBase() { Close(); }
! 24: bool Close();
! 25: bool GetLength(UInt64 &length) const;
! 26: off_t Seek(off_t distanceToMove, int moveMethod) const;
! 27: };
! 28:
! 29: class CInFile: public CFileBase
! 30: {
! 31: public:
! 32: bool Open(const char *name);
! 33: ssize_t Read(void *data, size_t size);
! 34: };
! 35:
! 36: class COutFile: public CFileBase
! 37: {
! 38: public:
! 39: bool Create(const char *name, bool createAlways);
! 40: ssize_t Write(const void *data, size_t size);
! 41: };
! 42:
! 43: }}}
! 44:
! 45: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>