RFIO_CHMOD(3)
NAME
rfio_chmod, rfio_fchmod - change access mode of a directory/file
SYNOPSIS
#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);
DESCRIPTION
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 rfio_open.
- path specifies the logical pathname relative to the current directory
- or the full pathname.
- 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.
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 is not super-user.
- ENOENT The named file/directory does not exist or is a null path
- name.
- 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.
SEE ALSO
AUTHOR
- LCG Grid Deployment Team