diff options
Diffstat (limited to 'man3p/fchown.3p')
-rw-r--r-- | man3p/fchown.3p | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/man3p/fchown.3p b/man3p/fchown.3p new file mode 100644 index 000000000..d3375e455 --- /dev/null +++ b/man3p/fchown.3p @@ -0,0 +1,115 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "FCHOWN" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" fchown +.SH NAME +fchown \- change owner and group of a file +.SH SYNOPSIS +.LP +\fB#include <unistd.h> +.br +.sp +int fchown(int\fP \fIfildes\fP\fB, uid_t\fP \fIowner\fP\fB, gid_t\fP +\fIgroup\fP\fB); +.br +\fP +.SH DESCRIPTION +.LP +The \fIfchown\fP() function shall be equivalent to \fIchown\fP() except +that the file +whose owner and group are changed is specified by the file descriptor +\fIfildes\fP. +.SH RETURN VALUE +.LP +Upon successful completion, \fIfchown\fP() shall return 0. Otherwise, +it shall return -1 and set \fIerrno\fP to indicate the +error. +.SH ERRORS +.LP +The \fIfchown\fP() function shall fail if: +.TP 7 +.B EBADF +The \fIfildes\fP argument is not an open file descriptor. +.TP 7 +.B EPERM +The effective user ID does not match the owner of the file or the +process does not have appropriate privilege and +_POSIX_CHOWN_RESTRICTED indicates that such privilege is required. +.TP 7 +.B EROFS +The file referred to by \fIfildes\fP resides on a read-only file system. +.sp +.LP +The \fIfchown\fP() function may fail if: +.TP 7 +.B EINVAL +The owner or group ID is not a value supported by the implementation. +The \fIfildes\fP argument refers to a pipe or socket +\ or an \fIfattach\fP()-ed STREAM \ and the implementation disallows +execution of \fIfchown\fP() on a pipe. +.TP 7 +.B EIO +A physical I/O error has occurred. +.TP 7 +.B EINTR +The \fIfchown\fP() function was interrupted by a signal which was +caught. +.sp +.LP +\fIThe following sections are informative.\fP +.SH EXAMPLES +.SS Changing the Current Owner of a File +.LP +The following example shows how to change the owner of a file named +\fB/home/cnd/mod1\fP to "jones" and the group to +"cnd". +.LP +The numeric value for the user ID is obtained by extracting the user +ID from the user database entry associated with "jones". +Similarly, the numeric value for the group ID is obtained by extracting +the group ID from the group database entry associated with +"cnd". This example assumes the calling program has appropriate privileges. +.sp +.RS +.nf + +\fB#include <sys/types.h> +#include <unistd.h> +#include <fcntl.h> +#include <pwd.h> +#include <grp.h> +.sp + +struct passwd *pwd; +struct group *grp; +int fildes; +\&... +fildes = open("/home/cnd/mod1", O_RDWR); +pwd = getpwnam("jones"); +grp = getgrnam("cnd"); +fchown(fildes, pwd->pw_uid, grp->gr_gid); +\fP +.fi +.RE +.SH APPLICATION USAGE +.LP +None. +.SH RATIONALE +.LP +None. +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fIchown\fP() , the Base Definitions volume of IEEE\ Std\ 1003.1-2001, +\fI<unistd.h>\fP +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2003 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 . |