112 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" Copyright (c) 1980 Regents of the University of California.
 | 
						|
.\" All rights reserved.  The Berkeley software License Agreement
 | 
						|
.\" specifies the terms and conditions for redistribution.
 | 
						|
.\"
 | 
						|
.\"	@(#)link.2	6.3 (Berkeley) 8/26/85
 | 
						|
.\"
 | 
						|
.TH LINK 2 "August 26, 1985"
 | 
						|
.UC 4
 | 
						|
.SH NAME
 | 
						|
link \- make a hard link to a file
 | 
						|
.SH SYNOPSIS
 | 
						|
.nf
 | 
						|
.ft B
 | 
						|
#include <unistd.h>
 | 
						|
 | 
						|
int link(const char *\fIname1\fP, const char *\fIname2\fP)
 | 
						|
.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,
 | 
						|
both
 | 
						|
.I name1
 | 
						|
and
 | 
						|
.I name2
 | 
						|
must be in the same file system.
 | 
						|
.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
 | 
						|
Upon successful completion, a value of 0 is returned.  Otherwise,
 | 
						|
a value of \-1 is returned and
 | 
						|
.B errno
 | 
						|
is set to indicate the error.
 | 
						|
.SH "ERRORS
 | 
						|
.B Link
 | 
						|
will fail and no link will be created if one or more of the following
 | 
						|
are true:
 | 
						|
.TP 15
 | 
						|
[ENOTDIR]
 | 
						|
A component of either path prefix is not a directory.
 | 
						|
.TP 15
 | 
						|
[ENAMETOOLONG]
 | 
						|
A path name exceeds PATH_MAX characters.
 | 
						|
.TP 15
 | 
						|
[ENOENT]
 | 
						|
A component of either path prefix does not exist.
 | 
						|
.TP 15
 | 
						|
[EACCES]
 | 
						|
A component of either path prefix denies search permission.
 | 
						|
.TP 15
 | 
						|
[EACCES]
 | 
						|
The requested link requires writing in a directory with a mode
 | 
						|
that denies write permission.
 | 
						|
.TP 15
 | 
						|
[ELOOP]
 | 
						|
Too many symbolic links were encountered in translating one of the pathnames.
 | 
						|
(Minix-vmd)
 | 
						|
.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
 | 
						|
user ID is not super-user.
 | 
						|
.TP 15
 | 
						|
[EXDEV]
 | 
						|
The link named by \fIname2\fP and the file named by \fIname1\fP
 | 
						|
are on different file systems.
 | 
						|
.TP 15
 | 
						|
[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.
 | 
						|
.ig
 | 
						|
.TP 15
 | 
						|
[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.
 | 
						|
..
 | 
						|
.TP 15
 | 
						|
[EIO]
 | 
						|
An I/O error occurred while reading from or writing to 
 | 
						|
the file system to make the directory entry.
 | 
						|
.TP 15
 | 
						|
[EROFS]
 | 
						|
The requested link requires writing in a directory on a read-only file
 | 
						|
system.
 | 
						|
.TP 15
 | 
						|
[EFAULT]
 | 
						|
One of the pathnames specified
 | 
						|
is outside the process's allocated address space.
 | 
						|
.SH "SEE ALSO"
 | 
						|
.BR symlink (2),
 | 
						|
.BR unlink (2).
 |