NAME
fdetach() — detach a name from a STREAMS file descriptor
SYNOPSIS
#include <stropts.h>
int fdetach(const char *path);
DESCRIPTION
The
fdetach()
function detaches a file
descriptor from a name in the file system designated by
path.
path
specifies the pathname of an existing object in the file system
name space that was previously attached (see the
fattach()
reference page).
As a result of the
fdetach()
operation, the node's status and permissions return to the state prior
to the file attaching to the node. Any later operations on
path
will affect only the file system node and not the attached file.
The user must either be superuser or own
path
and have write permission.
RETURN VALUE
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.
- [EFAULT]
The
path
parameter points outside the process' allocated address space.
- [EACCES]
The user is not the owner of the file or does not have the correct
permissions to access the file.
- [EINVAL]
The object pointed to by the
path
parameter
is not fattached to a
STREAMS
device or pipe.
- [ELOOP]
When
path
was translated, too many symbolic links were found.
- [ENOENT]
The
path
parameter points to a pathname that does not exist.
- [ENOTDIR]
The directory portion of the
path
parameter does not exist.
- [ENAMETOOLONG]
The size of a pathname component is longer than [NAME_MAX] when
[_POSIX_NO_TRUNC] is in effect, or the pathname length is longer
than [PATH_MAX].
- [EPERM]
The current effective user ID is not the owner of the existing object
specified by the
path
parameter, or
the current effective user ID does not specify a
user with the correct permissions.
STANDARDS COMPLIANCE
fdetach(): SVID3