1/* This file is listing.h
2   Copyright (C) 1987-2017 Free Software Foundation, Inc.
3
4   This file is part of GAS, the GNU Assembler.
5
6   GAS is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 3, or (at your option)
9   any later version.
10
11   GAS is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   GNU General Public License for more details.
15
16   You should have received a copy of the GNU General Public License
17   along with GAS; see the file COPYING.  If not, write to the Free
18   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
19   02110-1301, USA.  */
20
21#ifndef __listing_h__
22#define __listing_h__
23
24#define LISTING_LISTING    1
25#define LISTING_SYMBOLS    2
26#define LISTING_NOFORM     4
27#define LISTING_HLL        8
28#define LISTING_NODEBUG   16
29#define LISTING_NOCOND    32
30#define LISTING_MACEXP    64
31#define LISTING_GENERAL  128
32
33#define LISTING_DEFAULT    (LISTING_LISTING | LISTING_HLL | LISTING_SYMBOLS)
34
35#ifndef NO_LISTING
36#define LISTING_NEWLINE() { if (listing) listing_newline (NULL); }
37#else
38#define LISTING_NEWLINE() {;}
39#endif
40#define LISTING_EOF()     LISTING_NEWLINE()
41
42#define LISTING_SKIP_COND() ((listing & LISTING_NOCOND) != 0)
43
44void listing_eject (int);
45void listing_error (const char *message);
46void listing_file (const char *name);
47void listing_list (int on);
48void listing_newline (char *ps);
49void listing_prev_line (void);
50void listing_print (char *, char **);
51void listing_psize (int);
52void listing_nopage (int);
53void listing_source_file (const char *);
54void listing_source_line (unsigned int);
55void listing_title (int depth);
56void listing_warning (const char *message);
57void listing_width (unsigned int x);
58
59extern int listing_lhs_width;
60extern int listing_lhs_width_second;
61extern int listing_lhs_cont_lines;
62extern int listing_rhs_width;
63
64#endif /* __listing_h__ */
65
66/* end of listing.h */
67