1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315
|
/*
* header.h
*
* Anthony's Editor February 96
*
* Copyright 1993, 1996 by Anthony Howe. All rights reserved. No warranty.
*/
#ifndef __header_h__
#define __header_h__ 1
#ifdef __STDC__
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <signal.h>
#endif /* __STDC__ */
#ifdef ATARI_ST
/* Atari's Sozobon C has ANSI-like libraries
* and headers but no prototypes.
*/
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <sys/osbind.h>
#define DRIVE_COLON 1
#define EITHER_SLASH 1
#ifndef FILE_MODE
#define FILE_MODE 0
#endif
#endif /* ATARI_ST */
#ifdef __WATCOMC__
#ifdef MSDOS
#define __MSDOS__ 1
#endif
#endif /* __WATCOMC__ */
#ifdef __MSDOS__
#define DRIVE_COLON 1
#define EITHER_SLASH 1
#ifndef FILE_MODE
#define FILE_MODE 0
#endif
#endif /* __MSDOS__ */
#ifdef BSD
#ifndef __STDC__
#include <signal.h>
#include <varargs.h>
#include <strings.h>
extern char *getenv();
extern char *malloc();
extern char *realloc();
extern char *strtok();
#endif /* __STDC__ */
#endif /* BSD */
#ifndef SIG_ERR
#define SIG_ERR ((void (*) _((int))) -1)
#endif
#include <assert.h>
#include <slcurses.h>
#include "key.h"
#ifdef SLCURSES
#if !defined(OK) || ((OK) != 0)
#define OK (0)
#endif
#endif SLCURSES
#if !defined (DEBIAN) || defined (SLCURSES)
#ifdef BADCURSES
#ifndef erasechar
#define erasechar() '\b'
#endif
#ifndef killchar
#define killchar() CTRL('x')
#endif
#ifndef idlok
#define idlok(w,f) OK
#endif
#endif
extern int my_addch _((int));
#endif /* BADCURSES */
#undef _
#ifdef __STDC__
#define _(x) x
#else
#define _(x) ()
#define const
#endif
#define VERSION \
"0:AE July 93. Copyright 1993, 1993 by Anthony Howe. No warranty."
#ifndef CONFIG
#define CONFIG "ae.rc"
#endif /* CONFIG */
#ifndef CHUNK
#define CHUNK 8096L
#endif /* CHUNK */
#ifndef FILE_MODE
#define FILE_MODE 0600
#endif /* FILE_MODE */
/* Screen partitioning. */
#define MSGLINE 0
#define HELPLINE 1
#undef TEXTLINE
#define NOMARK -1
typedef long SSIZE_T; /* ssize_t not defined all systems. */
typedef char *t_msg;
typedef unsigned char t_char;
typedef long t_point;
typedef struct t_keytable {
short key;
void (*func) _((void));
void (*disp) _((void));
} t_keytable;
typedef struct t_region {
t_point left;
t_point right;
} t_region;
/*
* Function return codes.
*/
#define GETBLOCK_EOF (-1L)
#define GETBLOCK_ERROR (-2L)
#define GETBLOCK_ALLOC (-3L)
/*
* Some compilers define size_t as a unsigned 16 bit number while
* t_point and off_t might be defined as a signed 32 bit number.
* malloc(), realloc(), fread(), and fwrite() take size_t parameters,
* which means there will be some size limits because size_t is too
* small of a type.
*/
#define MAX_SIZE_T ((unsigned long) (size_t) ~0)
#define MAX_SSIZE_T ((unsigned long) (SSIZE_T) ~(size_t) 0 >> 1)
/*
*
*/
extern int done; /* Quit flag. */
extern int modified; /* Text buffer modified flag. */
extern int modeless; /* Command-set style. */
extern int msgflag; /* True if msgline should be displayed. */
extern int row; /* Cursor screen row */
extern int col; /* Cursor screen column. */
extern int textline; /* First screen line used for text. */
extern t_point point; /* Cursor offset in text buffer. */
extern t_point pointline; /* Cursor line number. */
extern t_point page; /* Top of screen page. */
extern t_point epage; /* End of screen page +1 */
extern t_point marker; /* Block anchor point. */
extern t_char *buf; /* Base of allocated text buffer. */
extern t_char *ebuf; /* End of text buffer +1 */
extern t_char *gap; /* Start of gap. */
extern t_char *egap; /* End of gap +1 */
extern t_point nscrap; /* Length of scrap buffer. */
extern t_char *scrap; /* Allocated scrap buffer. */
extern int count; /* Command repeat count. */
extern int input; /* Current input character. */
extern char msgline[]; /* Message line input/output buffer. */
extern char filename[]; /* Current filename for text buffer. */
extern char temp[]; /* Temporary buffer. */
extern char *prog_name; /* Name used to invoke editor. */
extern t_keytable table[]; /* Command jump table. */
extern t_keymap *key_map; /* Command key mappings. */
extern t_keymap key_mode[]; /* Key mappings used in insert_mode() */
/* fatal() messages. */
extern t_msg f_ok; /* EXIT_OK */
extern t_msg f_error; /* EXIT_ERROR */
extern t_msg f_usage; /* EXIT_USAGE */
extern t_msg f_initscr; /* EXIT_FAILURE ... */
extern t_msg f_config;
extern t_msg f_alloc;
/* Messages. */
extern t_msg m_version;
extern t_msg m_help;
extern t_msg m_ok;
extern t_msg m_error;
extern t_msg m_alloc;
extern t_msg m_toobig;
extern t_msg m_scrap;
extern t_msg m_stat;
extern t_msg m_open;
extern t_msg m_close;
extern t_msg m_read;
extern t_msg m_write;
extern t_msg m_badname;
extern t_msg m_file;
extern t_msg m_modified;
extern t_msg m_saved;
extern t_msg m_loaded;
extern t_msg m_badescape;
extern t_msg m_nomacro;
extern t_msg m_slots;
extern t_msg m_interrupt;
extern t_msg m_eof;
extern t_msg m_undo;
/* Prompts */
extern t_msg p_macro;
extern t_msg p_notsaved;
extern t_msg p_press;
extern t_msg p_read;
extern t_msg p_write;
extern t_msg p_bwrite;
extern t_msg p_yes;
extern t_msg p_no;
extern t_msg p_quit;
extern t_msg p_more;
extern t_msg message[];
/*
*
*/
#ifdef TERMIOS
extern void lineinput _((int));
#else
#define lineinput(bf) (bf ? nocbreak() : cbreak())
#endif /* TERMIOS */
extern void fatal _((t_msg, ...));
extern void msg _((t_msg, ...));
extern char *getmsg _((t_msg));
extern char *strlwr _((char *));
extern char *strdup _((const char *));
extern char *strrep _((char *, int, int, int));
extern char *pathname _((char *, char *));
extern FILE *openrc _((char *));
extern long getblock _((FILE *, char **));
extern char *encode _((char *));
extern void display _((void (*)(void)));
extern void dispfull _((void));
extern void dispcursor _((void));
extern t_point lnstart _((t_point));
extern t_point lnnext _((t_point));
extern t_point lncolumn _((t_point, int));
extern t_point segstart _((t_point, t_point));
extern t_point segnext _((t_point, t_point));
extern t_point upup _((t_point));
extern t_point dndn _((t_point));
extern void ruler _((int));
extern char *printable _((unsigned));
extern int growgap _((t_point));
extern t_point movegap _((t_point));
extern t_point pos _((t_char *));
extern t_char *ptr _((t_point));
extern void getregion _((t_region *));
extern int posix_file _((char *));
extern int save _((char *));
extern int load _((char *));
extern void undoset _((void));
extern void undosave _((void));
extern void undo _((void));
extern void backsp _((void));
extern void block _((void));
extern void bottom _((void));
extern void cut _((void));
extern void delete _((void));
extern void down _((void));
extern void help _((void));
extern void insert _((void));
extern void insert_mode _((void));
extern void left _((void));
extern void lnbegin _((void));
extern void lnend _((void));
extern void macro _((void));
extern void paste _((void));
extern void pgdown _((void));
extern void pgup _((void));
extern void quit _((void));
extern void quit_ask _((void));
extern void redraw _((void));
extern void readfile _((void));
extern void right _((void));
extern void top _((void));
extern void up _((void));
extern void version _((void));
extern void wleft _((void));
extern void wright _((void));
extern void writefile _((void));
extern void flipcase _((void));
extern int iscrlf _((t_point));
#endif /* __header_h__ */
|