diff options
Diffstat (limited to 'man-pages-posix-2013/man3p/fdetach.3p')
-rw-r--r-- | man-pages-posix-2013/man3p/fdetach.3p | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/man-pages-posix-2013/man3p/fdetach.3p b/man-pages-posix-2013/man3p/fdetach.3p new file mode 100644 index 0000000..198423f --- /dev/null +++ b/man-pages-posix-2013/man3p/fdetach.3p @@ -0,0 +1,174 @@ +'\" et +.TH FDETACH "3P" 2013 "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 +fdetach +\(em detach a name from a STREAMS-based file descriptor (\fBSTREAMS\fP) +.SH SYNOPSIS +.LP +.nf +#include <stropts.h> +.P +int fdetach(const char *\fIpath\fP); +.fi +.SH DESCRIPTION +The +\fIfdetach\fR() +function shall detach a STREAMS-based file from the file to which +it was attached by a previous call to +\fIfattach\fR(). +The +.IR path +argument points to the pathname of the attached STREAMS file. The +process shall have appropriate privileges or be the owner of the file. +A successful call to +\fIfdetach\fR() +shall cause all pathnames that named the attached STREAMS file to again +name the file to which the STREAMS file was attached. All subsequent +operations on +.IR path +shall operate on the underlying file and not on the STREAMS file. +.P +All open file descriptions established while the STREAMS file was +attached to the file referenced by +.IR path +shall still refer to the STREAMS file after the +\fIfdetach\fR() +has taken effect. +.P +If there are no open file descriptors or other references to the +STREAMS file, then a successful call to +\fIfdetach\fR() +shall be equivalent to performing the last +\fIclose\fR() +on the attached file. +.SH "RETURN VALUE" +Upon successful completion, +\fIfdetach\fR() +shall return 0; otherwise, it shall return \(mi1 and set +.IR errno +to indicate the error. +.SH ERRORS +The +\fIfdetach\fR() +function shall fail if: +.TP +.BR EACCES +Search permission is denied on a component of the path prefix. +.TP +.BR EINVAL +The +.IR path +argument names a file that is not currently attached. +.TP +.BR ELOOP +A loop exists in symbolic links encountered during resolution of the +.IR path +argument. +.TP +.BR ENAMETOOLONG +.br +The length of a component of a pathname is longer than +{NAME_MAX}. +.TP +.BR ENOENT +A component of +.IR path +does not name an existing file or +.IR path +is an empty string. +.TP +.BR ENOTDIR +A component of the path prefix names an existing file that is neither +a directory nor a symbolic link to a directory, or the +.IR path +argument contains at least one non-\c +<slash> +character and ends with one or more trailing +<slash> +characters and the last pathname component names an existing file +that is neither a directory nor a symbolic link to a directory. +.TP +.BR EPERM +The effective user ID is not the owner of +.IR path +and the process does not have appropriate privileges. +.P +The +\fIfdetach\fR() +function may fail if: +.TP +.BR ELOOP +More than +{SYMLOOP_MAX} +symbolic links were encountered during resolution of the +.IR path +argument. +.TP +.BR ENAMETOOLONG +.br +The length of a pathname exceeds +{PATH_MAX}, +or pathname resolution of a symbolic link produced an intermediate +result with a length that exceeds +{PATH_MAX}. +.LP +.IR "The following sections are informative." +.SH EXAMPLES +.SS "Detaching a File" +.P +The following example detaches the STREAMS-based file +.BR /tmp/named-STREAM +from the file to which it was attached by a previous, successful call +to +\fIfattach\fR(). +Subsequent calls to open this file refer to the underlying file, not to +the STREAMS file. +.sp +.RS 4 +.nf +\fB +#include <stropts.h> +\&... + char *pathname = "/tmp/named-STREAM"; + int ret; +.P + ret = fdetach(pathname); +.fi \fR +.P +.RE +.SH "APPLICATION USAGE" +None. +.SH RATIONALE +None. +.SH "FUTURE DIRECTIONS" +The +\fIfdetach\fR() +function may be removed in a future version. +.SH "SEE ALSO" +.IR "\fIfattach\fR\^(\|)" +.P +The Base Definitions volume of POSIX.1\(hy2008, +.IR "\fB<stropts.h>\fP" +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 7, Copyright (C) 2013 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. +(This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) 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.unix.org/online.html . + +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 . |