6 #ifndef _LARGEFILE_SOURCE
7 #define _LARGEFILE_SOURCE
9 #ifndef _FILE_OFFSET_BITS
10 #define _FILE_OFFSET_BITS 64
25 #define ABORT 34 /* scan code for ^G */
27 #define ABORT 7 /* character code for ^G */
34 #define SEARCH_BLK 65536 /* so can this */
35 #define SAVE_BLKSIZ 32768 /* and this too */
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 */
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
52 typedef int fileoffset_t
; /* used for all file offsets */
55 #define STRTOOFF strtol
59 typedef long long fileoffset_t
; /* used for all file offsets */
62 #define STRTOOFF strtoll
65 typedef int (*DFA
)[256];
71 typedef void (*keyact
) (void);
73 typedef struct buffer buffer
;
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
;
86 extern volatile int safe_update
, update_required
;
87 extern void update (void);
90 extern void fix_offset(void);
91 extern fileoffset_t
parse_num (char *buffer
, int *error
);
93 extern void draw_scr (void);
94 extern int backup_file (void);
95 extern int save_file (void);
97 extern void act_self_ins (void);
98 extern keyact
parse_action (char *);
100 extern void proc_key (void);
101 extern void bind_key (char *, int, keyact
);
103 extern Search
*build_search (char *, int);
104 void free_search(Search
*s
);
106 extern int get_str (char *, char *, int);
107 extern int parse_quoted (char *);
108 extern void suspend (void);
110 extern void read_rc (void);
111 extern void write_default_rc (void);
113 extern buffer
*buf_new_empty(void);
114 extern buffer
*buf_new_from_file(FILE *fp
);
115 extern void buf_free(buffer
*buf
);
117 extern void buf_insert_data(buffer
*buf
, void *data
, int len
,
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
,
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
);
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);
144 #endif /* TWEAK_TWEAK_H */