diff options
Diffstat (limited to 'src/defs.h')
-rw-r--r-- | src/defs.h | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -23,8 +23,8 @@ }} while (0); -#define get(in) (in->cached ? in->get_next_element_cache(in) : in->get_next_element_direct(in)) -#define put(in, data) (in->cached ? in->place_next_element_cache(in, data) : in->place_next_element_direct(in, data)) +#define get(in) (in->settings->access == cached ? in->get_next_element_cache(in) : in->get_next_element_direct(in)) +#define put(in, data) (in->settings->access == cached ? in->place_next_element_cache(in, data) : in->place_next_element_direct(in, data)) #define stream_blank .fd = -1, .settings = &settings, .get_next_element_direct = stub_getnext, \ .get_next_element_cache = stub_getnext, .place_next_element_direct = stub_put, \ @@ -57,12 +57,19 @@ enum dataformat { list }; +enum streamtype { + stream_invalid = -1, + stream_in, + stream_out, + stream_outlite, + stream_chardev +}; + struct stream { struct stream *parent; size_t n; int fd; - int out; - int cached; + enum streamtype type; char *name; size_t stride; size_t index; |