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.
RETURN VALUE
Page 1 (last mod. 1/14/87)
link(2) link(2)
Upon successful completion, a value of 0 is returned.
Otherwise, a value of -1 is returned and errno is set to
indicate the error.
SEE ALSO
unlink(2).
Page 2 (last mod. 1/14/87)