Использование RNDADDENTROPY для добавления энтропии в / dev / random

У меня есть устройство, которое генерирует некоторый шум, который я хочу добавить в пул энтропии для устройства / dev / random во встроенной системе Linux.

Я читаюСтраница man на / dev / random и я не очень понимаю структуру, которую вы передаете в вызов RNDADDENTROPY ioctl.

   RNDADDENTROPY
          Add some additional entropy to the input pool, incrementing
          the entropy count.  This differs from writing to /dev/random
          or /dev/urandom, which only adds some data but does not
          increment the entropy count.  The following structure is used:

              struct rand_pool_info {
                  int    entropy_count;
                  int    buf_size;
                  __u32  buf[0];
              };

          Here entropy_count is the value added to (or subtracted from)
          the entropy count, and buf is the buffer of size buf_size
          which gets added to the entropy pool.

Являетсяentropy_count в этой структуре количество бит, которые я добавляю? Почему это не всегда такbuf_size * 8 (при условии, чтоbuf_size это в байтах)?

Дополнительно почемуbuf массив нулевого размера? Как я должен назначить значение для него?

Спасибо за любую помощь здесь!

Ответы на вопрос(3)

Ваш ответ на вопрос