|
|
DataMuseum.dkPresents historical artifacts from the history of: Commodore CBM-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Commodore CBM-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2300 (0x8fc)
Types: TextFile
Notes: UNIX file
Names: »str.h«
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code
└─⟦f4b8d8c84⟧ UNIX Filesystem
└─⟦this⟧ »cmd/nroff/str.h«
/*
* Nroff/Troff.
* Input stack.
*/
#define SREQS 0 /* Request */
#define SSINP 1 /* Insertion from standard input */
#define SFILE 2 /* File I/O */
#define SCORE 3 /* Core I/O */
#define SCTEX 4 /* Chained text */
#define SCDIV 5 /* Chained diversion */
/*
* Used for stacking input sources.
*/
typedef union str {
struct { /* Used for insertions from stdin */
union str *s_next; /* Pointer to next in stack */
int s_type; /* Type of input */
int s_eoff; /* End of file flag */
int s_clnc; /* Current line number */
int s_nlnc; /* Last line number */
int s_argc; /* Number of arguments */
char *s_argp[ARGSIZE]; /* Pointer to arguments */
char *s_abuf; /* Arg buffer space */
};
struct { /* File I/O */
union str *s_next; /* Pointer to next in stack */
int s_type; /* Type of input */
int s_eoff; /* End of file flag */
int s_clnc; /* Current line number */
int s_nlnc; /* Last line number */
int s_argc; /* Number of arguments */
char *s_argp[ARGSIZE]; /* Pointer to arguments */
char *s_abuf; /* Arg buffer space */
FILE *s_fp; /* File pointer */
};
struct { /* Core I/O */
union str *s_next; /* Pointer to next in stack */
int s_type; /* Type of input */
int s_eoff; /* End of file flag */
int s_clnc; /* Current line number */
int s_nlnc; /* Last line number */
int s_argc; /* Number of arguments */
char *s_argp[ARGSIZE]; /* Pointer to arguments */
char *s_abuf; /* Arg buffer space */
char *s_cp; /* Pointer in core */
char *s_srel; /* Released when unstacked */
};
struct { /* Chained I/O */
union str *s_next; /* Pointer to next in stack */
int s_type; /* Type of input */
int s_eoff; /* End of file flag */
int s_clnc; /* Current line number */
int s_nlnc; /* Last line number */
int s_argc; /* Number of arguments */
char *s_argp[ARGSIZE]; /* Pointer to arguments */
char *s_abuf; /* Arg buffer space */
char *s_bufp; /* Pointer to buffer */
char *s_bufend; /* End of buffer in core */
union mac *s_macp; /* Next in chain list */
int s_disk; /* Data is on disk */
char *s_sp; /* Position in core */
long s_seek; /* Seek position */
int s_n; /* Counter (count down) */
};
} STR;
/*
* Global variables.
*/
extern STR *strp; /* Input stack */