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