unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

symlink(2)                       System Calls                       symlink(2)



NAME
       symlink - make a symbolic link to a file

SYNOPSIS
       #include <unistd.h>

       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() operation 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
       confusion 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 symbolic link is not made.

ERRORS
       The symlink() function will fail if:

       EACCES          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 cre-
                       ated has been exhausted.



       EEXIST          The file referred to by name2 already exists.



       EFAULT          The name1  or  name2  argument  points  to  an  illegal
                       address.



       EIO             An  I/O  error  occurs while reading from or writing to
                       the file system.



       ELOOP           Too many symbolic links are encountered in  translating
                       name2.



       ENAMETOOLONG    The  length  of the name2 argument exceeds PATH_MAX, or
                       the length of a name2 component exceeds NAME_MAX  while
                       _POSIX_NO_TRUNC 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 direc-
                       tory; 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  sys-
                       tem 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 direc-
                       tory.



       EROFS           The file name2 would reside on a read-only file system.



ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:


       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE TYPEATTRIBUTE VALUE Interface StabilityStan-
       dard


SEE ALSO
       cp(1), link(2), open(2), readlink(2), stat(2), unlink(2), attributes(5)



SunOS 5.10                        14 Apr 1995                       symlink(2)