Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ symlink(2) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

link(2)

readlink(2)

unlink(2)

cp(1)



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
     symlink 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(2) on a
     symbolic link returns the linked-to  file,  while  an  lstat
     returns information about the link itself.  This can lead to
     surprising results when a symbolic link is made to a  direc-
     tory.   To avoid confusion in programs, the readlink(2) call
     can be used to read the contents of a symbolic link.

     The symbolic link is made unless one or more of the  follow-
     ing are true:

     EACCES              Search permission is denied for  a  com-
                         ponent of the path prefix of name2.

     EDQUOT              The directory in which the entry for the
                         new symbolic link is being placed cannot
                         be extended because the user's quota  of
                         disk  blocks on the file system contain-
                         ing the directory has been exhausted.

     EDQUOT              The new symbolic link cannot be  created
                         because  the user's quota of disk blocks
                         on the file system  which  will  contain
                         the link has been exhausted.

     EDQUOT              The user's quota of inodes on  the  file
                         system   on  which  the  file  is  being
                         created has been exhausted.

     EEXIST              The file referred to  by  name2  already
                         exists.

     EFAULT              name1 or name2 points outside the  allo-
                         cated address space for the process.

     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.



                                                                1





symlink(2)                SYSTEM CALLS                 symlink(2)



     ENAMETOOLONG        The length of the name1 or  name2  argu-
                         ment  exceeds  {PATHMAX}, or the length
                         of a name1 or  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 direc-
                         tory.

     ENOSPC              The new symbolic link cannot be  created
                         because  no  space  is  left on the file
                         system which will contain the link.

     ENOSPC              There are no free  inodes  on  the  file
                         system   on  which  the  file  is  being
                         created.

     ENOSYS              The file system does  not  support  sym-
                         bolic 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.

DIAGNOSTICS
     Upon successful completion symlink returns  a  value  of  0;
     otherwise, it returns -1 and places an error code in errno.

SEE ALSO
     link(2), readlink(2), unlink(2).  cp(1) in the User's Refer-
     ence Manual.
















                                                                2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026