HP-UX Reference (11i v1 00/12) - 2 System Calls (vol 5)
__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man2/!!!intro.2
________________________________________________________________
___ ___
l
link(2) link(2)
NAME
link() - link to a file
SYNOPSIS
#include <unistd.h>
int link(const char *path1, const char *path2);
DESCRIPTION
The link() system call creates a new link (directory entry) for the existing file. path1 points to a path
name naming an existing file. path2 points to a path name naming the new directory entry to be created.
RETURN VALUE
Upon successful completion, link() returns zero. Otherwise, it returns −1 and sets errno (see errno(2))
to indicate the error.
ERRORS
The link() system call fails and no link is created if one or more of the following is true:
[EACCES] A component of either path prefix denies search permission.
[EACCES] The requested link requires writing in a directory that does not permit
writing.
[EDQUOT] The user’s disk quota block limit has been reached for this file system.
[EEXIST] The link named by path2 exists.
[ENOENT] The file named by path1 does not exist.
[ENOENT] A component of either path prefix does not exist.
[ENOENT] path2 points to a null path name.
[ENOSPC] The directory to contain the file cannot be extended.
[ENOTDIR] A component of either path prefix is not a directory.
[EPERM] The file named by path1 is a directory and the effective user ID is not a
user who has appropriate privileges. Some file systems return this error
whenever path1 names a directory, regardless of the user ID.
[EXDEV] The link named by path2 and the file named by path1 are on different logi-
cal devices (file systems).
[EROFS] The requested link requires writing in a directory on a read-only file sys-
tem.
[EFAULT] path points outside the allocated address space of the process. The reliable
detection of this error is implementation dependent.
[ENOENT] path1 or path2 is null.
[EMLINK] The maximum number of links to a file would be exceeded.
[ENAMETOOLONG] Either the specified path exceeds
PATH_MAX bytes, or a component of
either specified path exceeds
NAME_MAX while POSIX_NO_TRUNC
is in
effect.
[ELOOP] Too many symbolic links were encountered in translatingeither path name.
DEPENDENCIES
Series 700
If path2 names a symbolic link,
link() fails without creating the link, it returns −1, and sets errno to
the following value:
[EEXIST] path2 names a symbolic link.
SEE ALSO
cp(1), link(1M), symlink(2), unlink(2), symlink(4).
Section 2−−128 − 1 − HP-UX Release 11i: December 2000
___
___