dpns_setacl man page

DPNS_SETACL(3)              DPNS Library Functions              DPNS_SETACL(3)

[1mNAME[0m
      dpns_setacl - set DPNS directory/file access control lists

[1mSYNOPSIS[0m
      [1m#include <sys/types.h>[0m
      [1m#include "dpns_api.h"[0m

      [1mint dpns_setacl (const char *[4m[22mpath[24m[1m, int [4m[22mnentries[24m[1m, struct dpns_acl *[4m[22macl[24m[1m)[0m

[1mDESCRIPTION[0m
      [1mdpns_setacl  [22msets the Access Control List associated with a DPNS direc-
      tory/file.

      [4mpath[24m   specifies the logical pathname  relative  to  the  current  DPNS
             directory or the full DPNS pathname.

      [4mnentries[0m
             specifies the number of entries present in the buffer.

      [4macl[24m    is  a pointer to an array of dpns_acl structures provided by the
             application.

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

      [4ma_type[24m 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.

      [4ma_id[24m   is the user or group numeric id.

      [4ma_perm[24m is the access permission in numeric form obtained by OR'ing some
             of the bits S_IROTH, S_IWOTH, S_IXOTH.

      The effective user ID of the process must match the owner of  the  file
      or the caller must have ADMIN privilege in the Cupv database.

[1mRETURN VALUE[0m
      This  routine  returns  0  if the operation was successful or -1 if the
      operation failed. In the latter case, [1mserrno [22mis set appropriately.

[1mERRORS[0m
      [1mEPERM        [22mThe effective user ID does not match the owner of the file
                   and  the  caller does not have ADMIN privilege in the Cupv
                   database.

      [1mENOENT       [22mThe named file/directory does not exist or is a null path-
                   name.

      [1mEACCES       [22mSearch  permission  is  denied  on a component of the [4mpath[0m
                   prefix.

      [1mEFAULT       [4m[22mpath[24m or [4macl[24m is a NULL pointer.

      [1mENOTDIR      [22mA component of [4mpath[24m prefix is not a directory.

      [1mEINVAL       [4m[22mnentries[24m is not greater  than  zero  or  is  greater  than
                   CA_MAXACLENTRIES or the ACL entries are not valid.

      [1mENOSPC       [22mThe name server database is full.

      [1mENAMETOOLONG [22mThe  length of [4mpath[24m exceeds [1mCA_MAXPATHLEN [22mor the length of
                   a [4mpath[24m component exceeds [1mCA_MAXNAMELEN[22m.

      [1mSENOSHOST    [22mHost unknown.

      [1mSENOSSERV    [22mService unknown.

      [1mSECOMERR     [22mCommunication error.

      [1mENSNACT      [22mName server is not running or is being shutdown.

[1mSEE ALSO[0m
      [1mCastor_limits(4)[22m, [1mdpns_chdir(3)[22m, [1mdpns_chmod(3)[22m, [1mdpns-setacl(1)[0m

[1mAUTHOR[0m
      [1mLCG Grid Deployment [22mTeam

DPNS                     $Date: 2003/04/08 06:15:02 $           DPNS_SETACL(3)