af9b6c418886c8614b084a64aa8150c9937219cf
[visor] / libvisor / src / vimpl.h
1 #ifndef VIMPL_H_
2 #define VIMPL_H_
3
4 #include "visor.h"
5
6 struct visor {
7         struct vi_fileops fop;
8         struct vi_buffer *buflist;      /* circular linked list of buffers cur first */
9         struct vi_alloc mm;
10         struct vi_ttyops tty;
11         void *tty_cls;
12 };
13
14 struct vi_buffer {
15         struct visor *vi;
16         char *path;
17         struct vi_buffer *next, *prev;
18
19         vi_addr cursor, view_start;
20         int view_xscroll;
21
22         vi_file *fp;
23         int file_mapped;
24
25         char *orig;
26         unsigned long orig_size;
27         char *add;
28         int add_size, add_max;
29
30         struct vi_span *spans;
31         int num_spans, max_spans;
32 };
33
34 enum { SPAN_ORIG, SPAN_ADD };
35
36 #endif  /* VIMPL_H_ */