table of contents
getentropy(3) | Library Functions Manual | getentropy(3) |
NAZWA¶
getentropy - wypełnia bufor losowymi bajtami
BIBLIOTEKA¶
Standardowa biblioteka C (libc, -lc)
SKŁADNIA¶
#include <unistd.h>
int getentropy(void buffer[.length], size_t length);
getentropy():
_DEFAULT_SOURCE
OPIS¶
Funkcja getentropy() zapisuje liczbę length bajtów losowych danych o wysokiej jakości do bufora, zaczynającego się w położeniu, na które wskazuje buffer. Maksymalną dozwoloną wartością argumentu length jest 256.
Pomyślne wywołanie do getentropy() zawsze zwraca żądaną liczbę bajtów entropii.
WARTOŚĆ ZWRACANA¶
W przypadku powodzenia funkcja ta zwraca zero. W razie wystąpienia błędu zwracane jest -1 i ustawiane errno, wskazując błąd.
BŁĘDY¶
- EFAULT
- Część lub całość bufora określonego przez buffer i length nie jest prawidłowo adresowalną pamięcią.
- EIO
- Argument length jest większy niż 256.
- EIO
- Wystąpił nieokreślony błąd podczas próby nadpisania bufora buffer losowymi danymi.
- ENOSYS
- Bieżąca wersja jądra nie implementuje wywołania systemowego getrandom(2), które jest wymagane do zaimplementowania tej funkcji.
STANDARDY¶
Brak.
HISTORIA¶
glibc 2.25. OpenBSD.
UWAGI¶
Funkcja getentropy() jest zaimplementowana za pomocą getrandom(2).
Tam gdzie opakowanie z glibc czyni getrandom(2) punktem anulowania, getentropy() nie jest punktem anulowania.
getentropy() jest deklarowane również w <sys/random.h> (do uzyskania deklaracji z tego pliku nagłówkowego nie jest potrzebne deklarowanie żadnego makra sprawdzania cech).
Wywołanie do getentropy() może blokować, jeśli system jest tuż po rozruchu i jądro nie zebrało jeszcze wystarczająco dużo losowości do zainicjowania puli entropii. W takim przypadku, getentropy() będzie utrzymywało blokowanie nawet wtedy, gdy obsługiwany jest sygnał i powróci jedynie po zainicjowaniu puli entropii.
ZOBACZ TAKŻE¶
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
2 maja 2024 r. | Linux man-pages (niewydane) |