fdetach(3)fdetach(3)NAMEfdetach - Detach a STREAMS-based file descriptor from a file in the
file system name space
SYNOPSIS
#include <stropts.h>
int fdetach(
const char *path );
LIBRARY
Standard C Library (libc.so, libc.a)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
fdetach(): XSH4.0, XSH4.2, XSH5.0
Refer to standards(5) for more information about industry standards and
associated tags.
PARAMETERS
Specifies the pathname of an existing regular file or directory.
DESCRIPTION
The fdetach() function disassociates a STREAMS-based file descriptor
from the file pointed to by the path parameter. The STREAMS-based file
descriptor was associated with the file by a prior fattach() function.
A successful call to the fdetach() function causes all path names that
named the attached STREAMS file to again name the file to which the
STREAMS file was attached. All subsequent operations on the file
pointed to by the path parameter are performed on the underlying file
and not on the STREAMS file.
All open file descriptors established while the STREAMS file was
attached to the file referenced by the path parameter still refer to
the STREAMS file after the fdetach() function takes effect.
If there are no open file descriptors or other references to the
STREAMS file when a fdetach() function is called, a successful call has
the same effect as performing the last close call on the attached file.
The detach() function uses the File-on-File Mounting (FFM) file system.
Instead of unmounting a file system on a mount point, the detach()
function FFM unmounts a file descriptor from a mount point, which can
be either a directory or a regular file. See ffm(4).
RESTRICTIONS
[Tru64 UNIX] The fdetach() function requires that the FFM_FS kernel
option be configured. See System Administration for information on
configuring kernel options.
RETURN VALUES
Upon successful completion, the fdetach() function returns a value of 0
(zero). Otherwise, it returns a value of -1 is returned, and errno is
set to indicate the error.
ERRORS
If any of the following conditions occurs, the fdetach() function sets
errno to the value that corresponds to the condition. The user is not
the owner of the file or does not have the correct permissions to
access the file. [Tru64 UNIX] There is an active reference to a file
located on the file system. [Tru64 UNIX] The path parameter points
outside the process's allocated address space. The path parameter
names a file that is not currently attached. Too many symbolic links
were found when path was resolved. An element of the path parameter
does not name an existing file or path is an empty string. An element
of the directory portion of the path parameter is not a directory.
[Tru64 UNIX] The size of a pathname component is longer than NAME_MAX
when _POSIX_NO_TRUNC is in effect.
The pathname length is longer than [PATH_MAX], or the length of
the intermediate result of a pathname resolution of a symbolic
link is longer than PATH_MAX. The effective user ID is not the
owner of the file pointed to by the path parameter or does not
specify a user with the correct privileges.
SEE ALSO
Functions: fattach(3), isastream(3), umount(3)
Commands: fdetach(8)
Interfaces: streamio(7)
Standards: standards(5)
Network Programmer's Guide
fdetach(3)