Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fdetach(1M)

fdetach(3C)

isastream(3C)

streamio(7)



fattach(3C)          COMPATIBILITY FUNCTIONS          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  appropri-
     ate  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  ini-
     tialized  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  direc-
                  tory.

     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



                          Last change:                          1





fattach(3C)          COMPATIBILITY FUNCTIONS          fattach(3C)



                  STREAMS file descriptor attached it.

     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.

     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








































                          Last change:                          2



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