Increase the size of the 'message' buffer, which is currently
[sgt/tweak] / tweak.h
1 #ifndef TWEAK_TWEAK_H
2 #define TWEAK_TWEAK_H
3
4 #ifndef NO_LARGE_FILES
5
6 #ifndef _LARGEFILE_SOURCE
7 #define _LARGEFILE_SOURCE
8 #endif
9 #ifndef _FILE_OFFSET_BITS
10 #define _FILE_OFFSET_BITS 64
11 #endif
12
13 #endif
14
15 #ifndef FALSE
16 #define FALSE 0
17 #endif
18 #ifndef TRUE
19 #define TRUE 1
20 #endif
21
22 #define EVER ;;
23
24 #ifdef MSDOS
25 #define ABORT 34 /* scan code for ^G */
26 #else
27 #define ABORT 7 /* character code for ^G */
28 #endif
29
30 #ifndef VER
31 #define VER ""
32 #endif
33
34 #define SEARCH_BLK 65536 /* so can this */
35 #define SAVE_BLKSIZ 32768 /* and this too */
36
37 #define COL_BUFFER 0 /* normal buffer colour */
38 #define COL_SELECT 1 /* selected-area colour */
39 #define COL_STATUS 2 /* status-line colour */
40 #define COL_ESCAPE 3 /* escape sequences in minibuffer */
41 #define COL_INVALID 4 /* invalid escape sequence in m/b */
42 #define COL_MINIBUF COL_BUFFER /* these should be the same */
43
44 #define NULL4 NULL, NULL, NULL, NULL
45 #define NULL16 NULL4, NULL4, NULL4, NULL4
46 #define NULL64 NULL16,NULL16,NULL16,NULL16
47 #define NULL256 NULL64,NULL64,NULL64,NULL64
48
49 #include <stdio.h>
50
51 #ifdef NO_LARGE_FILES
52 typedef int fileoffset_t; /* used for all file offsets */
53 #define OFF
54 #define ATOOFF atoi
55 #define STRTOOFF strtol
56 #define fseeko fseek
57 #define ftello ftell
58 #else
59 typedef long long fileoffset_t; /* used for all file offsets */
60 #define OFF "ll"
61 #define ATOOFF atoll
62 #define STRTOOFF strtoll
63 #endif
64
65 typedef int (*DFA)[256];
66 typedef struct {
67 int len;
68 DFA forward, reverse;
69 } Search;
70
71 typedef void (*keyact) (void);
72
73 typedef struct buffer buffer;
74
75 extern char toprint[256], hex[256][3], message[512];
76 extern char decstatus[], hexstatus[], *statfmt;
77 extern char last_char, *pname, *filename;
78 extern buffer *filedata, *cutbuffer;
79 extern int fix_mode, look_mode, insert_mode, edit_type, finished, marking;
80 extern fileoffset_t file_size, top_pos, cur_pos, mark_point;
81 extern int scrlines, modified, new_file;
82 extern fileoffset_t width, offset, realoffset;
83 extern int ascii_enabled;
84
85 #ifdef unix
86 extern volatile int safe_update, update_required;
87 extern void update (void);
88 #endif
89
90 extern void fix_offset(void);
91 extern fileoffset_t parse_num (char *buffer, int *error);
92
93 extern void draw_scr (void);
94 extern int backup_file (void);
95 extern int save_file (void);
96
97 extern void act_self_ins (void);
98 extern keyact parse_action (char *);
99
100 extern void proc_key (void);
101 extern void bind_key (char *, int, keyact);
102
103 extern Search *build_search (char *, int);
104 void free_search(Search *s);
105
106 extern int get_str (char *, char *, int);
107 extern int parse_quoted (char *);
108 extern void suspend (void);
109
110 extern void read_rc (void);
111 extern void write_default_rc (void);
112
113 extern buffer *buf_new_empty(void);
114 extern buffer *buf_new_from_file(FILE *fp);
115 extern void buf_free(buffer *buf);
116
117 extern void buf_insert_data(buffer *buf, void *data, int len,
118 fileoffset_t pos);
119 extern void buf_fetch_data(buffer *buf, void *data, int len, fileoffset_t pos);
120 extern void buf_overwrite_data(buffer *buf, void *data, int len,
121 fileoffset_t pos);
122 extern void buf_delete(buffer *buf, fileoffset_t len, fileoffset_t pos);
123 extern buffer *buf_cut(buffer *buf, fileoffset_t len, fileoffset_t pos);
124 extern buffer *buf_copy(buffer *buf, fileoffset_t len, fileoffset_t pos);
125 extern void buf_paste(buffer *buf, buffer *cutbuffer, fileoffset_t pos);
126 extern fileoffset_t buf_length(buffer *buf);
127
128 extern void display_setup(void);
129 extern void display_cleanup(void);
130 extern void display_beep(void);
131 extern int display_rows, display_cols;
132 extern void display_moveto(int y, int x);
133 extern void display_refresh(void);
134 extern void display_write_str(char *str);
135 extern void display_write_chars(char *str, int len);
136 extern void display_define_colour(int colour, int fg, int bg, int reverse);
137 extern void display_set_colour(int colour);
138 extern void display_clear_to_eol(void);
139 extern int display_getkey(void);
140 extern int display_input_to_flush(void);
141 extern void display_post_error(void);
142 extern void display_recheck_size(void);
143
144 #endif /* TWEAK_TWEAK_H */