1DPNS_SETACL(3)                   DPNS      Library      Functions
2DPNS_SETACL(3)
3
4
5
6[1mNAME[0m
7       dpns_setacl ‐ set DPNS directory/file access control lists
8
9[1mSYNOPSIS[0m
10       [1m#include <sys/types.h>[0m
11       [1m#include "dpns_api.h"[0m
12
13       [1mint dpns_setacl (const  char  *[4m[22mpath[24m[1m,  int
14[4m[22mnentries[24m[1m, struct dpns_acl *[4m[22macl[24m[1m)[0m
15
16[1mDESCRIPTION[0m
17       [1mdpns_setacl  [22msets the Access Control List associat‐
18ed with a DPNS direc‐
19       tory/file.
20
21       [4mpath[24m   specifies the logical pathname  relative  to
22the  current  DPNS
23              directory or the full DPNS pathname.
24
25       [4mnentries[0m
26              specifies the number of entries present in the buf‐
27fer.
28
29       [4macl[24m    is  a pointer to an array of dpns_acl struc‐
30tures provided by the
31              application.
32
33       struct dpns_acl {
34               unsigned char   a_type;
35               int             a_id;
36               unsigned char   a_perm;
37       };
38
39       [4ma_type[24m  is     the     ACL     type:    CNS_ACL_US‐
40ER_OBJ,     CNS_ACL_USER,
41              CNS_ACL_GROUP_OBJ, CNS_ACL_GROUP,  CNS_ACL_MASK  or
42CNS_ACL_OTHER.
43              Types  for  default   entries   are   obtained   by
44OR’ing  the  flag
45              CNS_ACL_DEFAULT with one of the above types.
46
47       [4ma_id[24m   is the user or group numeric id.
48
49       [4ma_perm[24m is the access permission in numeric form ob‐
50tained by OR’ing some
51              of the bits S_IROTH, S_IWOTH, S_IXOTH.
52
53       The  effective user ID of the process must match the owner
54of  the  file
55       or the caller must have ADMIN privilege in the Cupv  data‐
56base.
57
58[1mRETURN VALUE[0m
59       This  routine  returns  0  if the operation was successful
60or ‐1 if the
61       operation failed. In the latter case, [1mserrno [22mis set
62appropriately.
63
64[1mERRORS[0m
65       [1mEPERM         [22mThe  effective user ID does not match
66the owner of the file
67                    and  the  caller does not have  ADMIN  privi‐
68lege in the Cupv
69                    database.
70
71       [1mENOENT        [22mThe named file/directory does not ex‐
72ist or is a null path‐
73                    name.
74
75       [1mEACCES       [22mSearch  permission  is  denied   on  a
76component of the [4mpath[0m
77                    prefix.
78
79       [1mEFAULT        [4m[22mpath[24m  or  [4macl[24m is a NULL
80pointer.
81
82       [1mENOTDIR      [22mA component of [4mpath[24m  prefix  is
83not a directory.
84
85       [1mEINVAL        [4m[22mnentries[24m  is not greater  than
86zero  or  is  greater  than
87                    CA_MAXACLENTRIES or the ACL entries  are  not
88valid.
89
90       [1mENOSPC       [22mThe name server database is full.
91
92       [1mENAMETOOLONG  [22mThe   length  of  [4mpath[24m exceeds
93[1mCA_MAXPATHLEN [22mor the length of
94                    a [4mpath[24m  component  exceeds  [1mCA_MAX‐
95NAMELEN[22m.
96
97       [1mSENOSHOST    [22mHost unknown.
98
99       [1mSENOSSERV    [22mService unknown.
100
101       [1mSECOMERR     [22mCommunication error.
102
103       [1mENSNACT      [22mName server is not running or is being
104shutdown.
105
106[1mSEE ALSO[0m
107       [1mCastor_limits(4)[22m,   [1mdpns_chdir(3)[22m,    [1mdp‐
108ns_chmod(3)[22m, [1mdpns‐setacl(1)[0m
109
110[1mAUTHOR[0m
111       [1mLCG Grid Deployment [22mTeam
112
113
114
115DPNS                        $Date:    2003/04/08    06:15:02    $
116DPNS_SETACL(3)
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
Impressum