Man Linux: Main Page and Category List

NAME

       gfs_chmod - change permissions of a file

SYNOPSIS

       #include <gfarm/gfarm.h>

       char *gfs_chmod (char * gfarm_url, mode_t mode);

DESCRIPTION

       gfs_chmod()   changes   the  mode  of  the  file  given  by  gfarm_url.
       Permission bit masks of mode are similar to ones of mode  parameter  to
       chmod(2), though only the least 9 bit are effective.

       An  executable file cannot be changed to a non-executable file and vice
       versa, unless the number of fragment of  the  file  is  only  one.   In
       detail, a file has multiple fragments with any execution bit should not
       be changed to that with no execution bit.  It is necessary to  have  at
       least one execution bit.  Similarly, a file has multiple fragments with
       no execution bit should not be changed to that with any execution  bit.

RETURN VALUES

       NULL   The function terminated successfully.

       GFARM_ERR_NO_MEMORY
              Insufficient memory was available.

       GFARM_ERR_AUTHENTICATION
              User   authentication  failed  when  connecting  to  gfmd(8)  or
              gfsd(8).

       GFARM_ERR_PERMISSION_DENIED
              The  parent  directory  of  gfarm_url  did   not   allow   write
              permission.

       GFARM_ERR_OPERATION_NOT_PERMITTED
              The  effective  UID does not match the owner of the file, and is
              not zero.  Or an attempt was made to change an  executable  file
              with  more  than  one fragment to a non-executable file, or vice
              versa.

       GFARM_ERR_NO_SUCH_OBJECT
              The file does not exist.

       GFARM_ERR_NOT_A_DIRECTORY
              A component of the path prefix is not a directory.

       Others An error except the above occurred.  The reason is shown by  its
              pointed strings.