Rudiments
/home/dmuse/src/rudiments/include/rudiments/private/file.h
00001 // Copyright (c) 2002 David Muse
00002 // See the COPYING file for more information
00003 
00004         protected:
00005                 virtual int32_t openInternal(const char *name, int32_t flags);
00006                 virtual int32_t openInternal(const char *name,
00007                                                 int32_t flags, mode_t perms);
00008 
00009         private:
00010                 off64_t lseek(off64_t offset, int32_t whence) const;
00011                 bool    lock(int32_t method, int16_t type, int16_t whence,
00012                                         off64_t start, off64_t len) const;
00013                 bool    checkLock(int16_t type,
00014                                         int16_t whence,
00015                                         off64_t start,
00016                                         off64_t len,
00017                                         int16_t *conftype,
00018                                         int16_t *confwhence,
00019                                         off64_t *confstart,
00020                                         off64_t *conflen) const;
00021                 bool    unlock(int16_t whence,
00022                                         off64_t start, off64_t len) const;
00023 
00024                 bool    setAttribute(const char *name,
00025                                                 const void *value,
00026                                                 size_t size,
00027                                                 int32_t flags) const;
00028                 const char * const      *attributeArray(const char *buffer,
00029                                                         size_t size) const;
00030 
00031                 void    fileClone(const file &f);
00032 
00033 
00034                         bool    posixFadvise(off64_t offset, off64_t len,
00035                                                         int32_t advice) const;
00036                 static  long    pathConf(const char *path, int32_t name);
00037                         long    fpathConf(int32_t name) const;
00038 
00039                 fileprivate     *pvt;