LINK(2) LINK(2)
NAME
link - link to a file
SYNOPSIS
int link (path1, path2)
char *path1, *path2;
DESCRIPTION
Path1 points to a path name naming an existing file. Path2
points to a path name naming the new directory entry to be
created. link creates a new link (directory entry) for the
existing file.
link will fail and no link will be created if one or more of
the following are true:
[ENOTDIR] A component of either path prefix is not a
directory.
[ENOENT] A component of either path prefix does not
exist.
[EACCES] A component of either path prefix denies
search permission.
[ENOENT] The file named by path1 does not exist.
[EEXIST] The link named by path2 exists.
[EPERM] The file named by path1 is a directory and
the effective user ID is not super-user.
[EXDEV] The link named by path2 and the file named by
path1 are on different logical devices (file
systems).
[ENOENT] Path2 points to a null path name.
[EACCES] The requested link requires writing in a
directory with a mode that denies write
permission.
[EROFS] The requested link requires writing in a
directory on a read-only file system.
[EFAULT] Path points outside the allocated address
space of the process.
[EMLINK] The maximum number of links to a file would
be exceeded.
[EINTR] A signal was caught during the link system
Page 1 (last mod. 8/20/87)
LINK(2) LINK(2)
call.
[ENOLINK] Path points to a remote machine and the link
to that machine is no longer active.
[EMULTIHOP] Components of path require hopping to
multiple remote machines.
SEE ALSO
unlink(2).
DIAGNOSTICS
Upon successful completion, a value of 0 is returned.
Otherwise, a value of -1 is returned and errno is set to
indicate the error.
ORIGIN
AT&T V.3
Page 2 (last mod. 8/20/87)