READLINK(2)

NOM
readlink - Lire le contenu d'un lien symbolique

SYNOPSIS
#include <unistd.h>

ssize_t readlink(const char *path, char *buf, size_t bufsiz);

Exigences de macros de test de fonctionalités pour la glibc (voir feature_test_macros(7)) :

readlink() : _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L

DESCRIPTION
readlink() place le contenu d'un lien symbolique path dans le tampon buf, lequel doit contenir au moins bufsiz octets. readlink() n'ajoute pas de caractère NUL dans le tampon buf. Il tronquera le contenu (à la longueur bufsiz) si le tampon est trop petit pour recevoir les données.

VALEUR RENVOYÉE
readlink() renvoie le nombre de caractères lus, ou -1 s'il échoue, auquel cas errno contient le code d'erreur.

ERREURS

EACCES
    Un élément du chemin d'accès ne permet pas la recherche. (Voir aussi path_resolution(7).)

EFAULT
    Buf pointe en-dehors de l'espace d'adressage accessible.

EINVAL
    bufsiz n'est pas positif.

EINVAL
    Le fichier n'est pas un lien symbolique.

EIO Une erreur d'entrée-sortie s'est produite durant la lecture.

ELOOP
    pathn contient une référence circulaire (à travers un lien symbolique).

ENAMETOOLONG
    path ou l'un des composants de ce chemin d'accès est trop long.

ENOENT
    Le fichier indiqué n'existe pas. ENOMEM Pas assez de mémoire pour le noyau.

ENOTDIR
    Un élément du chemin d'accès n'est pas un répertoire.

CONFORMITÉ
BSD 4.4 (la fonction readlink() est apparue dans BSD 4.2), POSIX.1-2001.

NOTES
Dans les versions de la glibc jusqu'à la 2.4 y compris, le type de retour de readlink() était un int. Aujourd'hui, le type de retour est ssize_t, comme (récemment) réclamé par POSIX.1-2001.

VOIR AUSSI
lstat(2), readlinkat(2), stat(2), symlink(2), path_resolution(7)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 12 octobre 1996 et révisée le 19 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 readlink ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.