Add random functions
This commit is contained in:
parent
f567646b68
commit
4acbc99663
3 changed files with 12 additions and 1 deletions
|
@ -56,6 +56,7 @@ static inline bool gmrf_addr_equal(const gmrf_addr_t *addr1, const gmrf_addr_t *
|
||||||
}
|
}
|
||||||
|
|
||||||
gmrf_time_t gmrf_now(gmrf_t *gmrf);
|
gmrf_time_t gmrf_now(gmrf_t *gmrf);
|
||||||
|
void gmrf_random_bytes(gmrf_t *gmrf, void *buffer, size_t len);
|
||||||
void gmrf_logf(gmrf_t *gmrf, int priority, const char *format, ...);
|
void gmrf_logf(gmrf_t *gmrf, int priority, const char *format, ...);
|
||||||
|
|
||||||
gmrf_addr_t gmrf_iface_get_addr(gmrf_t *gmrf, gmrf_iface_t *iface);
|
gmrf_addr_t gmrf_iface_get_addr(gmrf_t *gmrf, gmrf_iface_t *iface);
|
||||||
|
|
10
mmss/mmss.c
10
mmss/mmss.c
|
@ -35,6 +35,14 @@ gmrf_time_t gmrf_now(gmrf_t *gmrf) {
|
||||||
return gmrf->mmss->now;
|
return gmrf->mmss->now;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void gmrf_random_bytes(gmrf_t *gmrf, void *buffer, size_t len) {
|
||||||
|
uint8_t *data = buffer;
|
||||||
|
|
||||||
|
size_t i;
|
||||||
|
for (i = 0; i < len; i++)
|
||||||
|
data[i] = rand_r(&gmrf->rand_seed);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void init_nodes(gmrf_t *nodes) {
|
static void init_nodes(gmrf_t *nodes) {
|
||||||
gmrf_t *node;
|
gmrf_t *node;
|
||||||
|
@ -72,7 +80,7 @@ int main(int argc, char *argv[]) {
|
||||||
mmss_t mmss = { .now = 0 };
|
mmss_t mmss = { .now = 0 };
|
||||||
|
|
||||||
mmss_network_t net = { .mtu = 1500 };
|
mmss_network_t net = { .mtu = 1500 };
|
||||||
gmrf_t node1 = { .name = "node1", .mmss = &mmss, .proto = proto }, node2 = { .name = "node2", .mmss = &mmss, .proto = proto };
|
gmrf_t node1 = { .name = "node1", .mmss = &mmss, .rand_seed = 1, .proto = proto }, node2 = { .name = "node2", .mmss = &mmss, .rand_seed = 2, .proto = proto };
|
||||||
|
|
||||||
node2.next = &node1;
|
node2.next = &node1;
|
||||||
gmrf_t *nodes = &node2;
|
gmrf_t *nodes = &node2;
|
||||||
|
|
|
@ -73,6 +73,8 @@ struct gmrf {
|
||||||
gmrf_context_t *ctx;
|
gmrf_context_t *ctx;
|
||||||
gmrf_iface_t *interfaces;
|
gmrf_iface_t *interfaces;
|
||||||
|
|
||||||
|
unsigned rand_seed;
|
||||||
|
|
||||||
const mmss_protocol_t *proto;
|
const mmss_protocol_t *proto;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Reference in a new issue