xrootd
|
#include <XrdSysFAttr.hh>
Public Member Functions | |
XrdSysFAttr () | |
Constructor & Destructor. More... | |
~XrdSysFAttr () | |
![]() | |
virtual int | Copy (const char *iPath, int iFD, const char *oPath, int oFD, const char *Aname=0) |
virtual XrdSysError * | SetMsgRoute (XrdSysError *errP) |
XrdSysXAttr () | |
Constructor and Destructor. More... | |
virtual | ~XrdSysXAttr () |
Static Public Member Functions | |
static void | SetPlugin (XrdSysXAttr *xaP, bool push=false) |
Static Public Attributes | |
static XrdSysXAttr * | Xat |
Private Member Functions | |
int | Del (const char *Aname, const char *Path, int fd=-1) |
The following methods are inherited from the base class as private methods. More... | |
void | Free (AList *aPL) |
int | Get (const char *Aname, void *Aval, int Avsz, const char *Path, int fd=-1) |
int | List (AList **aPL, const char *Path, int fd=-1, int getSz=0) |
int | Set (const char *Aname, const void *Aval, int Avsz, const char *Path, int fd=-1, int isNew=0) |
int | Diagnose (const char *Op, const char *Var, const char *Path, int ec) |
AList * | getEnt (const char *Path, int fd, const char *Aname, AList *aP, int *msP) |
Additional Inherited Members | |
![]() | |
XrdSysError * | Say |
This class provides an internal interface to handle extended file attributes either via a default implementation or an external plugin.
|
inline |
Constructor & Destructor.
|
inline |
|
privatevirtual |
The following methods are inherited from the base class as private methods.
Implements XrdSysXAttr.
|
private |
|
privatevirtual |
Release storage occupied by the Alist structure returned by List().
aPL | -> The first element of the AList structure. |
Implements XrdSysXAttr.
|
privatevirtual |
Get an attribute value and its size.
Aname | -> The attribute name. |
Aval | -> Buffer to receive the attribute value. |
Avsz | Length of the buffer in bytes. Only up to this number of bytes should be returned. However, should Avsz be zero the the size of the attribute value should be returned and the Aval argument should be ignored. |
Path | -> Path of the file whose attribute is to be fetched. |
fd | -> If >=0 is the file descriptor of the opened subject file. |
Implements XrdSysXAttr.
|
private |
|
privatevirtual |
Get all of the attributes associated with a file.
aPL | -> the pointer to hold the first element of AList. The storage occupied by the returned AList must be released by calling Free(). |
Path | -> Path of the file whose attributes are t be returned. |
fd | -> If >=0 is the file descriptor of the opened subject file. |
getSz | When != 0 then the size of the maximum attribute value should be returned. Otherwise, upon success 0 is returned. |
Implements XrdSysXAttr.
|
privatevirtual |
Set an attribute.
Aname | -> The attribute name. |
Aval | -> Buffer holding the attribute value. |
Avsz | Length of the buffer in bytes. This is the length of the attribute value which may contain binary data. |
Path | -> Path of the file whose attribute is to be set. |
fd | -> If >=0 is the file descriptor of the opened subject file. |
isnew | When !0 then the attribute must not exist (i.e. new). Otherwise, if it does exist, the value is replaced. In either case, if it does not exist it should be created. |
Implements XrdSysXAttr.
|
static |
Establish a plugin that is to replace the builtin extended attribute processing methods.
xaP | -> To an instance of an XrdSysXAttr object that is to replace the builtin object that processes extended attributes; |
push | True if this is a push request not a replace request. Push requests keep the current attribute processor. |
|
static |
Xat points to the plugin to be used for all operations. The methods inherited from XrdSysXAttr cannot be directly invoked. Instead, use XrdSysFAttr::Xat-><any xrdsysxattr="" public="" method>="">. All static methods here, however, can be directly invoked.
Referenced by XrdOucXAttr< XrdFrcXAttrCpy >::Del(), XrdOucXAttr< XrdFrcXAttrCpy >::Get(), and XrdOucXAttr< XrdFrcXAttrCpy >::Set().