xrootd
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
XrdDigDirectory Class Reference

#include <XrdDigFS.hh>

Inheritance diagram for XrdDigDirectory:
Inheritance graph
[legend]
Collaboration diagram for XrdDigDirectory:
Collaboration graph
[legend]

Public Member Functions

int open (const char *dirName, const XrdSecClientName *client=0, const char *opaque=0)
 
const char * nextEntry ()
 
int close ()
 
const char * FName ()
 
int autoStat (struct stat *buf)
 
 XrdDigDirectory (char *user=0, int monid=0)
 
 ~XrdDigDirectory ()
 
- Public Member Functions inherited from XrdSfsDirectory
virtual int open (const char *path, const XrdSecEntity *client=0, const char *opaque=0)=0
 
 XrdSfsDirectory (const char *user=0, int MonID=0)
 
 XrdSfsDirectory (XrdSfsDirectory &wrapD)
 
 XrdSfsDirectory (XrdOucErrInfo &eInfo)
 
virtual ~XrdSfsDirectory ()
 Destructor.
 

Private Attributes

DIR * dh
 
char * fname
 
struct statsBuff
 
struct dirent * d_pnt
 
int dirFD
 
bool ateof
 
bool isProc
 
bool isBase
 
bool noTag
 
struct { 
 
   struct dirent   d_entry 
 
   union { 
 
      const char *   aEnt [aESZ
 
      char   nbf [MAXNAMLEN+MAXPATHLEN] 
 
      char   pad [MAXNAMLEN] 
 
   }  
 
dirent_full 
 

Static Private Attributes

static const int aESZ = (MAXNAMLEN+MAXPATHLEN)/sizeof(const char *)
 

Additional Inherited Members

- Public Attributes inherited from XrdSfsDirectory
XrdOucErrInfoerror
 

Constructor & Destructor Documentation

◆ XrdDigDirectory()

XrdDigDirectory::XrdDigDirectory ( char *  user = 0,
int  monid = 0 
)
inline

◆ ~XrdDigDirectory()

XrdDigDirectory::~XrdDigDirectory ( )
inline

References close(), and dh.

Member Function Documentation

◆ autoStat()

int XrdDigDirectory::autoStat ( struct stat buf)
inlinevirtual

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.

References sBuff, and SFS_OK.

◆ close()

int XrdDigDirectory::close ( )
virtual

Close the directory.

Returns
One of SFS_OK or SFS_ERROR

Implements XrdSfsDirectory.

Referenced by ~XrdDigDirectory().

◆ FName()

const char * XrdDigDirectory::FName ( )
inlinevirtual

Get the directory path.

Returns
Null terminated string of the path used in open().

Implements XrdSfsDirectory.

References fname.

◆ nextEntry()

const char * XrdDigDirectory::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.

◆ open()

int XrdDigDirectory::open ( const char *  dirName,
const XrdSecClientName client = 0,
const char *  opaque = 0 
)

Member Data Documentation

◆ aEnt

const char* XrdDigDirectory::aEnt[aESZ]

◆ aESZ

const int XrdDigDirectory::aESZ = (MAXNAMLEN+MAXPATHLEN)/sizeof(const char *)
staticprivate

◆ ateof

bool XrdDigDirectory::ateof
private

◆ d_entry

struct dirent XrdDigDirectory::d_entry

◆ d_pnt

struct dirent* XrdDigDirectory::d_pnt
private

◆ dh

DIR* XrdDigDirectory::dh
private

Referenced by ~XrdDigDirectory().

◆ [struct]

struct { ... } XrdDigDirectory::dirent_full

◆ dirFD

int XrdDigDirectory::dirFD
private

◆ fname

char* XrdDigDirectory::fname
private

Referenced by FName().

◆ isBase

bool XrdDigDirectory::isBase
private

◆ isProc

bool XrdDigDirectory::isProc
private

◆ nbf

char XrdDigDirectory::nbf[MAXNAMLEN+MAXPATHLEN]

◆ noTag

bool XrdDigDirectory::noTag
private

◆ pad

char XrdDigDirectory::pad[MAXNAMLEN]

◆ sBuff

struct stat* XrdDigDirectory::sBuff
private

Referenced by autoStat().


The documentation for this class was generated from the following file: