xrootd
Main Page
Namespaces
Classes
Files
File List
File Members
src
XrdAcc
XrdAccAuthorize.hh
Go to the documentation of this file.
1
#ifndef __ACC_AUTHORIZE__
2
#define __ACC_AUTHORIZE__
3
/******************************************************************************/
4
/* */
5
/* X r d A c c A u t h o r i z e . h h */
6
/* */
7
/* (c) 2000 by the Board of Trustees of the Leland Stanford, Jr., University */
8
/* All Rights Reserved */
9
/* Produced by Andrew Hanushevsky for Stanford University under contract */
10
/* DE-AC02-76-SFO0515 with the Department of Energy */
11
/* */
12
/* This file is part of the XRootD software suite. */
13
/* */
14
/* XRootD is free software: you can redistribute it and/or modify it under */
15
/* the terms of the GNU Lesser General Public License as published by the */
16
/* Free Software Foundation, either version 3 of the License, or (at your */
17
/* option) any later version. */
18
/* */
19
/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
20
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
21
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
22
/* License for more details. */
23
/* */
24
/* You should have received a copy of the GNU Lesser General Public License */
25
/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
26
/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
27
/* */
28
/* The copyright holder's institutional names and contributor's names may not */
29
/* be used to endorse or promote products derived from this software without */
30
/* specific prior written permission of the institution or contributor. */
31
/******************************************************************************/
32
33
#include "
XrdAcc/XrdAccPrivs.hh
"
34
35
/******************************************************************************/
36
/* A c c e s s _ O p e r a t i o n */
37
/******************************************************************************/
38
40
41
enum
Access_Operation
{
AOP_Any
= 0,
42
AOP_Chmod
= 1,
43
AOP_Chown
= 2,
44
AOP_Create
= 3,
45
AOP_Delete
= 4,
46
AOP_Insert
= 5,
47
AOP_Lock
= 6,
48
AOP_Mkdir
= 7,
49
AOP_Read
= 8,
50
AOP_Readdir
= 9,
51
AOP_Rename
= 10,
52
AOP_Stat
= 11,
53
AOP_Update
= 12,
54
AOP_LastOp
= 12
// For limits testing
55
};
56
57
/******************************************************************************/
58
/* X r d A c c A u t h o r i z e */
59
/******************************************************************************/
60
61
class
XrdOucEnv
;
62
class
XrdSecEntity
;
63
64
class
XrdAccAuthorize
65
{
66
public
:
67
68
//------------------------------------------------------------------------------
83
//------------------------------------------------------------------------------
84
85
virtual
XrdAccPrivs
Access
(
const
XrdSecEntity
*Entity,
86
const
char
*path,
87
const
Access_Operation
oper,
88
XrdOucEnv
*Env=0) = 0;
89
90
//------------------------------------------------------------------------------
106
//------------------------------------------------------------------------------
107
108
virtual
int
Audit
(
const
int
accok,
109
const
XrdSecEntity
*Entity,
110
const
char
*path,
111
const
Access_Operation
oper,
112
XrdOucEnv
*Env=0) = 0;
113
114
//------------------------------------------------------------------------------
122
//------------------------------------------------------------------------------
123
124
virtual
int
Test
(
const
XrdAccPrivs
priv,
125
const
Access_Operation
oper) = 0;
126
127
//------------------------------------------------------------------------------
129
//------------------------------------------------------------------------------
130
131
XrdAccAuthorize
() {}
132
133
//------------------------------------------------------------------------------
135
//------------------------------------------------------------------------------
136
137
virtual
~XrdAccAuthorize
() {}
138
};
139
140
/******************************************************************************/
141
/* X r d A c c A u t h o r i z e O b j e c t */
142
/******************************************************************************/
143
144
//------------------------------------------------------------------------------
159
//------------------------------------------------------------------------------
160
166
//------------------------------------------------------------------------------
172
//------------------------------------------------------------------------------
173
183
#endif
Generated by
1.8.3.1