Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fattach(3C) — DG/UX 5.4.2A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fdetach(1M)

fdetach(3C)

isastream(3C)

streamio(7)



fattach(3C)                      DG/UX 5.4.2                     fattach(3C)


NAME
       fattach - attach STREAMS-based file descriptor to object in file
       system name space

SYNOPSIS
       #include <unistd.h>

       int fattach(int fildes, const char *path)

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, i.e., 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 [e.g., chmod(2)], the attributes of the underlying object are
       not affected.

RETURN VALUE
       If successful, fattach returns 0; otherwise it returns -1 and sets
       errno to indicate an error.

DIAGNOSTICS
       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.

       ENOENT       path does not exist.

       ENOTDIR      A component of a path prefix is not a directory.

       EINVAL       fildes does not represent a STREAMS file.

       EPERM        The effective user ID is not the owner of path or a user
                    with the appropriate privileges.

       EBUSY        path is currently a mount point or has a STREAMS file
                    descriptor attached it.

       ENAMETOOLONG The size of path exceeds {PATHMAX}, or the component of



Licensed material--property of copyright holder(s)                         1




fattach(3C)                      DG/UX 5.4.2                     fattach(3C)


                    a path name is longer than {NAMEMAX} while
                    {POSIXNOTRUNC} is in effect.

       ELOOP        Too many symbolic links were encountered in translating
                    path.

       EREMOTE      path is a file in a remotely mounted directory.

SEE ALSO
       fdetach(1M),fdetach(3C), isastream(3C), streamio(7)
       in the Programmer's Guide: STREAMS














































Licensed material--property of copyright holder(s)                         2


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026