X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/b5984ffef35fff89e076e953d61183f6647a7c62..653ba8b6da06e68f317c531463801dd809905224:/usr/src/lib/libc/sys/link.2 diff --git a/usr/src/lib/libc/sys/link.2 b/usr/src/lib/libc/sys/link.2 index eb5945cf65..f5110c7805 100644 --- a/usr/src/lib/libc/sys/link.2 +++ b/usr/src/lib/libc/sys/link.2 @@ -1,99 +1,124 @@ -.\" Copyright (c) 1980 Regents of the University of California. -.\" All rights reserved. The Berkeley software License Agreement -.\" specifies the terms and conditions for redistribution. +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. .\" -.\" @(#)link.2 6.2 (Berkeley) %G% +.\" %sccs.include.redist.man% .\" -.TH LINK 2 "" -.UC 4 -.SH NAME -link \- make a hard link to a file -.SH SYNOPSIS -.nf -.ft B -link(name1, name2) -char *name1, *name2; -.fi -.ft R -.SH DESCRIPTION -A hard link -to -.I name1 -is created; -the link has the name -.IR name2 . -.I Name1 -must exist. -.PP -With hard links, +.\" @(#)link.2 8.2 (Berkeley) %G% +.\" +.Dd +.Dt LINK 2 +.Os BSD 4 +.Sh NAME +.Nm link +.Nd make a hard file link +.Sh SYNOPSIS +.Fd #include +.Ft int +.Fn link "const char *name1" "const char *name2" +.Sh DESCRIPTION +The +.Fn link +function call +atomically creates the specified directory entry (hard link) +.Fa name2 +with the attributes of the underlying object pointed at by +.Fa name1 +If the link is successful: the link count of the underlying object +is incremented; +.Fa name1 +and +.Fa name2 +share equal access and rights +to the +underlying object. +.Pp +If +.Fa name1 +is removed, the file +.Fa name2 +is not deleted and the link count of the +underlying object is +decremented. +.Pp +.Fa Name1 +must exist for the hard link to +succeed and both -.I name1 +.Fa name1 and -.I name2 +.Fa name2 must be in the same file system. Unless the caller is the super-user, -.I name1 -must not be a directory. -Both the old and the new -.I link -share equal access and rights to -the underlying object. -.SH "RETURN VALUE +.Fa name1 +may not be a directory. +.Sh RETURN VALUES Upon successful completion, a value of 0 is returned. Otherwise, -a value of \-1 is returned and -.I errno +a value of -1 is returned and +.Va errno is set to indicate the error. -.SH "ERRORS -.I Link -will fail and no link will be created if one or more of the following -are true: -.TP 15 -[ENOTDIR] +.Sh ERRORS +.Fn Link +will fail and no link will be created if: +.Bl -tag -width Ar +.It Bq Er ENOTDIR A component of either path prefix is not a directory. -.TP 15 -[EINVAL] +.It Bq Er EINVAL Either pathname contains a character with the high-order bit set. -.TP 15 -[ENAMETOOLONG] +.It Bq Er ENAMETOOLONG A component of either pathname exceeded 255 characters, or entire length of either path name exceeded 1023 characters. -.TP 15 -[ENOENT] +.It Bq Er ENOENT A component of either path prefix does not exist. -.TP 15 -[EACCES] +.It Bq Er EACCES A component of either path prefix denies search permission. -.TP 15 -[EACCES] +.It Bq Er EACCES The requested link requires writing in a directory with a mode that denies write permission. -.TP 15 -[ELOOP] +.It Bq Er ELOOP Too many symbolic links were encountered in translating one of the pathnames. -.TP 15 -[ENOENT] -The file named by \fIname1\fP does not exist. -.TP 15 -[EEXIST] -The link named by \fIname2\fP does exist. -.TP 15 -[EPERM] -The file named by \fIname1\fP is a directory and the effective +.It Bq Er ENOENT +The file named by +.Fa name1 +does not exist. +.It Bq Er EEXIST +The link named by +.Fa name2 +does exist. +.It Bq Er EPERM +The file named by +.Fa name1 +is a directory and the effective user ID is not super-user. -.TP 15 -[EXDEV] -The link named by \fIname2\fP and the file named by \fIname1\fP +.It Bq Er EXDEV +The link named by +.Fa name2 +and the file named by +.Fa name1 are on different file systems. -.TP 15 -[EIO] -An I/O error occurred while making the directory entry. -.TP 15 -[EROFS] +.It Bq Er ENOSPC +The directory in which the entry for the new link is being placed +cannot be extended because there is no space left on the file +system containing the directory. +.It Bq Er EDQUOT +The directory in which the entry for the new link +is being placed cannot be extended because the +user's quota of disk blocks on the file system +containing the directory has been exhausted. +.It Bq Er EIO +An I/O error occurred while reading from or writing to +the file system to make the directory entry. +.It Bq Er EROFS The requested link requires writing in a directory on a read-only file system. -.TP 15 -[EFAULT] +.It Bq Er EFAULT One of the pathnames specified is outside the process's allocated address space. -.SH "SEE ALSO" -symlink(2), unlink(2) +.El +.Sh SEE ALSO +.Xr symlink 2 , +.Xr unlink 2 +.Sh STANDARDS +.Fn Link +is expected to +conform to IEEE Std 1003.1-1988 +.Pq Dq Tn POSIX .