lookup_dcookie
Section: System Calls (2)
Updated: 4 décembre 2022
Index
Return to Main Contents
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
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 à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- VERSIONS
-
- STANDARDS
-
- NOTES
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 08:09:22 GMT, May 18, 2024