gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / binutils / windmc.h
CommitLineData
692ed3e7 1/* windmc.h -- header file for windmc program.
b3adc24a 2 Copyright (C) 2007-2020 Free Software Foundation, Inc.
692ed3e7
NC
3 Written by Kai Tietz, Onevision.
4
5 This file is part of GNU Binutils.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
32866df7 9 the Free Software Foundation; either version 3 of the License, or
692ed3e7
NC
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
20 02110-1301, USA. */
21
22#include "ansidecl.h"
23
24/* This is the header file for the windmc program. It defines
25 structures and declares functions used within the program. */
26
27#include "winduni.h"
28
29#ifndef WINDMC_HXX
30#define WINDMC_HXX
31
32/* Global flag variables (set by windmc.c file. */
33extern int mcset_custom_bit;
34extern int mcset_out_values_are_decimal;
35extern rc_uint_type mcset_max_message_length;
36extern unichar *mcset_msg_id_typedef;
37
38/* Lexer keyword definition and internal memory structures. */
39
40typedef struct mc_keyword
41{
42 struct mc_keyword *next;
43 const char *group_name;
44 size_t len;
45 unichar *usz;
46 int rid;
47 rc_uint_type nval;
48 unichar *sval;
49 wind_language_t lang_info;
50} mc_keyword;
51
52typedef struct mc_node_lang
53{
54 struct mc_node_lang *next;
55 rc_uint_type vid;
56 const mc_keyword *lang;
57 unichar *message;
58} mc_node_lang;
59
60typedef struct mc_node
61{
62 struct mc_node *next;
63 unichar *user_text;
64 const mc_keyword *facility;
65 const mc_keyword *severity;
66 unichar *symbol;
67 rc_uint_type id;
68 rc_uint_type vid;
913e0fd4 69 unichar *id_typecast;
692ed3e7
NC
70 mc_node_lang *sub;
71} mc_node;
72
73extern mc_node *mc_nodes;
74
75void mc_add_keyword (unichar *, int, const char *, rc_uint_type, unichar *);
76const mc_keyword *enum_facility (int);
77const mc_keyword *enum_severity (int);
78
79mc_node_lang *mc_add_node_lang (mc_node *, const mc_keyword *, rc_uint_type);
80mc_node *mc_add_node (void);
81
82/* Standard yacc/flex stuff. */
83int yyerror (const char *, ...);
84int yylex (void);
85int yyparse (void);
86
87/* mclex.c */
88void mc_set_inputfile (const char *);
89void mc_set_content (const unichar *);
90
91/* Lexer control variables. Used by mcparser.y file. */
92extern bfd_boolean mclex_want_nl;
93extern bfd_boolean mclex_want_line;
94extern bfd_boolean mclex_want_filename;
95
96void mc_fatal (const char *, ...);
97void mc_warn (const char *, ...);
98
99#endif
This page took 0.507288 seconds and 4 git commands to generate.