| #include <stdio.h> | |
| #include <unistd.h> | |
| #include <sys/types.h> | |
| #include <sys/stat.h> | |
| #include <fcntl.h> | |
| #include <stdlib.h> | |
| #define BUF_SIZE 256 | |
| static __attribute__((noinline)) | |
| void urandom_read(int fd, int count) | |
| { | |
| char buf[BUF_SIZE]; | |
| int i; | |
| for (i = 0; i < count; ++i) | |
| read(fd, buf, BUF_SIZE); | |
| } | |
| int main(int argc, char *argv[]) | |
| { | |
| int fd = open("/dev/urandom", O_RDONLY); | |
| int count = 4; | |
| if (fd < 0) | |
| return 1; | |
| if (argc == 2) | |
| count = atoi(argv[1]); | |
| urandom_read(fd, count); | |
| close(fd); | |
| return 0; | |
| } |