System Calls symlink(2)
NAME
symlink - make a symbolic link to a file
SYNOPSIS
#include
int symlink(const char *name1, const char *name2);
DESCRIPTION
The symlink() function creates a symbolic link name2 to the
file name1. Either name may be an arbitrary pathname, the
files need not be on the same file system, and name1 may be
nonexistent.
The file to which the symbolic link points is used when an
open(2) operation is performed on the link. A stat() opera-
tion performed on a symbolic link returns the linked-to
file, while an lstat() operation returns information about
the link itself. See stat(2). Unexpected results may occur
when a symbolic link is made to a directory. To avoid confu-
sion in applications, the readlink(2) call can be used to
read the contents of a symbolic link.
RETURN VALUES
Upon successful completion, 0 is returned. Otherwise, -1 is
returned, errno is set to indicate the error, and the sym-
bolic link is not made.
ERORS
The symlink() function will fail if:
EACES Search permission is denied for a component
of the path prefix of name2.
EDQUOT The directory where the entry for the new
symbolic link is being placed cannot be
extended because the user's quota of disk
blocks on that file system has been
exhausted; the new symbolic link cannot be
created because the user's quota of disk
blocks on that file system has been
exhausted; or the user's quota of inodes on
the file system where the file is being
created has been exhausted.
EXIST The file referred to by name2 already
exists.
SunOS 5.11 Last change: 18 May 2007 1
System Calls symlink(2)
EFAULT The name1 or name2 argument points to an
illegal address.
EILSEQ The path argument includes non-UTF8 charac-
ters and the file system accepts only file
names where all characters are part of the
UTF-8 character codeset.
EIO An I/O error occurs while reading from or
writing to the file system.
ELOP Too many symbolic links are encountered in
translating name2.
ENAMETOLONG The length of the name2 argument exceeds
PATHMAX, or the length of a name2 component
exceeds NAMEMAX while POSIXNOTRUNC is in
effect.
ENOENT A component of the path prefix of name2 does
not exist.
ENOSPC The directory in which the entry for the new
symbolic link is being placed cannot be
extended because no space is left on the
file system containing the directory; the
new symbolic link cannot be created because
no space is left on the file system which
will contain the link; or there are no free
inodes on the file system on which the file
is being created.
ENOSYS The file system does not support symbolic
links.
ENOTDIR A component of the path prefix of name2 is
not a directory.
EROFS The file name2 would reside on a read-only
file system.
SunOS 5.11 Last change: 18 May 2007 2
System Calls symlink(2)
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Standard
SEE ALSO
cp(1), link(2), open(2), readlink(2), stat(2), unlink(2),
attributes(5)
SunOS 5.11 Last change: 18 May 2007 3
|