Scroll to navigation

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);

Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

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

Tout ou partie du tampon spécifié par tampon et longueur n'est pas dans une zone de mémoire adressable valable.
longueur est supérieure à 256.
Une erreur inconnue est survenue en tentant d'écraser tampon avec des données aléatoires.
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

getrandom(2), urandom(4), random(7)

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