Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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) op-
       eration 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 re-
       sults  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 ex-
		       hausted;	the new	symbolic link cannot  be  created  be-
		       cause the user's	quota of disk blocks on	that file sys-
		       tem has been exhausted; or the user's quota  of	inodes
		       on  the file system where the file is being created has
		       been exhausted.

       EEXIST	       The file	referred to by name2 already exists.

       EFAULT	       The name1 or name2 argument points to  an  illegal  ad-
		       dress.

       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:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

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

SunOS 5.10			  14 Apr 1995			    symlink(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=symlink&sektion=2&manpath=SunOS+5.10>

home | help