lfc_setacl man page

LFC_SETACL(3)                LFC Library Functions               LFC_SETACL(3)

[1mNAME[0m
      lfc_setacl - set LFC directory/file access control lists

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

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

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

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

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

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

      struct lfc_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, [1mlfc_chdir(3)[22m, [1mlfc_chmod(3)[22m, [1mlfc-setacl(1)[0m

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

LFC                      $Date: 2003/04/08 06:15:02 $            LFC_SETACL(3)