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


       rfio_chmod, rfio_fchmod - change access mode of a directory/file


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

       int rfio_chmod (const char *path, mode_t mode);
       int rfio_fchmod (int s, mode_t mode);


       rfio_chmod  sets  the access permission portion of the mode of a directory/file to the bit
       pattern in mode.

       rfio_fchmod is identical to rfio_chmod but works on the  file  descriptor  s  returned  by

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

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

              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 be super-user.
       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 is super-user.


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


       EPERM        The effective user ID does not match the owner of the file and is not  super-

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

       EBADF        s is not a valid file descriptor.

       EACCES       Search  permission  is  denied  on  a  component  of the path prefix or write
                    permission on the file itself is denied.

       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.




       LCG Grid Deployment Team