lookup_dcookie(2)

NOM
lookup_dcookie - Renvoyer le chemin d'accès d'un élément de répertoire

BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)

SYNOPSIS
#include <sys/syscall.h>      /* Définition des constantes SYS_* */
#include <unistd.h>

int syscall(SYS_lookup_dcookie, uint64_t cookie, char *buffer,
            size_t len);

Remarque : la glibc ne fournit par d'enveloppe pour lookup_dcookie(), imposant l'utilisation de syscall(2).

DESCRIPTION
Renvoie le chemin complet de l'élément de répertoire spécifié par la valeur cookie. Le cookie est un identifiant opaque référençant de manière unique un élément de répertoire donné. Le tampon fourni est rempli avec le chemin d'accès complet de cet élément.

Pour que lookup_dcookie() fonctionne, le noyau doit déjà connaître le cookie référençant l'élément de répertoire.

VALEUR RENVOYÉE
S'il réussit, lookup_dcookie() renvoie la longueur de la chaîne copiée dans le tampon. En cas d'erreur, il renvoie -1 et errno est défini pour préciser l'erreur.

ERREURS

EFAULT
    Le tampon est invalide.

EINVAL
    Le noyau n'a pas d'association cookie/élément de répertoire correspondant au cookie, ou le cookie ne fait pas référence à un élément valide.

ENAMETOOLONG
    Le nom ne tient pas dans le tampon.

ENOMEM
    Le noyau ne peut pas allouer assez de mémoire pour les tampons temporaires.

EPERM
    Le processus n'a pas la capacité CAP_SYS_ADMIN nécessaire pour lire des valeurs de cookie.

ERANGE
    Le tampon fourni n'est pas assez grand pour contenir le chemin d'accès.

VERSIONS
Disponible depuis Linux 2.5.43. L'erreur ENAMETOOLONG a été ajoutée dans Linux 2.5.70.

STANDARDS
lookup_dcookie() est spécifique à Linux.

NOTES
lookup_dcookie() est un appel système spécial, utilisé actuellement uniquement par le profiler oprofile(1). Il s'appuie sur un pilote du noyau pour enregistrer les cookies des éléments de répertoire.

Le chemin renvoyé peut avoir un suffixe « (deleted) » si l'élément de répertoire a été supprimé.

VOIR AUSSI
oprofile(1)

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.