macro.h revision 33965
172210Sasmodai/* macro.h - header file for macro support for gas and gasp
272210Sasmodai   Copyright (C) 1994, 1995 Free Software Foundation, Inc.
372210Sasmodai
472210Sasmodai   Written by Steve and Judy Chamberlain of Cygnus Support,
572210Sasmodai      sac@cygnus.com
672705Sphantom
772267Sache   This file is part of GAS, the GNU Assembler.
872210Sasmodai
972210Sasmodai   GAS is free software; you can redistribute it and/or modify
1072210Sasmodai   it under the terms of the GNU General Public License as published by
1172210Sasmodai   the Free Software Foundation; either version 2, or (at your option)
1272210Sasmodai   any later version.
1372210Sasmodai
1472275Sache   GAS is distributed in the hope that it will be useful,
1572327Sache   but WITHOUT ANY WARRANTY; without even the implied warranty of
1672210Sasmodai   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1772210Sasmodai   GNU General Public License for more details.
1872210Sasmodai
1972210Sasmodai   You should have received a copy of the GNU General Public License
2072210Sasmodai   along with GAS; see the file COPYING.  If not, write to the Free
2172210Sasmodai   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
2272210Sasmodai   02111-1307, USA. */
2372210Sasmodai
2472210Sasmodai#ifndef MACRO_H
2572210Sasmodai
2672210Sasmodai#define MACRO_H
2772210Sasmodai
2872210Sasmodai#include "ansidecl.h"
2972210Sasmodai#include "sb.h"
3072210Sasmodai
3172210Sasmodai/* Whether any macros have been defined.  */
3272210Sasmodai
3372210Sasmodaiextern int macro_defined;
3472210Sasmodai
3572210Sasmodai/* The macro nesting level.  */
3672210Sasmodai
37extern int macro_nest;
38
39extern int buffer_and_nest
40  PARAMS ((const char *, const char *, sb *, int (*) PARAMS ((sb *))));
41extern void macro_init
42  PARAMS ((int alternate, int mri, int strip_at,
43	   int (*) PARAMS ((const char *, int, sb *, int *))));
44extern const char *define_macro
45  PARAMS ((int idx, sb *in, sb *label, int (*get_line) PARAMS ((sb *)),
46	   const char **namep));
47extern int check_macro PARAMS ((const char *, sb *, int, const char **));
48extern void delete_macro PARAMS ((const char *));
49extern const char *expand_irp
50  PARAMS ((int, int, sb *, sb *, int (*) PARAMS ((sb *)), int));
51
52#endif
53