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;
14 void (*read)(struct twimap* mapping);
15 int (*go_next)(struct twimap* mapping);
16 void (*reset)(struct twimap* mapping);
28 void (*read)(struct twimap* mapping);
29 int (*go_next)(struct twimap* mapping);
30 void (*reset)(struct twimap* mapping);
32 struct twimap_ops ops;
37 __twimap_default_reset(struct twimap* map);
40 __twimap_default_gonext(struct twimap* map);
43 twimap_read(struct twimap* map, void* buffer, size_t len, size_t fpos);
46 twimap_printf(struct twimap* mapping, const char* fmt, ...);
49 twimap_memcpy(struct twimap* mapping, const void* src, const size_t len);
52 twimap_memappend(struct twimap* mapping, const void* src, const size_t len);
55 twimap_create(void* data);
57 #endif /* __LUNAIX_TWIMAP_H */