Source code

Revision control

Copy as Markdown

Other Tools

// Common/C_FileIO.h↩
#ifndef __COMMON_C_FILEIO_H↩
#define __COMMON_C_FILEIO_H↩
#include <stdio.h>↩
#include <sys/types.h>↩
#include "MyTypes.h"
#include "MyWindows.h"
#ifdef _WIN32↩
#ifdef _MSC_VER↩
typedef size_t ssize_t;↩
#endif
#endif
namespace NC {↩
namespace NFile {↩
namespace NIO {↩
class CFileBase↩
{↩
protected:↩
int _handle;↩
bool OpenBinary(const char *name, int flags);↩
public:↩
CFileBase(): _handle(-1) {};↩
~CFileBase() { Close(); }↩
bool Close();↩
bool GetLength(UInt64 &length) const;↩
off_t Seek(off_t distanceToMove, int moveMethod) const;↩
};↩
class CInFile: public CFileBase↩
{↩
public:↩
bool Open(const char *name);↩
bool OpenShared(const char *name, bool shareForWrite);↩
ssize_t Read(void *data, size_t size);↩
};↩
class COutFile: public CFileBase↩
{↩
public:↩
bool Create(const char *name, bool createAlways);↩
bool Open(const char *name, DWORD creationDisposition);↩
ssize_t Write(const void *data, size_t size);↩
};↩
}}}↩
#endif