Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

       Стандартная библиотека языка C (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), необходимого для реализации
              данной функции.

СТАНДАРТЫ

       Отсутствуют.

ИСТОРИЯ

       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> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот перевод является свободной программной документацией; он распространяется на условиях  общедоступной
       лицензии  GNU  (GNU  General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

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

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                    getentropy(3)