file.h
// Copyright (c) 2002 David Muse
// See the COPYING file for more information.
#ifndef RUDIMENTS_FILE_H
#define RUDIMENTS_FILE_H
#include <rudiments/private/fileincludes.h>
class fileprivate;
class RUDIMENTS_DLLSPEC file : public filedescriptor {
public:
file();
file(const file &f);
file &operator=(const file &f);
virtual ~file();
virtual bool open(const char *name, int32_t flags);
virtual bool open(const char *name,
int32_t flags,
mode_t perms);
virtual bool create(const char *name, mode_t perms);
virtual char *getContents();
virtual ssize_t getContents(unsigned char *buffer,
size_t buffersize);
virtual bool truncate() const;
virtual bool truncate(off64_t length) const;
virtual off64_t getCurrentPosition() const;
virtual off64_t setPositionRelativeToBeginning(
off64_t offset) const;
virtual off64_t setPositionRelativeToCurrent(
off64_t offset) const;
virtual off64_t setPositionRelativeToEnd(off64_t offset) const;
virtual bool tryLockFile(int16_t type) const;
virtual bool lockFile(int16_t type) const;
virtual bool checkLockFile(int16_t type,
int16_t *conftype,
int16_t *confwhence,
off64_t *confstart,
off64_t *conflen) const;
virtual bool unlockFile() const;
virtual bool tryLockRegion(int16_t type,
off64_t start,
off64_t len) const;
virtual bool lockRegion(int16_t type,
off64_t start,
off64_t len) const;
virtual bool checkLockRegion(int16_t type,
off64_t start,
off64_t len,
int16_t *conftype,
int16_t *confwhence,
off64_t *confstart,
off64_t *conflen) const;
virtual bool unlockRegion(off64_t start,
off64_t len) const;
virtual bool tryLockFromCurrent(int16_t type,
off64_t len) const;
virtual bool tryLockFromCurrent(int16_t type,
off64_t start,
off64_t len) const;
virtual bool lockFromCurrent(int16_t type,
off64_t len) const;
virtual bool lockFromCurrent(int16_t type,
off64_t start,
off64_t len) const;
virtual bool checkLockFromCurrent(int16_t type,
off64_t len,
int16_t *conftype,
int16_t *confwhence,
off64_t *confstart,
off64_t *conflen) const;
virtual bool checkLockFromCurrent(int16_t type,
off64_t start,
off64_t len,
int16_t *conftype,
int16_t *confwhence,
off64_t *confstart,
off64_t *conflen) const;
virtual bool unlockFromCurrent(off64_t len) const;
virtual bool unlockFromCurrent(off64_t start,
off64_t len) const;
virtual bool tryLockFromEnd(int16_t type,
off64_t len) const;
virtual bool tryLockFromEnd(int16_t type,
off64_t start,
off64_t len) const;
virtual bool lockFromEnd(int16_t type, off64_t len) const;
virtual bool lockFromEnd(int16_t type,
off64_t start,
off64_t len) const;
virtual bool checkLockFromEnd(int16_t type,
off64_t len,
int16_t *conftype,
int16_t *confwhence,
off64_t *confstart,
off64_t *conflen) const;
virtual bool checkLockFromEnd(int16_t type,
off64_t start,
off64_t len,
int16_t *conftype,
int16_t *confwhence,
off64_t *confstart,
off64_t *conflen) const;
virtual bool unlockFromEnd(off64_t len) const;
virtual bool unlockFromEnd(off64_t start,
off64_t len) const;
virtual bool tryLockRemainder(int16_t type,
off64_t start) const;
virtual bool lockRemainder(int16_t type,
off64_t start) const;
virtual bool checkLockRemainder(int16_t type,
off64_t start,
int16_t *conftype,
int16_t *confwhence,
off64_t *confstart,
off64_t *conflen) const;
virtual bool unlockRemainder(off64_t start) const;
virtual bool tryLockRemainderFromCurrent(int16_t type) const;
virtual bool tryLockRemainderFromCurrent(int16_t type,
off64_t start) const;
virtual bool lockRemainderFromCurrent(int16_t type) const;
virtual bool lockRemainderFromCurrent(int16_t type,
off64_t start) const;
virtual bool checkLockRemainderFromCurrent(
int16_t type,
int16_t *conftype,
int16_t *confwhence,
off64_t *confstart,
off64_t *conflen) const;
virtual bool checkLockRemainderFromCurrent(
int16_t type,
off64_t start,
int16_t *conftype,
int16_t *confwhence,
off64_t *confstart,
off64_t *conflen) const;
virtual bool unlockRemainderFromCurrent() const;
virtual bool unlockRemainderFromCurrent(off64_t start) const;
virtual bool tryLockRemainderFromEnd(int16_t type) const;
virtual bool tryLockRemainderFromEnd(int16_t type,
off64_t start) const;
virtual bool lockRemainderFromEnd(int16_t type) const;
virtual bool lockRemainderFromEnd(int16_t type,
off64_t start) const;
virtual bool checkLockRemainderFromEnd(
int16_t type,
int16_t *conftype,
int16_t *confwhence,
off64_t *confstart,
off64_t *conflen) const;
virtual bool checkLockRemainderFromEnd(
int16_t type,
off64_t start,
int16_t *conftype,
int16_t *confwhence,
off64_t *confstart,
off64_t *conflen) const;
virtual bool unlockRemainderFromEnd() const;
virtual bool unlockRemainderFromEnd(off64_t start) const;
virtual bool sequentialAccess(off64_t start,
size_t len) const;
virtual bool randomAccess(off64_t start, size_t len) const;
virtual bool onlyOnce(off64_t start, size_t len) const;
virtual bool willNeed(off64_t start, size_t len) const;
virtual bool wontNeed(off64_t start, size_t len) const;
virtual bool normalAccess(off64_t start, size_t len) const;
virtual bool reserve(off64_t start, size_t len) const;
virtual bool sync() const;
virtual bool dataSync() const;
virtual void dontGetCurrentPropertiesOnOpen();
virtual void getCurrentPropertiesOnOpen();
virtual bool getCurrentProperties();
virtual mode_t getPermissions() const;
virtual uid_t getOwnerUserId() const;
virtual gid_t getOwnerGroupId() const;
virtual off64_t getSize() const;
virtual blksize_t getBlockSize() const;
virtual blkcnt_t getBlockCount() const;
virtual int32_t isSocket() const;
virtual int32_t isSymbolicLink() const;
virtual int32_t isRegularFile() const;
virtual int32_t isBlockDevice() const;
virtual int32_t isDirectory() const;
virtual int32_t isCharacterDevice() const;
virtual int32_t isFifo() const;
virtual time_t getLastAccessTime() const;
virtual time_t getLastModificationTime() const;
virtual time_t getLastChangeTime() const;
virtual dev_t getDevice() const;
virtual dev_t getDeviceType() const;
virtual uint64_t getInode() const;
virtual nlink_t getNumberOfHardLinks() const;
virtual bool setPermissions(mode_t perms) const;
virtual bool changeOwner(const char *newuser,
const char *newgroup) const;
virtual bool changeOwner(uid_t uid, gid_t gid) const;
virtual bool canChangeOwner() const;
virtual int64_t maxLinks() const;
virtual void *getInternalFileStatisticsStructure();
static bool createFile(const char *name, mode_t perms);
static bool createFifo(const char *filename, mode_t perms);
static int32_t createTemporaryFile(char *templatefilename);
static int32_t createTemporaryFile(char *templatefilename,
mode_t perms);
static bool createHardLink(const char *oldpath,
const char *newpath);
static bool createSymbolicLink(const char *oldpath,
const char *newpath);
static char *resolveSymbolicLink(const char *filename);
static bool rename(const char *oldpath,
const char *newpath);
static bool remove(const char *filename);
static bool truncate(const char *filename);
static bool truncate(const char *filename, off64_t length);
static char *getContents(const char *name);
static ssize_t getContents(const char *name,
unsigned char *buffer,
size_t buffersize);
static bool exists(const char *filename);
static bool readable(const char *filename);
static bool writeable(const char *filename);
static bool executable(const char *filename);
static bool accessible(const char *filename, int32_t mode);
static bool getLastChangeTime(const char *filename,
time_t *ctime);
static bool setPermissions(const char *filename,
mode_t perms);
static bool changeOwner(const char *filename,
const char *newuser,
const char *newgroup);
static bool changeOwner(const char *filename,
uid_t uid, gid_t gid);
static bool canChangeOwner(const char *filename);
static bool setLastAccessTime(const char *filename,
time_t lastaccesstime);
static bool setLastModificationTime(const char *filename,
time_t lastmodtime);
static bool setLastAccessAndModificationTimes(
const char *filename,
time_t lastaccesstime,
time_t lastmodtime);
static bool setLastAccessAndModificationTimes(
const char *filename);
static char *dirname(const char *filename);
static char *basename(const char *filename);
static char *basename(const char *filename,
const char *suffix);
static char *eightDotThree(const char *filename);
static key_t generateKey(const char *filename, int32_t id);
static int64_t maxLinks(const char *filename);
#include <rudiments/private/file.h>
};
#endif
file
Definition: file.h:21
filedescriptor::operator=
filedescriptor & operator=(const filedescriptor &f)
filedescriptor
Definition: filedescriptor.h:14