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 fonctionnalités pour la glibc (voir feature_test_macros(7)) :

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

DESCRIPTION
readlink() place le contenu du lien symbolique path dans le tampon buf dont la taille est bufsiz. 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 placés dans le tampon, 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 lors de la lecture sur le système de fichiers.

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 incluse, le type de retour de readlink() était déclaré comme un int. Aujourd'hui, le type de retour est déclaré comme un ssize_t, ainsi que le prescrit POSIX.1-2001.

VOIR AUSSI
lstat(2), readlinkat(2), stat(2), symlink(2), path_resolution(7), symlink(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 2 juillet 2008.

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.