#ifndef common_h
typedef int ICT; /* from inter code common.h */
#endif
typedef union u_rwc{
int bfnum; /* buffer or file number */
FILE *uf; /* file */
STRING defstr; /* string in CT */
ICT *bytecode; /* pointer to a compiled code segment */
} URWC ;
typedef struct st_rwc{
struct st_rwc *next; /* pointer to next in list */
int cmd; /* command keyword enum */
int pcenum; /* print_control enum */
URWC rwcode; /* print_control value */
} STRWC, *PSTRWC ;
typedef struct st_entry { /* symbol table entry */
STRING command; /* user defined command string */
int kind; /* user defined kind of command */
int parse_kind; /* system defined kind of command */
int mode; /* mode for this command (if any) */
struct st_entry *next_mode; /* pointer to next mode */
PSTRWC printing; /* print control (changed 6/96 from int) */
PSTRWC command_t; /* command tag */
PSTRWC command_et; /* end of command tag */
int numparams; /* user defined no. of required params */
PSTRWC param_t[9]; /* parameter begin tags */
PSTRWC param_et[9]; /* parameter end tags */
PSTRWC print_param[9]; /* param text print control (changed 6/96 from int) */
int opt_param_pos; /* position (if any) of optional param */
PSTRWC opt_param_t; /* opt param begin tag */
PSTRWC opt_param_et; /* opt param end tag */
PSTRWC popt_param_t[2]; /* (SD) first and last opt param begin tag */
PSTRWC popt_param_et[2]; /* (SD) first and last opt param end tags */
PSTRWC print_opt[2]; /* opt param text print control (changed 6/96 from int) */
PSTRWC start_pc; /* starting print control (added 6/96) */
PSTRWC end_pc; /* ending print control (added 6/96) */
int sectioning_level; /* user specified sectioning level */
int special_token; /* user defined special token for/from yac */
} STENTRY, *PSENTRY;
#define IERR -1
enum print_control{
#define kwtc(a, b)
#define lctc(a, b)
#define pctc(a, b) a,
#include "l2xlibtc.h"
#undef kwtc
#undef lctc
#undef pctc
};