1 #ifndef __XRD_DIGFS_H__
2 #define __XRD_DIGFS_H__
32 #include <sys/types.h>
49 int open(
const char *dirName,
51 const char *opaque = 0);
57 const char *
FName() {
return (
const char *)fname;}
63 dh((DIR *)0), fname(0), sBuff(0),
64 d_pnt(&dirent_full.d_entry),
65 dirFD(-1), ateof(false),
66 isProc(false), isBase(false) {}
81 static const int aESZ = (MAXNAMLEN+MAXPATHLEN)/
sizeof(
const char *);
83 struct {
struct dirent d_entry;
84 union {
const char *aEnt[aESZ];
85 char nbf[MAXNAMLEN+MAXPATHLEN];
101 int open(
const char *fileName,
105 const char *opaque = 0);
111 int fctl(
const int cmd,
118 {
if (Addr) Addr = 0; Size = 0;
return SFS_OK;}
146 int getCXinfo(
char cxtype[4],
int &cxrsz) {
return cxrsz = 0;}
150 oh(-1), fname(0), isProc(false) {}
181 const char *opaque = 0)
182 {
return Reject(
"chmod", Name, out_error);}
184 int exists(
const char *fileName,
188 const char *opaque = 0);
190 int fsctl(
const int cmd,
203 const char *opaque = 0)
204 {
return Reject(
"mkdir", dirName, out_error);}
213 const char *opaque = 0)
214 {
return Reject(
"rm", path, out_error);}
219 const char *opaque = 0)
220 {
return Reject(
"rmdir", dirName, out_error);}
223 const char *newFileName,
226 const char *opaqueO = 0,
227 const char *opaqueN = 0)
228 {
return Reject(
"rename", oldFileName, out_error);}
230 int stat(
const char *Name,
234 const char *opaque = 0);
240 const char *opaque = 0)
242 int rc =
stat(Name, &bfr, out_error, client);
243 if (!rc) mode = bfr.st_mode;
251 const char *opaque = 0)
252 {
return Reject(
"truncate", Name, out_error);}
int stat(const char *path, struct stat *buf)
long long XrdSfsFileOffset
int autoStat(struct stat *buf)
XrdDigDirectory(char *user=0, int monid=0)
int open(const char *dirName, const XrdSecClientName *client=0, const char *opaque=0)
int stat(const char *Name, mode_t &mode, XrdOucErrInfo &out_error, const XrdSecClientName *client=0, const char *opaque=0)
int getStats(char *buff, int blen)
const char * getVersion()
int prepare(XrdSfsPrep &pargs, XrdOucErrInfo &out_error, const XrdSecClientName *client=0)
XrdSfsFile * newFile(char *user=0, int monid=0)
int rename(const char *oldFileName, const char *newFileName, XrdOucErrInfo &out_error, const XrdSecClientName *client=0, const char *opaqueO=0, const char *opaqueN=0)
XrdSfsDirectory * newDir(char *user=0, int monid=0)
int fsctl(const int cmd, const char *args, XrdOucErrInfo &out_error, const XrdSecClientName *client=0)
int exists(const char *fileName, XrdSfsFileExistence &exists_flag, XrdOucErrInfo &out_error, const XrdSecClientName *client=0, const char *opaque=0)
int rem(const char *path, XrdOucErrInfo &out_error, const XrdSecClientName *client=0, const char *opaque=0)
int mkdir(const char *dirName, XrdSfsMode Mode, XrdOucErrInfo &out_error, const XrdSecClientName *client=0, const char *opaque=0)
int chmod(const char *Name, XrdSfsMode Mode, XrdOucErrInfo &out_error, const XrdSecClientName *client=0, const char *opaque=0)
static int Validate(const char *)
int remdir(const char *dirName, XrdOucErrInfo &out_error, const XrdSecClientName *client=0, const char *opaque=0)
int truncate(const char *Name, XrdSfsFileOffset fileOffset, XrdOucErrInfo &out_error, const XrdSecEntity *client=0, const char *opaque=0)
static int Emsg(const char *, XrdOucErrInfo &, int, const char *x, const char *y="")
int stat(const char *Name, struct stat *buf, XrdOucErrInfo &out_error, const XrdSecClientName *client=0, const char *opaque=0)
int write(XrdSfsAio *aioparm)
int open(const char *fileName, XrdSfsFileOpenMode openMode, mode_t createMode, const XrdSecClientName *client=0, const char *opaque=0)
int getMmap(void **Addr, off_t &Size)
int stat(struct stat *buf)
XrdDigFile(char *user=0, int monid=0)
int sync(XrdSfsAio *aiop)
int read(XrdSfsFileOffset fileOffset, XrdSfsXferSize preread_sz)
int getCXinfo(char cxtype[4], int &cxrsz)
XrdSfsXferSize write(XrdSfsFileOffset fileOffset, const char *buffer, XrdSfsXferSize buffer_size)
XrdSfsXferSize readv(XrdOucIOVec *readV, int readCount)
virtual int fctl(const int cmd, const char *args, XrdOucErrInfo &eInfo)=0
int truncate(XrdSfsFileOffset fileOffset)
virtual int fctl(const int cmd, const char *args, XrdOucErrInfo &eInfo)=0