Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Standard C Library Functionsfattach(3C)


NAME

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

SYNOPSIS

 
#include <stropts.h>
int fattach(int fildes, const char *path);

DESCRIPTION

 

The fattach() function 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

 

Upon successful completion, fattach() returns 0. Otherwise it returns -1 and sets errno to indicate an error.

ERRORS

 

The fattach() function will fail if:

EACCES
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 file descriptor attached it.
EINVAL
The path argument is a file in a remotely mounted directory.
EINVAL
The fildes argument 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
The path argument 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.

ATTRIBUTES

 

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
MT-LevelMT-Safe

SEE ALSO

 

fdetach(1M), chmod(2), mount(2), stat(2), fdetach(3C), isastream (3C), attributes(5), streamio(7I)

STREAMS Programming Guide


SunOS 5.9Go To TopLast Changed 16 Jan 1997

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.