Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Continue documenting my changes
[simgrid.git] / include / surf / surfxml.h
1 /* XML processor/application API for surf/surfxml.dtd.
2  * Generated 2007/05/16 11:14:15.
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 extern void STag_surfxml_platform_description(void);
53 extern void ETag_surfxml_platform_description(void);
54 extern void STag_surfxml_include(void);
55 extern void ETag_surfxml_include(void);
56 extern void STag_surfxml_cpu(void);
57 extern void ETag_surfxml_cpu(void);
58 extern void STag_surfxml_router(void);
59 extern void ETag_surfxml_router(void);
60 extern void STag_surfxml_network_link(void);
61 extern void ETag_surfxml_network_link(void);
62 extern void STag_surfxml_route(void);
63 extern void ETag_surfxml_route(void);
64 extern void STag_surfxml_route_element(void);
65 extern void ETag_surfxml_route_element(void);
66 extern void STag_surfxml_process(void);
67 extern void ETag_surfxml_process(void);
68 extern void STag_surfxml_argument(void);
69 extern void ETag_surfxml_argument(void);
70
71 /* XML application data. */
72 typedef int AT_surfxml_network_link_bandwidth;
73 #define AU_surfxml_network_link_bandwidth NULL
74 typedef int AT_surfxml_router_name;
75 #define AU_surfxml_router_name NULL
76 typedef int AT_surfxml_process_host;
77 #define AU_surfxml_process_host NULL
78 typedef int AT_surfxml_network_link_latency_file;
79 #define AU_surfxml_network_link_latency_file NULL
80 typedef int AT_surfxml_route_impact_on_dst_with_other_send;
81 #define AU_surfxml_route_impact_on_dst_with_other_send NULL
82 typedef int AT_surfxml_cpu_interference_send_recv;
83 #define AU_surfxml_cpu_interference_send_recv NULL
84 typedef int AT_surfxml_route_impact_on_dst;
85 #define AU_surfxml_route_impact_on_dst NULL
86 typedef int AT_surfxml_platform_description_version;
87 #define AU_surfxml_platform_description_version NULL
88 typedef int AT_surfxml_route_impact_on_src_with_other_recv;
89 #define AU_surfxml_route_impact_on_src_with_other_recv NULL
90 typedef int AT_surfxml_route_element_name;
91 #define AU_surfxml_route_element_name NULL
92 typedef int AT_surfxml_process_start_time;
93 #define AU_surfxml_process_start_time NULL
94 typedef int AT_surfxml_process_function;
95 #define AU_surfxml_process_function NULL
96 typedef enum { AU_surfxml_cpu_state, A_surfxml_cpu_state_ON,A_surfxml_cpu_state_OFF } AT_surfxml_cpu_state;
97 typedef int AT_surfxml_cpu_interference_send;
98 #define AU_surfxml_cpu_interference_send NULL
99 typedef int AT_surfxml_network_link_bandwidth_file;
100 #define AU_surfxml_network_link_bandwidth_file NULL
101 typedef int AT_surfxml_cpu_name;
102 #define AU_surfxml_cpu_name NULL
103 typedef int AT_surfxml_process_kill_time;
104 #define AU_surfxml_process_kill_time NULL
105 typedef enum { AU_surfxml_network_link_state, A_surfxml_network_link_state_ON,A_surfxml_network_link_state_OFF } AT_surfxml_network_link_state;
106 typedef int AT_surfxml_cpu_availability_file;
107 #define AU_surfxml_cpu_availability_file NULL
108 typedef int AT_surfxml_argument_value;
109 #define AU_surfxml_argument_value NULL
110 typedef int AT_surfxml_route_src;
111 #define AU_surfxml_route_src NULL
112 typedef int AT_surfxml_route_impact_on_src;
113 #define AU_surfxml_route_impact_on_src NULL
114 typedef int AT_surfxml_cpu_max_outgoing_rate;
115 #define AU_surfxml_cpu_max_outgoing_rate NULL
116 typedef int AT_surfxml_cpu_availability;
117 #define AU_surfxml_cpu_availability NULL
118 typedef int AT_surfxml_cpu_interference_recv;
119 #define AU_surfxml_cpu_interference_recv NULL
120 typedef int AT_surfxml_network_link_name;
121 #define AU_surfxml_network_link_name NULL
122 typedef int AT_surfxml_cpu_power;
123 #define AU_surfxml_cpu_power NULL
124 typedef int AT_surfxml_include_file;
125 #define AU_surfxml_include_file NULL
126 typedef enum { AU_surfxml_network_link_sharing_policy, A_surfxml_network_link_sharing_policy_SHARED,A_surfxml_network_link_sharing_policy_FATPIPE } AT_surfxml_network_link_sharing_policy;
127 typedef int AT_surfxml_route_dst;
128 #define AU_surfxml_route_dst NULL
129 typedef int AT_surfxml_network_link_latency;
130 #define AU_surfxml_network_link_latency NULL
131 typedef int AT_surfxml_cpu_state_file;
132 #define AU_surfxml_cpu_state_file NULL
133 typedef int AT_surfxml_network_link_state_file;
134 #define AU_surfxml_network_link_state_file NULL
135
136 /* FleXML-provided data. */
137 extern int surfxml_pcdata_ix;
138 extern char *surfxml_bufferstack;
139 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
140 extern AT_surfxml_network_link_bandwidth AX_surfxml_network_link_bandwidth;
141 #define A_surfxml_network_link_bandwidth (surfxml_bufferstack + AX_surfxml_network_link_bandwidth)
142 extern AT_surfxml_router_name AX_surfxml_router_name;
143 #define A_surfxml_router_name (surfxml_bufferstack + AX_surfxml_router_name)
144 extern AT_surfxml_process_host AX_surfxml_process_host;
145 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
146 extern AT_surfxml_network_link_latency_file AX_surfxml_network_link_latency_file;
147 #define A_surfxml_network_link_latency_file (surfxml_bufferstack + AX_surfxml_network_link_latency_file)
148 extern AT_surfxml_route_impact_on_dst_with_other_send AX_surfxml_route_impact_on_dst_with_other_send;
149 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
150 extern AT_surfxml_cpu_interference_send_recv AX_surfxml_cpu_interference_send_recv;
151 #define A_surfxml_cpu_interference_send_recv (surfxml_bufferstack + AX_surfxml_cpu_interference_send_recv)
152 extern AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst;
153 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
154 extern AT_surfxml_platform_description_version AX_surfxml_platform_description_version;
155 #define A_surfxml_platform_description_version (surfxml_bufferstack + AX_surfxml_platform_description_version)
156 extern AT_surfxml_route_impact_on_src_with_other_recv AX_surfxml_route_impact_on_src_with_other_recv;
157 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
158 extern AT_surfxml_route_element_name AX_surfxml_route_element_name;
159 #define A_surfxml_route_element_name (surfxml_bufferstack + AX_surfxml_route_element_name)
160 extern AT_surfxml_process_start_time AX_surfxml_process_start_time;
161 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
162 extern AT_surfxml_process_function AX_surfxml_process_function;
163 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
164 extern AT_surfxml_cpu_state AX_surfxml_cpu_state;
165 #define A_surfxml_cpu_state AX_surfxml_cpu_state
166 extern AT_surfxml_cpu_interference_send AX_surfxml_cpu_interference_send;
167 #define A_surfxml_cpu_interference_send (surfxml_bufferstack + AX_surfxml_cpu_interference_send)
168 extern AT_surfxml_network_link_bandwidth_file AX_surfxml_network_link_bandwidth_file;
169 #define A_surfxml_network_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_network_link_bandwidth_file)
170 extern AT_surfxml_cpu_name AX_surfxml_cpu_name;
171 #define A_surfxml_cpu_name (surfxml_bufferstack + AX_surfxml_cpu_name)
172 extern AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
173 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
174 extern AT_surfxml_network_link_state AX_surfxml_network_link_state;
175 #define A_surfxml_network_link_state AX_surfxml_network_link_state
176 extern AT_surfxml_cpu_availability_file AX_surfxml_cpu_availability_file;
177 #define A_surfxml_cpu_availability_file (surfxml_bufferstack + AX_surfxml_cpu_availability_file)
178 extern AT_surfxml_argument_value AX_surfxml_argument_value;
179 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
180 extern AT_surfxml_route_src AX_surfxml_route_src;
181 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
182 extern AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src;
183 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
184 extern AT_surfxml_cpu_max_outgoing_rate AX_surfxml_cpu_max_outgoing_rate;
185 #define A_surfxml_cpu_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_cpu_max_outgoing_rate)
186 extern AT_surfxml_cpu_availability AX_surfxml_cpu_availability;
187 #define A_surfxml_cpu_availability (surfxml_bufferstack + AX_surfxml_cpu_availability)
188 extern AT_surfxml_cpu_interference_recv AX_surfxml_cpu_interference_recv;
189 #define A_surfxml_cpu_interference_recv (surfxml_bufferstack + AX_surfxml_cpu_interference_recv)
190 extern AT_surfxml_network_link_name AX_surfxml_network_link_name;
191 #define A_surfxml_network_link_name (surfxml_bufferstack + AX_surfxml_network_link_name)
192 extern AT_surfxml_cpu_power AX_surfxml_cpu_power;
193 #define A_surfxml_cpu_power (surfxml_bufferstack + AX_surfxml_cpu_power)
194 extern AT_surfxml_include_file AX_surfxml_include_file;
195 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
196 extern AT_surfxml_network_link_sharing_policy AX_surfxml_network_link_sharing_policy;
197 #define A_surfxml_network_link_sharing_policy AX_surfxml_network_link_sharing_policy
198 extern AT_surfxml_route_dst AX_surfxml_route_dst;
199 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
200 extern AT_surfxml_network_link_latency AX_surfxml_network_link_latency;
201 #define A_surfxml_network_link_latency (surfxml_bufferstack + AX_surfxml_network_link_latency)
202 extern AT_surfxml_cpu_state_file AX_surfxml_cpu_state_file;
203 #define A_surfxml_cpu_state_file (surfxml_bufferstack + AX_surfxml_cpu_state_file)
204 extern AT_surfxml_network_link_state_file AX_surfxml_network_link_state_file;
205 #define A_surfxml_network_link_state_file (surfxml_bufferstack + AX_surfxml_network_link_state_file)
206
207 /* XML application utilities. */
208 extern int surfxml_element_context(int);
209
210 /* XML processor entry point. */
211 extern int yylex(void);
212
213 /* Flexml error handling function (useful only when -q flag passed to flexml) */
214 const char * surfxml_parse_err_msg(void);
215 #endif