Lines Matching refs:len
91 int getentropy(void *buf, size_t len);
96 static int gotdata(char *buf, size_t len);
98 static int getentropy_getrandom(void *buf, size_t len);
100 static int getentropy_urandom(void *buf, size_t len);
102 static int getentropy_sysctl(void *buf, size_t len);
104 static int getentropy_fallback(void *buf, size_t len);
107 getentropy(void *buf, size_t len)
111 if (len > 256) {
120 ret = getentropy_getrandom(buf, len);
133 ret = getentropy_urandom(buf, len);
156 ret = getentropy_sysctl(buf, len);
188 ret = getentropy_fallback(buf, len);
200 gotdata(char *buf, size_t len)
205 for (i = 0; i < len; ++i)
214 getentropy_getrandom(void *buf, size_t len)
218 if (len > 256)
221 ret = syscall(SYS_getrandom, buf, len, 0);
224 if (ret != (int)len)
232 getentropy_urandom(void *buf, size_t len)
267 for (i = 0; i < len; ) {
268 size_t wanted = len - i;
280 if (gotdata(buf, len) == 0) {
291 getentropy_sysctl(void *buf, size_t len)
297 for (i = 0; i < len; ) {
298 size_t chunk = min(len - i, 16);
311 if (gotdata(buf, len) == 0) {
347 getentropy_fallback(void *buf, size_t len)
372 for (i = 0; i < len; ) {
547 memcpy((char*)buf + i, results, min(sizeof(results), len - i));
548 i += min(sizeof(results), len - i);
551 if (gotdata(buf, len) == 0) {