|
|
1.1 ! root 1: /* ! 2: * code.h ! 3: * Nroff/Troff. ! 4: * Data structure for storing character codes and stream directives. ! 5: */ ! 6: ! 7: /* ! 8: * Stream directives. ! 9: */ ! 10: #define DNULL 0 /* Null */ ! 11: #define DHMOV (-1) /* Move horizontally */ ! 12: #define DVMOV (-2) /* Move vertically */ ! 13: #define DFONT (-3) /* Change font */ ! 14: #define DPSZE (-4) /* Change pointsize */ ! 15: #define DSPAR (-5) /* Space down and return */ ! 16: #define DPADC (-6) /* Paddable character */ ! 17: #define DHYPH (-7) /* Place to hyphenate */ ! 18: #define DHYPC (-8) /* Hyphen character */ ! 19: #define DTRAB (-9) /* Transparent buffer */ ! 20: #define DFPOS (-10) /* Fix position */ ! 21: #define DHLIN (-11) /* Horizontal line */ ! 22: #define DVLIN (-12) /* Vertical line */ ! 23: ! 24: /* ! 25: * All characters and commands are stored in this structure. ! 26: * To identify whether an element is a character or a command, ! 27: * call the function ifcchar(element) which returns 1 if the ! 28: * element is a character code and 0 if the element is a command. ! 29: */ ! 30: typedef union { ! 31: struct c_arg { /* Structure containing character */ ! 32: int c_code; /* Character code */ ! 33: unsigned c_move; /* Distance to move after char */ ! 34: } c_arg; ! 35: struct l_arg { /* Command with one int argument */ ! 36: int c_code; /* Type of command */ ! 37: int c_iarg; /* Int parameter */ ! 38: } l_arg; ! 39: struct b_arg { /* Command with buffer ptr. (dag)*/ ! 40: int c_code; /* Type of command */ ! 41: char *c_bufp; /* Pointer to buffer */ ! 42: } b_arg; ! 43: } CODE; ! 44: ! 45: /* ! 46: * Macros testing whether an element is a character code ! 47: * or a stream directive. ! 48: */ ! 49: #define is_char(c) ((c) > 0) ! 50: #define is_dir(c) ((c) < 0) ! 51: ! 52: /* ! 53: * Global variables. ! 54: */ ! 55: extern CODE codeval; /* Diversion struct returned by getl */ ! 56: ! 57: /* end of code.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.