summaryrefslogtreecommitdiffstats
path: root/src/defs.h
diff options
context:
space:
mode:
authorGravatar Gediminas Jakutis <gediminas@varciai.lt> 2021-02-11 08:17:03 +0200
committerGravatar Gediminas Jakutis <gediminas@varciai.lt> 2021-02-11 08:17:03 +0200
commit4a14ab7ab48e3fd591dde33d59c6d29fc39f1c5d (patch)
tree8d4e527e4a8ad76819e3baa1b89441eeb1081f15 /src/defs.h
parent41efe7b8f9f67d5956ab677f3631478c48114ac1 (diff)
downloadalgos-ld1-4a14ab7ab48e3fd591dde33d59c6d29fc39f1c5d.tar.gz
algos-ld1-4a14ab7ab48e3fd591dde33d59c6d29fc39f1c5d.tar.bz2
algos-ld1-4a14ab7ab48e3fd591dde33d59c6d29fc39f1c5d.zip
continue the overhaul.
we can finally create a basic array input data file too! Signed-off-by: Gediminas Jakutis <gediminas@varciai.lt>
Diffstat (limited to 'src/defs.h')
-rw-r--r--src/defs.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/defs.h b/src/defs.h
index cb03c81..39960d9 100644
--- a/src/defs.h
+++ b/src/defs.h
@@ -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;