fdetach --
detach a name from a STREAMS-based file descriptor
Synopsis
#include <stropts.h>
#include <unistd.h>
int fdetach(const char *path);
Description
The fdetach routine detaches a STREAMS-based file descriptor from
a name in the file system.
path is the path name of the object in the file system name space,
which was previously attached (see
fattach(3C)).
The user must be the owner of the file or a user with the appropriate privileges.
All subsequent operations on path will operate on the file system node
and not on the STREAMS file.
The permissions and status of the node are restored to the state the node was
in before the STREAMS file was attached to it.
Return values
If successful, fdetach returns 0; otherwise it returns -1 and sets
errno to indicate an error.
Errors
Under the following conditions, the function fdetach fails and
sets errno to:
EPERM
The effective user ID is not the owner of path or is
not a user with appropriate permissions.
ENOTDIR
A component of the path prefix is not a directory.
ENOENT
path does not exist.
EINVAL
path is not attached to a STREAMS file.
ENAMETOOLONG
The size of path exceeds {PATH_MAX}, or a path name component
is longer than {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
ELOOP
Too many symbolic links were encountered in translating path.