Man Linux: Main Page and Category List

NAME

       dpns_getacl - get DPNS directory/file access control lists

SYNOPSIS

       #include <sys/types.h>
       #include "dpns_api.h"

       int dpns_getacl (const char *path, int nentries, struct dpns_acl *acl)

DESCRIPTION

       dpns_getacl  gets  the  Access  Control  List  associated  with  a DPNS
       directory/file.

       path   specifies the logical pathname  relative  to  the  current  DPNS
              directory or the full DPNS pathname.

       nentries
              specifies  the  number of entries that can fit in the buffer. If
              nentries is zero, the acl pointer can be NULL  and  the  routine
              just returns the actual number of entries.

       acl    is a pointer to an array of dpns_acl structures allocated by the
              application to receive the reply.

       struct dpns_acl {
               unsigned char   a_type;
               int             a_id;
               unsigned char   a_perm;
       };

       a_type is    the    ACL    type:    CNS_ACL_USER_OBJ,     CNS_ACL_USER,
              CNS_ACL_GROUP_OBJ, CNS_ACL_GROUP, CNS_ACL_MASK or CNS_ACL_OTHER.
              Types for default  entries  are  obtained  by  OR’ing  the  flag
              CNS_ACL_DEFAULT with one of the above types.

       a_id   is the user or group numeric id.

       a_perm is the access permission in numeric form obtained by OR’ing some
              of the bits S_IROTH, S_IWOTH, S_IXOTH.

RETURN VALUE

       This routine returns the actual number of entries if the operation  was
       successful or -1 if the operation failed. In the latter case, serrno is
       set appropriately.

ERRORS

       ENOENT       The named file/directory does  not  exist  or  is  a  null
                    pathname.

       EACCES       Search  permission  is  denied  on a component of the path
                    prefix.

       EFAULT       path is a NULL pointer  or  acl  is  a  NULL  pointer  and
                    nentries is greater than zero.

       ENOTDIR      A component of path prefix is not a directory.

       EINVAL       nentries is negative.

       ENOSPC       nentries  is  less  than the number of entries returned by
                    the server.

       ENAMETOOLONG The length of path exceeds CA_MAXPATHLEN or the length  of
                    a path component exceeds CA_MAXNAMELEN.

       SENOSHOST    Host unknown.

       SENOSSERV    Service unknown.

       SECOMERR     Communication error.

       ENSNACT      Name server is not running or is being shutdown.

SEE ALSO

       Castor_limits(4), dpns_chdir(3), dpns_chmod(3), dpns-getacl(1)

AUTHOR

       LCG Grid Deployment Team