Usando RNDADDENTROPY para adicionar entropy a / dev / random
Eu tenho um dispositivo que gera algum ruído que eu quero adicionar ao pool de entropia para o dispositivo / dev / random em um sistema Linux embarcado.
Eu estou lendo oPágina man on / dev / random e eu realmente não entendo a estrutura que você passa para a chamada ioctl RNDADDENTROPY.
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
nessa estrutura o número de bits que estou adicionando? Por que isso não seria semprebuf_size * 8
(assumindo quebuf_size
está em termos de bytes)?
Além disso, porque é quebuf
uma matriz de tamanho zero? Como devo atribuir um valor a ele?
Obrigado por qualquer ajuda aqui!