Annotation of elwix/tools/oldlzma/SRC/Common/C_FileIO.h, revision 1.1.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>