fdetach(3C)


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.

References

fattach(3C), fdetach(1M), streamio(7)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004