diff options
Diffstat (limited to 'man2/symlink.2')
-rw-r--r-- | man2/symlink.2 | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/man2/symlink.2 b/man2/symlink.2 new file mode 100644 index 000000000..efcd6af26 --- /dev/null +++ b/man2/symlink.2 @@ -0,0 +1,154 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" +.\" This manpage is Copyright (C) 1992 Drew Eckhardt; +.\" 1993 Michael Haardt, Ian Jackson. +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one. +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.\" Modified 1993-07-24 by Rik Faith +.\" Modified 1996-04-26 by Nick Duffek <nsd@bbc.com> +.\" Modified 1996-11-06 by Eric S. Raymond <esr@thyrsus.com> +.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com> +.\" Modified 2004-06-23 by Michael Kerrisk <mtk16@ext.canterbury.ac.nz> +.\" +.TH SYMLINK 2 2004-06-23 "Linux 2.6.7" "Linux Programmer's Manual" +.SH NAME +symlink \- make a new name for a file +.SH SYNOPSIS +.B #include <unistd.h> +.sp +.BI "int symlink(const char *" oldpath ", const char *" newpath ); +.SH DESCRIPTION +.B symlink +creates a symbolic link named +.I newpath +which contains the string +.IR oldpath . + +Symbolic links are interpreted at run-time as if the contents of the +link had been substituted into the path being followed to find a file or +directory. + +Symbolic links may contain +.B .. +path components, which (if used at the start of the link) refer to the +parent directories 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 +.RB ( S_ISVTX ) +set. + +If +.I newpath +exists it will +.I not +be overwritten. +.SH "RETURN VALUE" +On success, zero is returned. On error, \-1 is returned, and +.I errno +is set appropriately. +.SH ERRORS +.TP +.B EACCES +Write access to the directory containing +.I newpath +is denied, or one of the directories in the path prefix of +.IR newpath +did not allow search permission. +(See also +.BR path_resolution (2).) +.TP +.B EEXIST +.I newpath +already exists. +.TP +.B EFAULT +.IR oldpath " or " newpath " points outside your accessible address space." +.TP +.B EIO +An I/O error occurred. +.TP +.B ELOOP +Too many symbolic links were encountered in resolving +.IR newpath . +.TP +.B ENAMETOOLONG +.IR oldpath " or " newpath " was too long." +.TP +.B ENOENT +A directory component in +.I newpath +does not exist or is a dangling symbolic link, or +.I oldpath +is the empty string. +.TP +.B ENOMEM +Insufficient kernel memory was available. +.TP +.B ENOSPC +The device containing the file has no room for the new directory +entry. +.TP +.B ENOTDIR +A component used as a directory in +.IR newpath +is not, in fact, a directory. +.TP +.B EPERM +The filesystem containing +.IR newpath +does not support the creation of symbolic links. +.TP +.B EROFS +.I newpath +is on a read-only filesystem. +.SH NOTES +No checking of +.I 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 +.BR link . +.SH "CONFORMING TO" +SVr4, SVID, POSIX, BSD 4.3. SVr4 documents additional error codes +SVr4, SVID, BSD 4.3, X/OPEN. SVr4 documents additional error codes +EDQUOT and ENOSYS. +See +.BR open (2) +re multiple files with the same name, and NFS. +.SH "SEE ALSO" +.BR ln (1), +.BR link (2), +.BR lstat (2), +.BR open (2), +.BR path_resolution (2), +.BR readlink (2), +.BR rename (2), +.BR unlink (2) |