starting to add timing to vm driver
[dcpu16] / common.h
1 #ifndef COMMON_H_QPRCB1BH
2 #define COMMON_H_QPRCB1BH
3
4 #include <stdlib.h>
5
6 struct dynamic_array {
7 size_t entry_size;
8 size_t grow_size;
9 size_t allocated;
10 size_t entries;
11 void *a;
12 };
13
14 #define DYNARRAY_ITEM(da, index) ( (char *)(da).a + ( (da).entry_size * index ) )
15
16 int dynarray_init(struct dynamic_array *da, size_t entry_size, size_t grow_size);
17 struct dynamic_array *dynarray_new(size_t entry_size, size_t grow_size);
18 void *dynarray_add(struct dynamic_array *da, void *item);
19
20 int str_to_word(char *s);
21
22 char *strqtok_r(char *str, const char *sep, int esc, const char *quote, char **lastq, char **lasts);
23
24 int timeval_subtract(struct timeval *result, struct timeval *x, struct timeval *y);
25
26 #endif /* COMMON_H_QPRCB1BH */