SYMLINK(2)

NOM
symlink - Creer un nouveau nom pour un fichier.

SYNOPSIS
#include <unistd.h>

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

DESCRIPTION
symlink cree un lien symbolique nomme oldpath qui pointe sur newpath. Les liens sont interpretes a l'execution, comme si le contenu du lien etait remplace par le chemin d'acces pour trouver un fichier ou un repertoire. Les liens symboliques peuvent contenir les composants . et .. pour le chemin, qui (s'ils sont utilises au debut du lien) se referent au repertoire ou le lien reside et a son repertoire parent. Un lien symbolique (aussi nomme soft link) peut pointer vers un fichier existant ou sur un fichier non-existant. Les permissions d'acces a un lien symbolique sont sans importance, le proprietaire est ignore lorsque l'on suit le lien, il n'est verifie que pour supprimer ou renommer le lien si celui si se trouve dans un repertoire avec le Sticky-Bit positionne. Si newpath existe il ne sera pas ecrase.

VALEUR RENVOYEE
symlink renvoie zero s'il reussit ou -1 s'il echoue auquel cas errno contient le code d'erreur.

ERREURS

EPERM
    le systeme de fichier contenant pathname ne permet pas la creation de liens symboliques.

EFAULT
    oldpath ou newpath pointent en dehors de l'espace d'adressage accessible.

EACCES
    L'ecriture dans le repertoire newpath pour l'UID effectif du processus, ou l'un des repertoire composant newpath ne permet pas l'execution.

ENAMETOOLONG
    oldpath ou newpath est trop long.

ENOENT
    Un repertoire dans le chemin newpath n'existe pas ou est un lien symbolique pointant nulle part. Ou encore oldpath est une chaine vide.

ENOTDIR
    Un composant du chemin d'acces newpath n'est pas un repertoire.

ENOMEM
    Pas assez de memoire pour le noyau.

EROFS
    Le fichier est sur n systeme de fichiers en lecture seule.

EEXIST
    newpath existe deja.

ELOOP
    newpath contient une reference circulaire (a travers un lien symbolique).

ENOSPC
    Le peripherique n'a plus assez de place pour une entree de repertoire.

NOTES
Il n'y a pas de verification de oldpath. Effacer le nom referencant un lien symbolique effacera effectivement le fichier (a moins qu'il ait d'autres liens materiels). Si ce comportement est indesirable, utiliser link.

CONFORMITE
SVr4, SVID, POSIX, BSD 4.3. SVr4 mentionne des codes d'erreur supplementaires EDQUOT, EIO, ENAMETOOLONG, ENOSYS.

BUGS
Voir open(2) concernant les multiples fichiers avec le meme nom, et NFS.

VOIR AUSSI
link(2), unlink(2), rename(2), open(2), lstat(2), ln(1), link(8).