/*
 *	symtab.h
 */

typedef struct stab {
   struct stab	*s_next;	/* Pointer to next stab */
   char		*s_text;	/* cmd */
   char 	is_math_mode_only;
   unsigned 	flags;
} Latex_Command;


extern Latex_Command Command_Table[];
extern char *Math_Environments[];

#define IS_MATH_MODE(s)		((s)->is_math_mode_only)


/* (br) added Args() Macro */
#ifdef __STDC__
#  define Args(x)	x
#else
#  define Args(x)	()
#endif


extern void	 	init_cmdtable  Args((int debug_flag));

  /* Initialize the command hash table with all pre-known command */
  /* in 'Command_Table'.  If 'debug_flag' is set, cry about double */
  /* command entries. */


extern Latex_Command 	*command_lookup  Args((char *command));

  /* ARGUMENTS:
     char *command;
  */

  /* 'command' is the name of a presumed latex command, excluding the */
  /* initial backslash.   Returns NULL if command is not in the command */
  /* table, otherwise the pointer into the command table of the entry for */
  /* the input command. */


extern int is_math_environment  Args((char *keyword));

  /* ARGUMENTS:
     char *keyword;
  */

  /* Returns 1 or 0 */


extern void list_undefined_commands  Args((void));

  /* Print a list of all undefined commands to stdout. */
