1 #ifndef __LUNAIX_TWIMAP_H
2 #define __LUNAIX_TWIMAP_H
4 #include <lunaix/types.h>
6 #define twimap_index(twimap, type) ((type)__ptr((twimap)->index))
7 #define twimap_data(twimap, type) ((type)__ptr((twimap)->data))
9 extern struct v_file_ops twimap_file_ops;
11 #define __TWIMAP_OPS \
12 void (*read)(struct twimap* mapping); \
13 int (*go_next)(struct twimap* mapping); \
14 void (*reset)(struct twimap* mapping);
30 struct twimap_ops ops;
31 struct { __TWIMAP_OPS };
37 twimap_read(struct twimap* map, void* buffer, size_t len, size_t fpos);
40 twimap_printf(struct twimap* mapping, const char* fmt, ...);
43 twimap_memcpy(struct twimap* mapping, const void* src, const size_t len);
46 twimap_memappend(struct twimap* mapping, const void* src, const size_t len);
49 twimap_create(void* data);
51 #endif /* __LUNAIX_TWIMAP_H */