xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Typedefs | Enumerations
XrdAccAuthorize.hh File Reference
#include "XrdAcc/XrdAccPrivs.hh"
Include dependency graph for XrdAccAuthorize.hh:
This graph shows which files directly or indirectly include this file:

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 Documentation

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!

Parameters
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.
Returns
Success: A pointer to the authorization object. Failure: Null pointer which causes initialization to fail.
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!

Parameters
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.
Returns
Success: A pointer to the authorization object. Failure: Null pointer which causes initialization to fail.

Enumeration Type Documentation

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 

mkdir()

AOP_Read 

open() r/o, prepare()

AOP_Readdir 

opendir()

AOP_Rename 

mv() for source

AOP_Stat 

exists(), stat()

AOP_Update 

open() r/w or append

AOP_LastOp