getentropy(3) | Library Functions Manual | getentropy(3) |
NOM
getentropy - Remplir un tampon avec des octets aléatoires
BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)
SYNOPSIS
#include <unistd.h>
int getentropy(void buffer[.length], size_t length);
getentropy() :
_DEFAULT_SOURCE
DESCRIPTION
La fonction getentropy() écrit longueur octets de données à caractère aléatoire de haute qualité dans le tampon débutant à la position mémoire pointée par tampon. L'argument longueur ne doit pas dépasser 256.
En cas de succès, getentropy() génère toujours le nombre d'octets d'entropie demandé.
VALEUR RENVOYÉE
En cas de succès, cette fonction renvoie zéro. En cas d'erreur, elle renvoie -1 et errno est définie de façon à indiquer la nature de l'erreur.
ERREURS
- EFAULT
- Tout ou partie du tampon spécifié par tampon et longueur n'est pas dans une zone de mémoire adressable valable.
- EIO
- longueur est supérieure à 256.
- EIO
- Une erreur inconnue est survenue en tentant d'écraser tampon avec des données aléatoires.
- ENOSYS
- Cette version du noyau ne prend pas en charge l'appel système getrandom(2) nécessaire à l'implémentation de cette fonction.
STANDARDS
Aucune.
HISTORIQUE
glibc 2.25. OpenBSD.
NOTES
La fonction getentropy() est implémentée en utilisant getrandom(2).
Alors que l'interface de la glibc fait de getrandom(2) un point d'annulation (cancelation point), getentropy() n'en est pas un.
getentropy() est aussi déclarée dans <sys/random.h> (il n'est pas nécessaire de définir une macro de test de fonctionnalité pour obtenir la déclaration à partir de ce fichier d'en-têtes).
Un appel à getentropy() peut se bloquer si le système vient juste de démarrer et si le noyau n'a pas encore collecté assez de données aléatoires pour initialiser la réserve d'entropie. Dans ce cas, getentropy() restera bloqué même si un signal est envoyé, et ne rendra la main que lorsque le jeu d'entropie aura été initialisé.
VOIR AUSSI
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 Lucien Gentis <lucien.gentis@waika9.com>
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 à debian-l10n-french@lists.debian.org.
2 mai 2024 | Pages du manuel de Linux 6.8 |