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