getentropy(3)

NUME
getentropy - umple o memorie tampon cu octeți aleatori

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#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

DESCRIERE
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.

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

ERORI

EFAULT
    O parte sau toată memoria tampon specificată de buffer și length nu se află într-o memorie adresabilă validă.

EIO length este mai mare de 256.

EIO A apărut o eroare nespecificată în timpul încercării de a suprascrie buffer cu date aleatorii.

ENOSYS
    Această versiune a nucleului nu implementează apelul de sistem getrandom(2) necesar pentru a implementa această funcție.

STANDARDE
Niciunul.

ISTORIC
glibc 2.25. OpenBSD.

NOTE
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.

CONSULTAȚI ȘI
getrandom(2), urandom(4), random(7)

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

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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.