File: header.h

package info (click to toggle)
ae 962-21.1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 248 kB
  • ctags: 324
  • sloc: ansic: 2,628; makefile: 118; sh: 22
file content (315 lines) | stat: -rw-r--r-- 7,491 bytes parent folder | download | duplicates (2)
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__ */