symlink(2) symlink(2)
NAME [Toc] [Back]
symlink - make symbolic link to a file
SYNOPSIS [Toc] [Back]
#include <unistd.h>
int symlink(const char *path1, const char *path2);
DESCRIPTION [Toc] [Back]
The symlink() function creates a symbolic link. Its name is the
pathname pointed to by path2, which must be a pathname that does not
name an existing file or symbolic link. The contents of the symbolic
link are the string pointed to by path1.
RETURN VALUE [Toc] [Back]
Upon successful completion, symlink() returns 0. Otherwise, it returns
-1 and sets errno to indicate the error.
ERRORS [Toc] [Back]
If symlink() fails, errno is set to one of the following values:
[EACCES] Write permission is denied in the
directory where the symbolic link is
being created, or search permission is
denied for a component of the path
prefix of path2.
[EEXIST] The path2 argument names an existing
file or symbolic link.
[EFAULT] path1 or path2 points outside the
process's allocated address space. The
reliable detection of this error is
implementation-dependent.
[EIO] An I/O error occurred while reading from
path1, making the directory entry for
path2, allocating the inode for path2,
or writing out the link contents of
path2.
[ELOOP] Too many symbolic links were encountered
in resolving path2.
[ENAMETOOLONG] The length of the path2 argument exceeds
{PATH_MAX}, or pathname resolution of a
symbolic link produced an intermediate
result that exceeds {PATH_MAX}, or a
pathname component is longer than
{NAME_MAX}.
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003
symlink(2) symlink(2)
[ENOENT] A component of path2 does not name an
existing file or path2 is an empty
string.
[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, or the new symbolic link
cannot be created because no space is
left on the file system which will
contain the link, or the file system is
out of file-allocation resources.
[ENOTDIR] A component of the path prefix of path2
is not a directory.
[EROFS] The new symbolic link would reside on a
read-only file system.
APPLICATION USAGE [Toc] [Back]
Like a hard link, a symbolic link allows a file to have multiple
logical names. The presence of a hard link guarantees the existence of
a file, even after the original name has been removed. A symbolic link
provides no such assurance; in fact, the file named by the path1
argument need not exist when the link is created. A symbolic link can
cross file system boundaries.
Normal permission checks are made on each component of the symbolic
link pathname during its resolution.
AUTHOR [Toc] [Back]
symlink() was developed by the University of California, Berkeley.
SEE ALSO [Toc] [Back]
chown(2), cp(1), link(2), lstat(2), open(2), readlink(2), symlink(4),
unlink(2), <unistd.h>.
STANDARDS CONFORMANCE [Toc] [Back]
symlink(): AES, SVID3
CHANGE HISTORY [Toc] [Back]
First released in Issue 4, Version 2.
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: August 2003 [ Back ] |