annotate librandom.h @ 0:9ee92e7a1cb5 default tip

*: initial commit this is a very simple, bare-bones randomness API. if the system can't provide it, so be it -- init will fail.
author Paper <paper@tflc.us>
date Tue, 10 Jun 2025 16:18:50 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
1 #ifndef LIBRANDOM_H_
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
2 #define LIBRANDOM_H_
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
3
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
4 struct random {
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
5 void (*close)(struct random *r);
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
6 size_t (*read)(struct random *r, void *ptr, size_t s);
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
7
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
8 void *userdata;
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
9 };
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
10
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
11 int random_init(struct random *r);
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
12 void random_close(struct random *r);
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
13 size_t random_read(struct random *r, void *ptr, size_t s);
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
14
9ee92e7a1cb5 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
15 #endif /* LIBRANDOM_H_ */