FATTACH(3C) | Standard C Library Functions | FATTACH(3C) |
fattach - attach a STREAMS- or doors-based file descriptor to an object in the file system name space
#include <stropts.h> int fattach(int fildes, const char *path);
The fattach() function attaches a STREAMS- or doors-based file descriptor to an object in the file system name space, effectively associating a name with fildes. The fildes argument must be a valid open file descriptor representing a STREAMS or doors file. The path argument is a path name of an existing object and the user must have appropriate privileges or be the owner of the file and have write permissions. All subsequent operations on path will operate on the STREAMS or doors file until the STREAMS or doors file is detached from the node. The fildes argument can be attached to more than one path, that is, a stream or door can have several names associated with it.
The attributes of the named stream or door (see stat(2)), are initialized as follows: the permissions, user ID, group ID, and times are set to those of path, the number of links is set to 1, and the size and device identifier are set to those of the streams or doors device associated with fildes. If any attributes of the named stream or door are subsequently changed (for example, chmod(2)), the attributes of the underlying object are not affected.
Upon successful completion, fattach() returns 0. Otherwise it returns −1 and sets errno to indicate an error.
The fattach() function will fail if:
EACCES
EBADF
EBUSY
EINVAL
EINVAL
ELOOP
ENAMETOOLONG
ENOENT
ENOTDIR
EPERM
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Standard |
MT-Level | MT-Safe |
chmod(2), mount(2), stat(2), door_create(3C), fdetach(3C), isastream(3C), streamio(4I), attributes(7), standards(7), fdetach(8)
STREAMS Programming Guide
July 24, 2002 | OmniOS |