emul.h revision 78828
178828Sobrien/* emul.h.  File format emulation routines
278828Sobrien   Copyright 2001 Free Software Foundation, Inc.
378828Sobrien
478828Sobrien   This file is part of GAS, the GNU Assembler.
578828Sobrien
678828Sobrien   GAS is free software; you can redistribute it and/or modify
778828Sobrien   it under the terms of the GNU General Public License as published by
878828Sobrien   the Free Software Foundation; either version 2, or (at your option)
978828Sobrien   any later version.
1078828Sobrien
1178828Sobrien   GAS is distributed in the hope that it will be useful,
1278828Sobrien   but WITHOUT ANY WARRANTY; without even the implied warranty of
1378828Sobrien   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1478828Sobrien   GNU General Public License for more details.
1578828Sobrien
1678828Sobrien   You should have received a copy of the GNU General Public License
1778828Sobrien   along with GAS; see the file COPYING.  If not, write to the Free
1878828Sobrien   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
1978828Sobrien   02111-1307, USA.  */
2078828Sobrien
2133965Sjdp#ifndef EMUL_DEFS
2233965Sjdp#define EMUL_DEFS
2333965Sjdp
2433965Sjdpstruct emulation {
2533965Sjdp  void (*match) PARAMS ((const char *));
2633965Sjdp  const char *name;
2733965Sjdp  void (*init) PARAMS ((void));
2833965Sjdp  const char *(*bfd_name) PARAMS ((void));
2933965Sjdp  unsigned local_labels_fb : 1;
3033965Sjdp  unsigned local_labels_dollar : 1;
3133965Sjdp  unsigned leading_underscore : 2;
3233965Sjdp  unsigned strip_underscore : 1;
3333965Sjdp  unsigned default_endian : 2;
3433965Sjdp  const char *fake_label_name;
3533965Sjdp  const struct format_ops *format;
3633965Sjdp};
3733965Sjdp
3833965SjdpCOMMON struct emulation *this_emulation;
3933965Sjdp
4033965Sjdpextern const char *default_emul_bfd_name PARAMS ((void));
4133965Sjdpextern void common_emul_init PARAMS ((void));
4233965Sjdp
4333965Sjdp#endif
44