#ifndef ALGOS_DEFS_H_INCLUDED #define ALGOS_DEFS_H_INCLUDED #include #include #include /* for array implementation */ struct entry { uint64_t val; }; /* for linked list implementation */ struct entry_l { struct entry; uint32_t next; /* """pointer""" to the next element. */ uint32_t prev; /* """pointer""" to the previous element. */ }; enum opmode { mode_normal, mode_fetch, mode_generate }; struct stream { size_t n; ssize_t prev_idx; int fd; int out; char *name; }; struct settings { size_t ss; size_t to; size_t stride; char *filein; char *fileout; unsigned int flags; enum opmode opmode; int (*get)(struct stream, size_t, struct entry_l *, int); int (*put)(struct stream, size_t, struct entry_l *, int); }; #endif /* ALGOS_DEFS_H_INCLUDED */