Standard C Library Functions fattach(3C)
NAME
fattach - attach a STREAMS- or doors-based file descriptor
to an object in the file system name space
SYNOPSIS
#include
int fattach(int fildes, const char *path);
DESCRIPTION
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 argu-
ment 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 per-
missions. 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 subse-
quently changed (for example, chmod(2)), the attributes of
the underlying object are not affected.
RETURN VALUES
Upon successful completion, fattach() returns 0. Otherwise
it returns -1 and sets errno to indicate an error.
ERORS
The fattach() function will fail if:
EACES The user is the owner of path but does not
have write permissions on path or fildes is
locked.
EBADF The fildes argument is not a valid open file
descriptor.
EBUSY The path argument is currently a mount point
or has a STREAMS or doors file descriptor
SunOS 5.11 Last change: 24 Jul 2002 1
Standard C Library Functions fattach(3C)
attached to it.
EINVAL The path argument is a file in a remotely
mounted directory.
EINVAL The fildes argument does not represent a
STREAMS or doors file.
ELOP Too many symbolic links were encountered in
translating path.
ENAMETOLONG The size of path exceeds {PATHMAX}, or the
component of a path name is longer than
{NAMEMAX} while {POSIXNOTRUNC} is in
effect.
ENOENT The path argument does not exist.
ENOTDIR A component of a path prefix is not a direc-
tory.
EPERM The effective user ID is not the owner of
path or a user with the appropriate
privileges.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Standard
MT-Level MT-Safe
SEE ALSO
fdetach(1M), chmod(2), mount(2), stat(2), doorcreate(3C),
fdetach(3C), isastream(3C), attributes(5), standards(5),
streamio(7I)
SunOS 5.11 Last change: 24 Jul 2002 2
Standard C Library Functions fattach(3C)
STREAMS Programming Guide
SunOS 5.11 Last change: 24 Jul 2002 3
|