#ifndef _DEFS_H_cb643fcc_ #define _DEFS_H_cb643fcc_ #include typedef struct key KEY; typedef union key_limit KEY_LIMIT; typedef struct tree TREE; typedef union arg ARG; typedef struct ind_chain IND_CHAIN; typedef union i_f I_F; struct tree { TREE *link; char *name; int n_recent; KEY *keys; } ; union key_limit { int i; int *ip; float f; float *fp; } ; struct key { KEY *link; TREE *subtree; void *valp; char type; #define KEY_NORMAL 1 #define KEY_I 2 #define KEY_R 3 #define KEY_S 4 #define KEY_V 5 #define KEY_X 6 #define KEY_O 7 #define KEY_D 8 #define KEY_Q 9 union { unsigned short c; struct { unsigned int min_var : 1; unsigned int max_var : 1; unsigned int num_addr : 1; unsigned int min_addr : 1; unsigned int max_addr : 1; unsigned int isshort : 1; unsigned int islong : 1; unsigned int swept : 1; unsigned int havemin : 1; unsigned int havemax : 1; } s; } flags; KEY_LIMIT min; KEY_LIMIT max; char *name; char *help; char *prompt; void (*conditional)(void); } ; union arg { char *cp; int *ip; float *fp; double *dp; } ; struct ind_chain { IND_CHAIN *link; FILE *file; } ; union i_f { int i; double f; } ; extern TREE *_TMP_current_tree; extern TREE *_TMP_named_tree_chain; extern TREE **_TMP_tree_stack; extern int _TMP_tree_stack_n; extern int _TMP_trees_stacked; extern int _TMP_ninptrs; extern void **_TMP_inptrs; extern void _TMP_init_fsmsubs(void); extern int _TMPFSM_(char *); extern void _TMP_debug_trace(int, const char *); extern void _TMP_debug_action(const char *); extern int _TMPRFSM_(char *); extern int _TMPIFSM_(char *); #endif