symlink

Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services

NAME

       symlink - make a new name for a file


SYNOPSIS

       #include <unistd.h>

       int symlink(const char *oldpath, const char *newpath);


DESCRIPTION

       symlink  creates  a symbolic link named oldpath which con-
       tains newpath.

       Symbolic links are interpreted at run-time, as if the con-
       tents  of  the  link  were substituted into the path being
       followed to find a file or directory.

       Symbolic links may contain ..  path components, which  (if
       used  at the start of the link) refer to the parent direc-
       tories of that in which the link resides.

       A symbolic link (also known as a soft link) may  point  to
       an  existing file or to a nonexistent one; the latter case
       is known as a dangling link.

       The permissions of a symbolic  link  are  irrelevant;  the
       ownership  is  ignored  when  following  the  link, but is
       checked when removal or renaming of the link is  requested
       and the link is in a directory with the sticky bit set.

       If newpath exists it will not be overwritten.


RETURN VALUE

       On  success,  zero is returned.  On error, -1 is returned,
       and errno is set appropriately.


ERRORS

       EPERM   The filesystem containing pathname does  not  sup-
               port the creation of symbolic links.

       EFAULT  oldpath  or newpath points outside your accessible
               address space.

       EACCES  Write access to the directory  containing  newpath
               is not allowed for the process's effective uid, or
               one of the directories in newpath  did  not  allow
               search (execute) permission.

       ENAMETOOLONG
               oldpath or newpath was too long.

       ENOENT  A directory component in newpath does not exist or
               is a dangling symbolic link,  or  oldpath  is  the
               empty string.

       ENOTDIR A component used as a directory in newpath is not,
               in fact, a directory.

       ENOMEM  Insufficient kernel memory was available.

       EROFS   The file is on a read-only filesystem.

       EEXIST  newpath already exists.

       ELOOP   newpath contains a reference to  a  circular  sym-
               bolic  link,  ie  a  symbolic link whose expansion
               contains a reference to itself.

       ENOSPC  The device containing the file has no room for the
               new directory entry.


NOTES

       No checking of oldpath is done.

       Deleting  the  name referred to by a symlink will actually
       delete the file (unless it also has other hard links).  If
       this behaviour is not desired, use link.


CONFORMING TO

       SVID, AT&T, POSIX, BSD 4.3


BUGS

       See open(2) re multiple files with the same name, and NFS.


SEE ALSO

       link(2), unlink(2), rename(2), open(2),  lstat(2),  ln(1),
       link(8).
Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services
Copyright (C) 1998 Hurricane Electric. All Rights Reserved.