copyediting for Usenix manuals
[unix-history] / usr / src / lib / libc / sys / link.2
index eb5945c..f5110c7 100644 (file)
-.\" 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 <unistd.h>
+.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
 both
-.I name1
+.Fa name1
 and
 and
-.I name2
+.Fa name2
 must be in the same file system.
 Unless the caller is the super-user,
 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,
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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 .