xrootd
|
#include "XrdAcc/XrdAccPrivs.hh"
Go to the source code of this file.
Classes | |
class | XrdAccAuthorize |
Typedefs | |
typedef XrdAccAuthorize *(* | XrdAccAuthorizeObject_t )(XrdSysLogger *lp, const char *cfn, const char *parm) |
typedef XrdAccAuthorize *(* | XrdAccAuthorizeObjAdd_t )(XrdSysLogger *lp, const char *cfn, const char *parm, XrdOucEnv *envP, XrdAccAuthorize *accP) |
Enumerations | |
enum | Access_Operation { AOP_Any = 0, AOP_Chmod = 1, AOP_Chown = 2, AOP_Create = 3, AOP_Delete = 4, AOP_Insert = 5, AOP_Lock = 6, AOP_Mkdir = 7, AOP_Read = 8, AOP_Readdir = 9, AOP_Rename = 10, AOP_Stat = 11, AOP_Update = 12, AOP_LastOp = 12 } |
The following are supported operations. More... | |
typedef XrdAccAuthorize*(* XrdAccAuthorizeObjAdd_t)(XrdSysLogger *lp, const char *cfn, const char *parm, XrdOucEnv *envP, XrdAccAuthorize *accP) |
extern "C" XrdAccAuthorize *XrdAccAuthorizeObject(XrdSysLogger *lp, const char *cfn, const char *parm) {...}Add an authorization object as a wrapper to the existing object.
XrdAccAuthorizeObjAdd() is an extern "C" function that is called to obtain an instance of the auth object that should wrap the existing object. The wrapper becomes the actual authorization object. The wrapper must be in the plug-in shared library, it is passed additional parameters. All the following extern symbols must be defined at file level!
lp | -> XrdSysLogger to be tied to an XrdSysError object for messages |
cfn | -> The name of the configuration file |
parm | -> Parameters specified on the authlib directive. If none it is zero. |
envP | -> Environmental information and may be nil. |
accP | -> to the existing authorization object. |
typedef XrdAccAuthorize*(* XrdAccAuthorizeObject_t)(XrdSysLogger *lp, const char *cfn, const char *parm) |
Obtain an authorization object.
XrdAccAuthorizeObject() is an extern "C" function that is called to obtain an instance of the auth object that will be used for all subsequent authorization decisions. It must be defined in the plug-in shared library. All the following extern symbols must be defined at file level!
lp | -> XrdSysLogger to be tied to an XrdSysError object for messages |
cfn | -> The name of the configuration file |
parm | -> Parameters specified on the authlib directive. If none it is zero. |
enum Access_Operation |
The following are supported operations.
Enumerator | |
---|---|
AOP_Any |
Special for getting privs. |
AOP_Chmod |
chmod() |
AOP_Chown |
chown() |
AOP_Create |
open() with create |
AOP_Delete |
rm() or rmdir() |
AOP_Insert |
mv() for target |
AOP_Lock |
n/a |
AOP_Mkdir | |
AOP_Read |
open() r/o, prepare() |
AOP_Readdir | |
AOP_Rename |
mv() for source |
AOP_Stat |
exists(), stat() |
AOP_Update |
open() r/w or append |
AOP_LastOp |