broken up into pieces
[unix-history] / usr / src / usr.bin / window / context.h
CommitLineData
1fb887dd 1/*
3b06703c 2 * @(#)context.h 3.2 83/12/07
1fb887dd
EW
3 */
4
5struct context {
6 struct context *x_link; /* nested contexts */
7 char x_type;
8 union { /* input info */
9 struct {
10 char *X_filename;
11 FILE *X_fp;
3b06703c 12 short X_lineno;
1fb887dd 13 char X_bol;
3b06703c 14 char X_noerrwin;
1fb887dd 15 struct ww *X_errwin;
1fb887dd
EW
16 } x_f;
17 struct {
18 char *X_buf;
19 char *X_bufp;
20 } x_b;
21 } x_un;
22 int x_token; /* holding place for token */
23 struct value x_val;
24 unsigned x_erred :1; /* parser error flags */
25 unsigned x_synerred :1;
26 unsigned x_abort :1;
27};
28#define x_buf x_un.x_b.X_buf
29#define x_bufp x_un.x_b.X_bufp
30#define x_filename x_un.x_f.X_filename
31#define x_fp x_un.x_f.X_fp
32#define x_lineno x_un.x_f.X_lineno
1fb887dd
EW
33#define x_bol x_un.x_f.X_bol
34#define x_errwin x_un.x_f.X_errwin
3b06703c 35#define x_noerrwin x_un.x_f.X_noerrwin
1fb887dd
EW
36
37#define X_FILE 1
38#define X_BUF 2
39
40struct context cx;
41
42struct context *x_alloc();