Add define for Kirk Smith's USR Courier driver. Change default baud
[unix-history] / usr / src / usr.bin / window / context.h
index 43bf538..f9887fd 100644 (file)
@@ -1,42 +1,55 @@
 /*
 /*
- *     @(#)context.h   3.2 83/12/07
+ * @(#)context.h       3.7 %G%
  */
 
  */
 
+/*
+ * Copyright (c) 1983 Regents of the University of California,
+ * All rights reserved.  Redistribution permitted subject to
+ * the terms of the Berkeley Software License Agreement.
+ */
+
+#include <stdio.h>
+
 struct context {
        struct context *x_link;         /* nested contexts */
 struct context {
        struct context *x_link;         /* nested contexts */
-       char x_type;
-       union {                         /* input info */
-               struct {
-                       char *X_filename;
-                       FILE *X_fp;
-                       short X_lineno;
-                       char X_bol;
-                       char X_noerrwin;
-                       struct ww *X_errwin;
+       char x_type;                    /* tag for union */
+       union {
+               struct {        /* input is a file */
+                       char *X_filename;       /* input file name */
+                       FILE *X_fp;             /* input stream */
+                       short X_lineno;         /* current line number */
+                       char X_bol;             /* at beginning of line */
+                       char X_noerr;           /* don't report errors */
+                       struct ww *X_errwin;    /* error window */
                } x_f;
                } x_f;
-               struct {
-                       char *X_buf;
-                       char *X_bufp;
+               struct {        /* input is a buffer */
+                       char *X_buf;            /* input buffer */
+                       char *X_bufp;           /* current position in buf */
+                       struct value *X_arg;    /* argument for alias */
+                       int X_narg;             /* number of arguments */
                } x_b;
        } x_un;
                } x_b;
        } x_un;
-       int x_token;                    /* holding place for token */
-       struct value x_val;
-       unsigned x_erred :1;            /* parser error flags */
-       unsigned x_synerred :1;
-       unsigned x_abort :1;
+               /* holding place for current token */
+       int x_token;                    /* the token */
+       struct value x_val;             /* values associated with token */
+               /* parser error flags */
+       unsigned x_erred :1;            /* had an error */
+       unsigned x_synerred :1;         /* had syntax error */
+       unsigned x_abort :1;            /* fatal error */
 };
 #define x_buf          x_un.x_b.X_buf
 #define x_bufp         x_un.x_b.X_bufp
 };
 #define x_buf          x_un.x_b.X_buf
 #define x_bufp         x_un.x_b.X_bufp
+#define x_arg          x_un.x_b.X_arg
+#define x_narg         x_un.x_b.X_narg
 #define x_filename     x_un.x_f.X_filename
 #define x_fp           x_un.x_f.X_fp
 #define x_lineno       x_un.x_f.X_lineno
 #define x_bol          x_un.x_f.X_bol
 #define x_errwin       x_un.x_f.X_errwin
 #define x_filename     x_un.x_f.X_filename
 #define x_fp           x_un.x_f.X_fp
 #define x_lineno       x_un.x_f.X_lineno
 #define x_bol          x_un.x_f.X_bol
 #define x_errwin       x_un.x_f.X_errwin
-#define x_noerrwin     x_un.x_f.X_noerrwin
-
-#define X_FILE         1
-#define X_BUF          2
+#define x_noerr                x_un.x_f.X_noerr
 
 
-struct context cx;
+       /* x_type values, 0 is reserved */
+#define X_FILE         1               /* input is a file */
+#define X_BUF          2               /* input is a buffer */
 
 
-struct context *x_alloc();
+struct context cx;                     /* the current context */