#ifndef macros_h
#define macros_h

/* This defines the macro structures.
 *
 * $Log: macros.h,v $
 * Revision 1.2  1997/06/04 01:13:55  david
 * ANSI-fied the program.
 *
 */

static char *macro_h_Id = "$Id: macros.h,v 1.2 1997/06/04 01:13:55 david Exp $";

struct lines
   {
   int line; /* Line number */
   char *lptr; /* Pointer to line */
   struct lines *next;
   };
   
struct parms
   {
   char *parname;      /* A Parameter of the MACRO  */
   struct parms *next; /* Pointer to next parameter */
   };
   
struct macros
   {
   int line;               /* Line macro begins on               */
   char *name;             /* Name of macro                      */
   struct parms *parm;     /* Pointer to beginning of Parameters */
   struct lines *maclines; /* Pointer to beginning of MACRO BODY */
   struct macros *next;    /* Pointer to next macro              */
   };

struct macros *findmac( char * );
struct macros *newmac( char * );
void macparse( struct macros *, char * );
void macste( int );
void makeaparm( struct lines **, char * );

#endif
