Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > F

fattach(3C)

HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

fattach() — attach a STREAMS file descriptor to an object in the file system name space

SYNOPSIS

#include <stropts.h>

int fattach(int fd, const char *path);

DESCRIPTION

The fattach() function attaches the fd file descriptor to an object in the file system name space designated by path. fd specifies an open file descriptor to a STREAMS device or STREAMS-based pipe. path specifies the pathname of an existing object in the file system. A STREAMS device or pipe can be attached to more than one node in the file system name space. In other words, a STREAMS device or pipe is allowed to have several associated names. Until the STREAMS device or pipe is detached from the node (with fdetach(3C) or fdetach(1M)), all operations on path will act on the STREAMS device or pipe instead of the file system object path.

The fattached stream's attributes (see the stat(2) reference page) are set according to the following scheme:

  • The group ID, user ID, times, and permissions are set to those of path.

  • The size as well as the device number are set to those of the STREAMS device or pipe designated by the fd parameter. Note that although the attributes of the fattached STREAMS device or pipe may change (see the chmod(2) reference page), the attributes of the underlying file system object path will not be changed.

  • The number of links is set to 1.

RETURN VALUE

Upon successful completion, the fattach() function returns a value of 0 (zero). Otherwise, it returns a value of -1, and errno is set to indicate the error.

ERRORS

If any of the following conditions occurs, the fattach() function sets errno to the value that corresponds to the condition.

[EACCES]

Although the user is the owner of path, the user has no write permissions for it.

[EBADF]

The fd parameter is an invalid file descriptor.

[EBUSY]

The existing object specified by the path parameter is already mounted or has a file descriptor attached to it.

[EFAULT]

The path parameter points to a location outside of the allocated address space of the process.

[EINVAL]

The fd parameter does not refer to a STREAMS device or STREAMS-based pipe.

[ELOOP]

When path was translated, too many symbolic links were found.

[ENOENT]

path does not exist.

[ENOTDIR]

The directory portion of the path parameter does not exist.

[ENAMETOOLONG]

The size of a pathname component is longer than NAME_MAX when _POSIX_NO_TRUNC is in effect, or the pathname length is longer than PATH_MAX.

[EPERM]

The current effective user ID is not the owner of the existing object specified by the path parameter.

STANDARDS COMPLIANCE

fattach(): SVID3

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.