| SYMLINK(2) | System Calls Manual | SYMLINK(2) |
symlink, symlinkat
— make symbolic link to a file
Standard C Library (libc, -lc)
#include
<unistd.h>
int
symlink(const
char *name1, const char
*name2);
int
symlinkat(const
char *name1, int
fd, const char
*name2);
A symbolic link name2 is created to name1 (name2 is the name of the file created, name1 is the string used in creating the symbolic link). Either name may be an arbitrary path name; the files need neither to be on the same file system nor to exist.
symlinkat()
works the same way as
symlink()
except if path2 is relative. In that case, it is
looked up from a directory whose file descriptor was passed as
fd. Search permission is required on this directory.
fd can be set to AT_FDCWD in
order to specify the current directory.
The symlink() and
symlinkat() functions return the value 0 if
successful; otherwise the value -1 is returned and the global
variable errno is set to indicate the error.
symlink() and
symlinkat() will fail and no link will be created
if:
EACCES]EDQUOT]EEXIST]EFAULT]EIO]ELOOP]ENAMETOOLONG]NAME_MAX}
characters, or an entire path name exceeded
{PATH_MAX} characters.ENOENT]ENOSPC]ENOTDIR]EROFS]In addition, symlinkat() will fail if:
The symlink() function conforms to
IEEE Std 1003.1-1990 (“POSIX.1”).
symlinkat() conforms to IEEE Std
1003.1-2008 (“POSIX.1”).
The symlink() function call appeared in
4.2BSD.
| July 29, 2013 | NetBSD 11.0 |