#include <XrdOfs.hh>
Definition at line 62 of file XrdOfs.hh.
◆ XrdOfsDirectory()
XrdOfsDirectory::XrdOfsDirectory |
( |
XrdOucErrInfo & |
eInfo, |
|
|
const char * |
user |
|
) |
| |
|
inline |
Definition at line 80 of file XrdOfs.hh.
XrdSfsDirectory(const char *user=0, int MonID=0)
◆ ~XrdOfsDirectory()
virtual XrdOfsDirectory::~XrdOfsDirectory |
( |
| ) |
|
|
inlinevirtual |
◆ autoStat()
int XrdOfsDirectory::autoStat |
( |
struct stat * |
buf | ) |
|
|
virtual |
Set the stat() buffer where stat information is to be placed corresponding to the directory entry returned by nextEntry().
- Returns
- If supported, SFS_OK should be returned. If not supported, then SFS_ERROR should be returned with error.code set to ENOTSUP.
- Note
- : When autoStat() is in effect, directory entries that have been deleted from the target directory are quietly skipped.
Reimplemented from XrdSfsDirectory.
Definition at line 402 of file XrdOfs.cc.
429 if ((retc =
dp->
StatRet(buf)))
return retc;
static int Emsg(const char *, XrdOucErrInfo &, int, const char *x, XrdOfsHandle *hP)
virtual int StatRet(struct stat *buff)
References dp, XrdOfs::Emsg(), EPNAME, XrdSfsDirectory::error, SFS_ERROR, SFS_OK, XrdOssDF::StatRet(), and XrdOfsFS.
◆ close()
int XrdOfsDirectory::close |
( |
| ) |
|
|
virtual |
Close the directory.
- Returns
- One of SFS_OK or SFS_ERROR
Implements XrdSfsDirectory.
Definition at line 359 of file XrdOfs.cc.
#define XTRACE(act, target, x)
virtual int Close(long long *retsz=0)=0
References XrdOssDF::Close(), closedir(), dp, XrdOfs::Emsg(), EPNAME, XrdSfsDirectory::error, fname, SFS_ERROR, SFS_OK, XrdOfsFS, and XTRACE.
Referenced by ~XrdOfsDirectory().
◆ copyError()
◆ FName()
const char* XrdOfsDirectory::FName |
( |
| ) |
|
|
inlinevirtual |
◆ nextEntry()
const char * XrdOfsDirectory::nextEntry |
( |
| ) |
|
|
virtual |
Get the next directory entry.
- Returns
- A null terminated string with the directory name. Normally, "." ".." are not returned. If a null pointer is returned then if this is due to an error, error.code should contain errno. Otherwise, error.code should contain zero to indicate that no more entries exist (i.e. end of list). See autoStat() for additional caveats.
Implements XrdSfsDirectory.
Definition at line 299 of file XrdOfs.cc.
352 return (
const char *)(
dname);
struct dirent * readdir(DIR *dirp)
virtual int Readdir(char *buff, int blen)
void clear()
Reset data and error information to null. Any appenadges are released.
References atEOF, XrdOucErrInfo::clear(), dname, dp, XrdOfs::Emsg(), EPNAME, XrdSfsDirectory::error, fname, XrdOssDF::Readdir(), readdir(), XrdOfsFS, and XTRACE.
◆ open()
int XrdOfsDirectory::open |
( |
const char * |
path, |
|
|
const XrdSecEntity * |
client, |
|
|
const char * |
opaque = 0 |
|
) |
| |
|
virtual |
Open a directory.
- Parameters
-
path | - Pointer to the path of the directory to be opened. |
client | - Client's identify (see common description). |
opaque | - path's CGI information (see common description). |
- Returns
- One of SFS_OK, SFS_ERROR, SFS_REDIRECT, ir SFS_STALL
Implements XrdSfsDirectory.
Definition at line 239 of file XrdOfs.cc.
284 else if (!(retc =
dp->
Opendir(dir_path, Open_Env)))
285 {
fname = strdup(dir_path);
288 else {
delete dp;
dp = 0;}
#define AUTHORIZE(usr, env, optype, action, pathp, edata)
DIR * opendir(const char *path)
virtual int Locate(XrdOucErrInfo &Resp, const char *path, int flags, XrdOucEnv *Info=0)=0
static int fsError(XrdOucErrInfo &myError, int rc)
virtual int Opendir(const char *path, XrdOucEnv &env)
virtual XrdOssDF * newDir(const char *tident)=0
References AOP_Readdir, AUTHORIZE, dp, XrdOfs::Emsg(), EPNAME, XrdSfsDirectory::error, XrdOfs::Finder, fname, XrdOfs::fsError(), XrdCmsClient::isRemote(), XrdCmsClient::Locate(), XrdOss::newDir(), opendir(), XrdOssDF::Opendir(), SFS_O_META, SFS_O_RDONLY, SFS_OK, tident, XrdOfsFS, XrdOfsOss, and XTRACE.
◆ atEOF
int XrdOfsDirectory::atEOF |
|
protected |
◆ dname
char XrdOfsDirectory::dname[MAXNAMLEN] |
|
protected |
◆ dp
◆ fname
char* XrdOfsDirectory::fname |
|
protected |
◆ tident
const char* XrdOfsDirectory::tident |
|
protected |
The documentation for this class was generated from the following files: