Provided by: libdpm-dev_1.13.0-1_amd64 bug

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