diff options
Diffstat (limited to 'upstream/archlinux/man3p/fchmod.3p')
-rw-r--r-- | upstream/archlinux/man3p/fchmod.3p | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/upstream/archlinux/man3p/fchmod.3p b/upstream/archlinux/man3p/fchmod.3p new file mode 100644 index 00000000..83ca3aeb --- /dev/null +++ b/upstream/archlinux/man3p/fchmod.3p @@ -0,0 +1,161 @@ +'\" et +.TH FCHMOD "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" +.SH PROLOG +This manual page is part of the POSIX Programmer's Manual. +The Linux implementation of this interface may differ (consult +the corresponding Linux manual page for details of Linux behavior), +or the interface may not be implemented on Linux. +.\" +.SH NAME +fchmod +\(em change mode of a file +.SH SYNOPSIS +.LP +.nf +#include <sys/stat.h> +.P +int fchmod(int \fIfildes\fP, mode_t \fImode\fP); +.fi +.SH DESCRIPTION +The +\fIfchmod\fR() +function shall be equivalent to +\fIchmod\fR() +except that the file whose permissions are changed is specified +by the file descriptor +.IR fildes . +.P +If +.IR fildes +references a shared memory object, the +\fIfchmod\fR() +function need only affect the S_IRUSR, S_IWUSR, S_IRGRP, S_IWGRP, +S_IROTH, and S_IWOTH file permission bits. +.P +If +.IR fildes +references a typed memory object, the behavior of +\fIfchmod\fR() +is unspecified. +.P +If +.IR fildes +refers to a socket, the behavior of +\fIfchmod\fR() +is unspecified. +.P +If +.IR fildes +refers to a STREAM (which is +\fIfattach\fR()-ed +into the file system name space) the call returns successfully, doing +nothing. +.SH "RETURN VALUE" +Upon successful completion, +\fIfchmod\fR() +shall return 0. Otherwise, it shall return \-1 and set +.IR errno +to indicate the error. +.SH ERRORS +The +\fIfchmod\fR() +function shall fail if: +.TP +.BR EBADF +The +.IR fildes +argument is not an open file descriptor. +.TP +.BR EPERM +The effective user ID does not match the owner of the file and the +process does not have appropriate privileges. +.TP +.BR EROFS +The file referred to by +.IR fildes +resides on a read-only file system. +.P +The +\fIfchmod\fR() +function may fail if: +.TP +.BR EINTR +The +\fIfchmod\fR() +function was interrupted by a signal. +.TP +.BR EINVAL +The value of the +.IR mode +argument is invalid. +.TP +.BR EINVAL +The +.IR fildes +argument refers to a pipe and the implementation disallows execution of +\fIfchmod\fR() +on a pipe. +.LP +.IR "The following sections are informative." +.SH EXAMPLES +.SS "Changing the Current Permissions for a File" +.P +The following example shows how to change the permissions for a +file named +.BR /home/cnd/mod1 +so that the owner and group have read/write/execute permissions, but +the world only has read/write permissions. +.sp +.RS 4 +.nf + +#include <sys/stat.h> +#include <fcntl.h> +.P +mode_t mode; +int fildes; +\&... +fildes = open("/home/cnd/mod1", O_RDWR); +fchmod(fildes, S_IRWXU | S_IRWXG | S_IROTH | S_IWOTH); +.fi +.P +.RE +.SH "APPLICATION USAGE" +None. +.SH RATIONALE +None. +.SH "FUTURE DIRECTIONS" +None. +.SH "SEE ALSO" +.IR "\fIchmod\fR\^(\|)", +.IR "\fIchown\fR\^(\|)", +.IR "\fIcreat\fR\^(\|)", +.IR "\fIfcntl\fR\^(\|)", +.IR "\fIfstatat\fR\^(\|)", +.IR "\fIfstatvfs\fR\^(\|)", +.IR "\fImknod\fR\^(\|)", +.IR "\fIopen\fR\^(\|)", +.IR "\fIread\fR\^(\|)", +.IR "\fIwrite\fR\^(\|)" +.P +The Base Definitions volume of POSIX.1\(hy2017, +.IR "\fB<sys_stat.h>\fP" +.\" +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1-2017, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 7, 2018 Edition, +Copyright (C) 2018 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. +In the event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . +.PP +Any typographical or formatting errors that appear +in this page are most likely +to have been introduced during the conversion of the source files to +man page format. To report such errors, see +https://www.kernel.org/doc/man-pages/reporting_bugs.html . |