Provided by: liblfc-dev_1.10.0-2_amd64 bug

NAME

       lfc_chmod - change access mode of a LFC directory/file in the name server

SYNOPSIS

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

       int lfc_chmod (const char *path, mode_t mode)

DESCRIPTION

       lfc_chmod  sets  the  access permission portion of the mode of a LFC directory/file in the
       name server to the bit pattern in mode.

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

       mode   is   constructed  by  OR'ing  the  bits  defined  in  <sys/stat.h>  under  Unix  or
              "statbits.h" under Windows/NT:

              S_ISUID   0004000         set user ID on execution
              S_ISGID   0002000         set group ID on execution
              S_ISVTX   0001000         sticky bit
              S_IRUSR   0000400         read by owner
              S_IWUSR   0000200         write by owner
              S_IXUSR   0000100         execute/search by owner
              S_IRGRP   0000040         read by group
              S_IWGRP   0000020         write by group
              S_IXGRP   0000010         execute/search by group
              S_IROTH   0000004         read by others
              S_IWOTH   0000002         write by others
              S_IXOTH   0000001         execute/search by others

       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.  If a directory is writable and has the sticky
       bit set, files/directories within that directory can be removed or renamed only if:

              the effective user ID of the requestor matches the owner ID of the file or

              the effective user ID of the requestor matches the owner ID of the directory or

              the file is writable by the requestor or

              the requestor has ADMIN privilege in the Cupv database.

RETURN VALUE

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

ERRORS

       EPERM        The  effective  user  ID  does not match the owner of the file and the caller
                    does not have ADMIN privilege in the Cupv database.

       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.

       ENOTDIR      A component of path prefix is not a directory.

       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), lfc_chdir(3), Cupvlist(1)

AUTHOR

       LCG Grid Deployment Team