diff options
Diffstat (limited to 'src/datagen.c')
-rw-r--r-- | src/datagen.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/datagen.c b/src/datagen.c new file mode 100644 index 0000000..9efe3b3 --- /dev/null +++ b/src/datagen.c @@ -0,0 +1,25 @@ +#include <unistd.h> +#include <stddef.h> +#include <errno.h> +#include "datagen.h" +#include "defs.h" + +int gen_get(struct stream *in, size_t idx, struct entry_l *data, int tag) +{ + int ret = 0; + (void) idx; + + if (tag) { + data->prev = 0; + data->next = 0; + } + + in->prev_idx = -1; + ret = read(in->fd, &data->val, sizeof(data->val)); + + if (ret != sizeof(data->val)) { + ret = ret > 0 ? EAGAIN : errno; + } + + return ret; +} |