Loading

NOM

       linkat - Créer un lien vers un fichier relatif à un répertoire

SYNOPSIS

       #define _ATFILE_SOURCE
       #include <fcntl.h> /* Définition des constantes AT_* */
       #include <unistd.h>

       int linkat(int olddirfd, const char *oldpath,
                  int newdirfd, const char *newpath, int flags);

       L’appel  système  linkat()  fonctionne  exactement  comme  link(2), les
       seules différences étant celles décrites dans cette page.

       Si le chemin donné dans oldpath est  relatif,  il  est  interprété  par
       rapport  au répertoire référencé par le descripteur de fichier olddirfd
       (plutôt que par rapport au répertoire courant  du  processus  appelant,
       comme dans link(2)).

       Si  oldpath  est  relatif  et  olddirfd  a la valeur spéciale AT_FDCWD,
       oldpath est interprété relativement au répertoire courant du  processus
       appelant, comme link(2).

       Si oldpath est un chemin absolu, olddirfd est ignoré.

       L’interprétation  de  newpath est identique à celle de oldpath, excepté
       qu’un  chemin  relatif  est  interprété  par  rapport   au   répertoire
       correspondant à newdirfd.

       Par  défaut,  linkat()  ne  déréférence  pas  oldpath  si c’est un lien
       symbolique (de même  que  link(2)).  Depuis  Linux  2.6.18,  l’attribut
       AT_SYMLINK_FOLLOW   peut   être   passé   dans  flags  pour  forcer  le
       déréférencement de oldpath si c’est un lien symbolique. Avant le  noyau
       2.6.18, l’argument flags n’était pas utilisé, et devait être nul.

VALEUR RENVOYÉE

       S’il  réussit, linkat() renvoie zéro. En cas d’erreur, il renvoie -1 et
       remplit errno avec la valeur d’erreur.

ERREURS

       Les erreurs renvoyées par link(2) peuvent aussi  l’être  par  linkat().
       Les  erreurs  supplémentaires  suivantes  peuvent également se produire
       pour linkat() :

       EBADF  olddirfd  ou  newdirfd  n’est  pas  un  descripteur  de  fichier
              valable.

       ENOTDIR
              oldpath est un chemin relatif, et olddirfd est un descripteur de
              fichier ne référençant pas un répertoire ; ou bien c’est le  cas
              pour newpath et newdirfd.

VERSIONS

       linkat() a été ajouté au noyau Linux dans sa version 2.6.16.

CONFORMITÉ

       POSIX.1-2008.

NOTES

       Voir openat(2) pour une explication de la nécessité de linkat().

VOIR AUSSI

       link(2), openat(2), path_resolution(7), symlink(7)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a été traduite et est maintenue par Julien Cristau
       <julien.cristau@ens-lyon.org>  et l’équipe francophone de traduction de
       Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».