Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fattach(3C) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fdetach(1M)

fdetach(3C)

isastream(3C)

streamio(7)



fattach(3C)                      UNIX System V                      fattach(3C)


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

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

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.

      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.





10/89                                                                    Page 1







fattach(3C)                      UNIX System V                      fattach(3C)


      ENAMETOOLONG The size of path exceeds {PATHMAX}, or the component of 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










































Page 2                                                                    10/89





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