1 .\" $NetBSD: symlink.2,v 1.7 1995/02/27 12:38:34 cgd Exp $
3 .\" Copyright (c) 1983, 1991, 1993
4 .\" The Regents of the University of California. All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\" notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\" notice, this list of conditions and the following disclaimer in the
13 .\" documentation and/or other materials provided with the distribution.
14 .\" 3. All advertising materials mentioning features or use of this software
15 .\" must display the following acknowledgement:
16 .\" This product includes software developed by the University of
17 .\" California, Berkeley and its contributors.
18 .\" 4. Neither the name of the University nor the names of its contributors
19 .\" may be used to endorse or promote products derived from this software
20 .\" without specific prior written permission.
22 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 .\" @(#)symlink.2 8.1 (Berkeley) 6/4/93
42 .Nd make symbolic link to a file
44 .Fd #include <unistd.h>
47 .Fa "const char *path1"
48 .Fa "const char *path2"
51 .Fn symlinkat "const char *name1" "int fd" "const char *name2"
62 used in creating the symbolic link).
63 Either name may be an arbitrary path name; the files need not
64 be on the same file system.
68 system call is equivalent to
70 except in the case where
72 specifies a relative path.
73 In this case the symbolic link is created relative to the directory
74 associated with the file descriptor
76 instead of the current working directory.
79 is passed the special value
83 parameter, the current working directory is used and the behavior is
84 identical to a call to
87 Upon successful completion, a zero value is returned.
88 If an error occurs, the error code is stored in
90 and a -1 value is returned.
92 The symbolic link succeeds unless:
96 Write permission is denied in the directory
97 where the symbolic link is being created.
102 path prefix denies search permission.
105 The directory in which the entry for the new symbolic link
106 is being placed cannot be extended because the
107 user's quota of disk blocks on the file system
108 containing the directory has been exhausted.
111 The new symbolic link cannot be created because the user's
112 quota of disk blocks on the file system that will
113 contain the symbolic link has been exhausted.
116 The user's quota of inodes on the file system on
117 which the symbolic link is being created has been exhausted.
127 points outside the process's allocated address space.
130 An I/O error occurs while making the directory entry
131 or allocating the inode.
134 An I/O error occurs while making the directory entry for
136 or allocating the inode for
138 or writing out the link contents of
142 Too many symbolic links are encountered in translating the pathname.
143 This is taken to be indicative of a looping symbolic link.
145 .It Bq Er ENAMETOOLONG
146 A component of a pathname exceeds
148 characters, or an entire path name exceeds
155 does not name an existing file or
160 The directory in which the entry for the new symbolic link is being placed
161 cannot be extended because there is no space left on the file
162 system containing the directory.
165 The new symbolic link cannot be created because there
166 there is no space left on the file
167 system that will contain the symbolic link.
170 There are no free inodes on the file system on which the
171 symbolic link is being created.
176 prefix is not a directory.
181 would reside on a read-only file system.
184 In addition to the errors returned by the
193 argument does not specify an absolute path and the
197 nor a valid file descriptor open for searching.
201 argument is not an absolute path and
205 nor a file descriptor associated with a directory.
215 system call is expected to conform to POSIX.1-2008 .
219 function call appeared in
223 system call appeared in OS X 10.10