Manual page for fattach(3C)
fattach - attach a STREAMS-based file descriptor to an object in the file system name space
SYNOPSIS
int fattach(int fildes,
const char *path);
MT-LEVEL
MT-Safe
DESCRIPTION
The
fattach()
routine attaches a STREAMS-based file descriptor to an
object in the file system name space, effectively associating a name with
fildes.
fildes
must be a valid open file descriptor representing a STREAMS file.
path
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 file until the STREAMS file is detached from the node.
fildes
can be attached to more than one
path,
that is, a stream can have several names associated with it.
The attributes of the named stream (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 device associated with
fildes.
If any attributes of the named stream are subsequently changed
(for example,
chmod.2
the attributes of the underlying object are not affected.
RETURN VALUES
If successful,
fattach()
returns 0; otherwise it returns -1 and sets
errno to indicate an error.
ERRORS
Under the following conditions, the function
fattach()
fails and sets errno to:
- EACCES
-
The user is the owner of
path
but does not have write
permissions on
path
or
fildes
is locked.
- EBADF
-
fildes
is not a valid open file descriptor.
- EBUSY
-
path
is currently a mount point or has a STREAMS file
descriptor attached it.
- EINVAL
-
path
is a file in a remotely mounted directory.
- EINVAL
-
fildes
does not represent a STREAMS file.
- ELOOP
-
Too many symbolic links were encountered in translating
path.
- ENAMETOOLONG
-
The size of
path
exceeds {PATH_MAX}, or the component of a path name is longer
than {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
- ENOENT
-
path
does not exist.
- ENOTDIR
-
A component of a path prefix is not a directory.
- EPERM
-
The effective user ID is not the owner of
path
or a user with the appropriate privileges.
SEE ALSO
fdetach.1m
chmod.2
stat.2
fdetach.3c
isastream.3c
streamio.7i
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97