Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
these symbols where only defined as extern, fooling the linker (plus some cleanups...
[simgrid.git] / include / surf / surfxml.h
1 /* XML processor/application API for surf/surfxml.dtd.
2  * Generated 2007/10/23 11:08:07.
3  *
4  * This program was generated with the FleXML XML processor generator.
5  * FleXML is Copyright (C) 1999-2005 Kristoffer Rose.  All rights reserved.
6  * FleXML is Copyright (C) 2003-2006 Martin Quinson.  All rights reserved.
7  * (Id: flexml.pl,v 1.61 2006/09/13 16:34:33 wdowling Exp).
8  * 
9  * There are two, intertwined parts to this program, part A and part B.
10  *
11  * Part A
12  * ------
13  * 
14  * Some parts, here collectively called "Part A", are found in the 
15  * FleXML package.  They are Copyright (C) 1999-2005 Kristoffer Rose
16  * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
17  *
18  * You can redistribute, use, perform, display and/or modify "Part A"
19  * provided the following two conditions hold:
20  *
21  * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
22  *    FleXML; without even the implied warranty of MERCHANTABILITY or
23  *    FITNESS FOR A PARTICULAR PURPOSE.
24  *
25  * 2. The program distribution conditions do not in any way affect the
26  *    distribution conditions of the FleXML system used to generate this
27  *    file or any version of FleXML derived from that system.
28  *
29  * Notice that these are explicit rights granted to you for files
30  * generated by the FleXML system.  For your rights in connection with
31  * the FleXML system itself please consult the GNU General Public License.
32  * 
33  * Part B
34  * ------
35  * 
36  * The other parts, here collectively called "Part B", and which came 
37  * from the DTD used by FleXML to generate this program, can be 
38  * distributed (or not, as the case may be) under the terms of whoever
39  * wrote them, provided these terms respect and obey the two conditions 
40  * above under the heading "Part A".
41  *
42  * The author of and contributors to FleXML specifically disclaim
43  * any copyright interest in "Part B", unless "Part B" was written 
44  * by the author of or contributors to FleXML.
45  * 
46  */
47
48 #ifndef _FLEXML_surfxml_H
49 #define _FLEXML_surfxml_H
50
51 /* XML application entry points. */
52 XBT_PUBLIC(void ) STag_surfxml_platform_description(void);
53 XBT_PUBLIC(void ) ETag_surfxml_platform_description(void);
54 XBT_PUBLIC(void ) STag_surfxml_include(void);
55 XBT_PUBLIC(void ) ETag_surfxml_include(void);
56 XBT_PUBLIC(void ) STag_surfxml_host(void);
57 XBT_PUBLIC(void ) ETag_surfxml_host(void);
58 XBT_PUBLIC(void ) STag_surfxml_prop(void);
59 XBT_PUBLIC(void ) ETag_surfxml_prop(void);
60 XBT_PUBLIC(void ) STag_surfxml_router(void);
61 XBT_PUBLIC(void ) ETag_surfxml_router(void);
62 XBT_PUBLIC(void ) STag_surfxml_link(void);
63 XBT_PUBLIC(void ) ETag_surfxml_link(void);
64 XBT_PUBLIC(void ) STag_surfxml_route(void);
65 XBT_PUBLIC(void ) ETag_surfxml_route(void);
66 XBT_PUBLIC(void ) STag_surfxml_link_c_ctn(void);
67 XBT_PUBLIC(void ) ETag_surfxml_link_c_ctn(void);
68 XBT_PUBLIC(void ) STag_surfxml_process(void);
69 XBT_PUBLIC(void ) ETag_surfxml_process(void);
70 XBT_PUBLIC(void ) STag_surfxml_argument(void);
71 XBT_PUBLIC(void ) ETag_surfxml_argument(void);
72
73 /* XML application data. */
74 typedef int AT_surfxml_link_id;
75 #define AU_surfxml_link_id NULL
76 typedef int AT_surfxml_prop_id;
77 #define AU_surfxml_prop_id NULL
78 typedef int AT_surfxml_host_interference_recv;
79 #define AU_surfxml_host_interference_recv NULL
80 typedef int AT_surfxml_host_id;
81 #define AU_surfxml_host_id NULL
82 typedef int AT_surfxml_link_latency_file;
83 #define AU_surfxml_link_latency_file NULL
84 typedef int AT_surfxml_process_host;
85 #define AU_surfxml_process_host NULL
86 typedef int AT_surfxml_host_availability_file;
87 #define AU_surfxml_host_availability_file NULL
88 typedef enum { AU_surfxml_host_state, A_surfxml_host_state_ON,A_surfxml_host_state_OFF } AT_surfxml_host_state;
89 typedef int AT_surfxml_host_interference_send_recv;
90 #define AU_surfxml_host_interference_send_recv NULL
91 typedef int AT_surfxml_route_impact_on_dst_with_other_send;
92 #define AU_surfxml_route_impact_on_dst_with_other_send NULL
93 typedef int AT_surfxml_host_interference_send;
94 #define AU_surfxml_host_interference_send NULL
95 typedef int AT_surfxml_route_impact_on_dst;
96 #define AU_surfxml_route_impact_on_dst NULL
97 typedef int AT_surfxml_platform_description_version;
98 #define AU_surfxml_platform_description_version NULL
99 typedef int AT_surfxml_prop_value;
100 #define AU_surfxml_prop_value NULL
101 typedef int AT_surfxml_route_impact_on_src_with_other_recv;
102 #define AU_surfxml_route_impact_on_src_with_other_recv NULL
103 typedef int AT_surfxml_host_power;
104 #define AU_surfxml_host_power NULL
105 typedef int AT_surfxml_link_state_file;
106 #define AU_surfxml_link_state_file NULL
107 typedef int AT_surfxml_router_id;
108 #define AU_surfxml_router_id NULL
109 typedef int AT_surfxml_process_start_time;
110 #define AU_surfxml_process_start_time NULL
111 typedef int AT_surfxml_process_function;
112 #define AU_surfxml_process_function NULL
113 typedef int AT_surfxml_host_max_outgoing_rate;
114 #define AU_surfxml_host_max_outgoing_rate NULL
115 typedef enum { AU_surfxml_link_sharing_policy, A_surfxml_link_sharing_policy_SHARED,A_surfxml_link_sharing_policy_FATPIPE } AT_surfxml_link_sharing_policy;
116 typedef int AT_surfxml_link_c_ctn_id;
117 #define AU_surfxml_link_c_ctn_id NULL
118 typedef int AT_surfxml_process_kill_time;
119 #define AU_surfxml_process_kill_time NULL
120 typedef int AT_surfxml_host_availability;
121 #define AU_surfxml_host_availability NULL
122 typedef int AT_surfxml_argument_value;
123 #define AU_surfxml_argument_value NULL
124 typedef enum { AU_surfxml_link_state, A_surfxml_link_state_ON,A_surfxml_link_state_OFF } AT_surfxml_link_state;
125 typedef int AT_surfxml_route_src;
126 #define AU_surfxml_route_src NULL
127 typedef int AT_surfxml_route_impact_on_src;
128 #define AU_surfxml_route_impact_on_src NULL
129 typedef int AT_surfxml_link_bandwidth;
130 #define AU_surfxml_link_bandwidth NULL
131 typedef int AT_surfxml_link_latency;
132 #define AU_surfxml_link_latency NULL
133 typedef int AT_surfxml_include_file;
134 #define AU_surfxml_include_file NULL
135 typedef int AT_surfxml_link_bandwidth_file;
136 #define AU_surfxml_link_bandwidth_file NULL
137 typedef int AT_surfxml_host_state_file;
138 #define AU_surfxml_host_state_file NULL
139 typedef int AT_surfxml_route_dst;
140 #define AU_surfxml_route_dst NULL
141
142 /* FleXML-provided data. */
143 XBT_PUBLIC_DATA(int ) surfxml_pcdata_ix;
144 XBT_PUBLIC_DATA(char *) surfxml_bufferstack;
145 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
146 XBT_PUBLIC_DATA(AT_surfxml_link_id ) AX_surfxml_link_id;
147 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
148 XBT_PUBLIC_DATA(AT_surfxml_prop_id ) AX_surfxml_prop_id;
149 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
150 XBT_PUBLIC_DATA(AT_surfxml_host_interference_recv ) AX_surfxml_host_interference_recv;
151 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
152 XBT_PUBLIC_DATA(AT_surfxml_host_id ) AX_surfxml_host_id;
153 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
154 XBT_PUBLIC_DATA(AT_surfxml_link_latency_file ) AX_surfxml_link_latency_file;
155 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
156 XBT_PUBLIC_DATA(AT_surfxml_process_host ) AX_surfxml_process_host;
157 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
158 XBT_PUBLIC_DATA(AT_surfxml_host_availability_file ) AX_surfxml_host_availability_file;
159 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
160 XBT_PUBLIC_DATA(AT_surfxml_host_state ) AX_surfxml_host_state;
161 #define A_surfxml_host_state AX_surfxml_host_state
162 XBT_PUBLIC_DATA(AT_surfxml_host_interference_send_recv ) AX_surfxml_host_interference_send_recv;
163 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
164 XBT_PUBLIC_DATA(AT_surfxml_route_impact_on_dst_with_other_send ) AX_surfxml_route_impact_on_dst_with_other_send;
165 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
166 XBT_PUBLIC_DATA(AT_surfxml_host_interference_send ) AX_surfxml_host_interference_send;
167 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
168 XBT_PUBLIC_DATA(AT_surfxml_route_impact_on_dst ) AX_surfxml_route_impact_on_dst;
169 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
170 XBT_PUBLIC_DATA(AT_surfxml_platform_description_version ) AX_surfxml_platform_description_version;
171 #define A_surfxml_platform_description_version (surfxml_bufferstack + AX_surfxml_platform_description_version)
172 XBT_PUBLIC_DATA(AT_surfxml_prop_value ) AX_surfxml_prop_value;
173 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
174 XBT_PUBLIC_DATA(AT_surfxml_route_impact_on_src_with_other_recv ) AX_surfxml_route_impact_on_src_with_other_recv;
175 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
176 XBT_PUBLIC_DATA(AT_surfxml_host_power ) AX_surfxml_host_power;
177 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
178 XBT_PUBLIC_DATA(AT_surfxml_link_state_file ) AX_surfxml_link_state_file;
179 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
180 XBT_PUBLIC_DATA(AT_surfxml_router_id ) AX_surfxml_router_id;
181 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
182 XBT_PUBLIC_DATA(AT_surfxml_process_start_time ) AX_surfxml_process_start_time;
183 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
184 XBT_PUBLIC_DATA(AT_surfxml_process_function ) AX_surfxml_process_function;
185 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
186 XBT_PUBLIC_DATA(AT_surfxml_host_max_outgoing_rate ) AX_surfxml_host_max_outgoing_rate;
187 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
188 XBT_PUBLIC_DATA(AT_surfxml_link_sharing_policy ) AX_surfxml_link_sharing_policy;
189 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
190 XBT_PUBLIC_DATA(AT_surfxml_link_c_ctn_id ) AX_surfxml_link_c_ctn_id;
191 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
192 XBT_PUBLIC_DATA(AT_surfxml_process_kill_time ) AX_surfxml_process_kill_time;
193 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
194 XBT_PUBLIC_DATA(AT_surfxml_host_availability ) AX_surfxml_host_availability;
195 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
196 XBT_PUBLIC_DATA(AT_surfxml_argument_value ) AX_surfxml_argument_value;
197 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
198 XBT_PUBLIC_DATA(AT_surfxml_link_state ) AX_surfxml_link_state;
199 #define A_surfxml_link_state AX_surfxml_link_state
200 XBT_PUBLIC_DATA(AT_surfxml_route_src ) AX_surfxml_route_src;
201 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
202 XBT_PUBLIC_DATA(AT_surfxml_route_impact_on_src ) AX_surfxml_route_impact_on_src;
203 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
204 XBT_PUBLIC_DATA(AT_surfxml_link_bandwidth ) AX_surfxml_link_bandwidth;
205 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
206 XBT_PUBLIC_DATA(AT_surfxml_link_latency ) AX_surfxml_link_latency;
207 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
208 XBT_PUBLIC_DATA(AT_surfxml_include_file ) AX_surfxml_include_file;
209 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
210 XBT_PUBLIC_DATA(AT_surfxml_link_bandwidth_file ) AX_surfxml_link_bandwidth_file;
211 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
212 XBT_PUBLIC_DATA(AT_surfxml_host_state_file ) AX_surfxml_host_state_file;
213 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
214 XBT_PUBLIC_DATA(AT_surfxml_route_dst ) AX_surfxml_route_dst;
215 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
216
217 /* XML application utilities. */
218 XBT_PUBLIC(int ) surfxml_element_context(int);
219
220 /* XML processor entry point. */
221 XBT_PUBLIC(int ) yylex(void);
222
223 /* Flexml error handling function (useful only when -q flag passed to flexml) */
224 const char * surfxml_parse_err_msg(void);
225 #endif