getentropy(3) Library Functions Manual getentropy(3)

getentropy - umple o memorie tampon cu octeți aleatori

Biblioteca C standard (libc, -lc)

#include <unistd.h>
int getentropy(void buffer[.length], size_t length);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

getentropy():

    _DEFAULT_SOURCE

Funcția getentropy() scrie length octeți de date aleatoare de înaltă calitate în memoria tampon începând de la locația indicată de buffer. Valoarea maximă permisă pentru argumentul length este de 256.

Un apel reușit la getentropy() furnizează întotdeauna numărul de octeți de entropie solicitat.

În caz de succes, această funcție returnează zero. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

O parte sau toată memoria tampon specificată de buffer și length nu se află într-o memorie adresabilă validă.
length este mai mare de 256.
A apărut o eroare nespecificată în timpul încercării de a suprascrie buffer cu date aleatorii.
Această versiune a nucleului nu implementează apelul de sistem getrandom(2) necesar pentru a implementa această funcție.

Niciunul.

glibc 2.25. OpenBSD.

Funcția getentropy() este implementată utilizând getrandom(2).

În timp ce învăluitorul glibc face din getrandom(2) un punct de anulare, getentropy() nu este un punct de anulare.

getentropy() este, de asemenea, declarată în <sys/random.h>; (nu este necesar să se definească nicio macro de testare a caracteristicilor pentru a obține declarația din acel fișier antet).

Un apel la getentropy() se poate bloca dacă sistemul tocmai a pornit și dacă nucleul nu a colectat încă suficientă aleatoritate pentru a inițializa fondul de entropie. În acest caz, getentropy() va continua să se blocheze chiar dacă este gestionat un semnal și returnează numai după ce fondul de entropie a fost inițializat.

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

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

2 mai 2024 Pagini de manual de Linux 6.9.1