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