Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       getentropy - заполнение буфера случайными байтами

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <unistd.h>

       int getentropy(void buffer[.length], size_t length);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       getentropy():
           _DEFAULT_SOURCE

ОПИСАНИЕ

       Функция  getentropy()  записывает length байт высококачественных случайных данных в буфер,
       начинающийся в области, указанной в buffer.  Максимально  разрешенное  значение  аргумента
       length равно 256.

       Успешный вызов getentropy() всегда предоставляет затребованное число байт энтропии.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       On  success,  this  function  returns zero.  On error, -1 is returned, and errno is set to
       indicate the error.

ОШИБКИ

       EFAULT Часть или весь буфер, указанный в buffer и length, не является валидной  адресуемой
              памятью.

       EIO    Значение length больше 256.

       EIO    При попытке перезаписать buffer случайными данными произошла ошибка.

       ENOSYS Данная версия ядра не имеет реализации системного вызова getrandom(2), необходимого
              для реализации данной функции.

ВЕРСИИ

       Функция getentropy() впервые появилась в glibc 2.25.

СТАНДАРТЫ

       Эта функция является нестандартной. Она также присутствует в OpenBSD.

ЗАМЕЧАНИЯ

       Функция getentropy() реализована через вызов getrandom(2).

       Whereas the glibc wrapper makes getrandom(2)  a cancelation point, getentropy()  is not  a
       cancelation point.

       Функция  getentropy()  также объявлена в <sys/random.h> (для получения этого объявления из
       заголовочного файла макроса тестирования свойств не требуется).

       Вызов getentropy() может блокировать работу, если система только что  загрузилась  и  ядро
       ещё не успело набрать достаточно случайных событий для инициализации пула энтропии. В этом
       случае getentropy() продолжает блокировать работу даже  при  обработке  сигнала  и  вернёт
       управление только после завершения инициализации пула энтропии.

СМ. ТАКЖЕ

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

ПЕРЕВОД

       Русский    перевод    этой    страницы    руководства    был    сделан   Azamat   Hackimov
       <azamat.hackimov@gmail.com>,   Dmitry   Bolkhovskikh   <d20052005@yandex.ru>,    Vladislav
       <ivladislavefimov@gmail.com>,    Yuri    Kozlov   <yuray@komyakino.ru>   и   Иван   Павлов
       <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.