xref: /386bsd/usr/src/usr.bin/gas/md.h (revision a2142627)
1 /* md.h -machine dependent- */
2 
3 /* Copyright (C) 1987 Free Software Foundation, Inc.
4 
5 This file is part of Gas, the GNU Assembler.
6 
7 The GNU assembler is distributed in the hope that it will be
8 useful, but WITHOUT ANY WARRANTY.  No author or distributor
9 accepts responsibility to anyone for the consequences of using it
10 or for whether it serves any particular purpose or works at all,
11 unless he says so in writing.  Refer to the GNU Assembler General
12 Public License for full details.
13 
14 Everyone is granted permission to copy, modify and redistribute
15 the GNU Assembler, but only under the conditions described in the
16 GNU Assembler General Public License.  A copy of this license is
17 supposed to have been given to you along with the GNU Assembler
18 so you can know your rights and responsibilities.  It should be
19 in a file named COPYING.  Among other things, the copyright
20 notice and this notice must be preserved on all copies.  */
21 
22 /* In theory (mine, at least!) the machine dependent part of the assembler
23    should only have to include one file.  This one.  -- JF */
24 
25 /* JF added this here */
26 typedef struct {
27   char *	poc_name;	/* assembler mnemonic, lower case, no '.' */
28   void		(*poc_handler)();	/* Do the work */
29   int		poc_val;	/* Value to pass to handler */
30 }
31 pseudo_typeS;
32 extern const pseudo_typeS md_pseudo_table[];
33 
34 /* JF moved this here from as.h under the theory that nobody except MACHINE.c
35    and write.c care about it anyway. */
36 
37 typedef struct
38 {
39 	long	rlx_forward;	/* Forward  reach. Signed number. > 0. */
40 	long	rlx_backward;	/* Backward reach. Signed number. < 0. */
41 	unsigned char rlx_length;	/* Bytes length of this address. */
42 	relax_substateT rlx_more;	/* Next longer relax-state. */
43 				/* 0 means there is no 'next' relax-state. */
44 }
45 relax_typeS;
46 
47 extern const relax_typeS md_relax_table[]; /* Define it in MACHINE.c */
48 
49 char *		md_atof();
50 void		md_assemble();
51 void		md_begin();
52 void		md_convert_frag();
53 void		md_end();
54 int		md_estimate_size_before_relax();
55 void		md_number_to_chars();
56 
57 /* end: md.h */
58