Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
enable surfxml to live with an other xml parser in the same C code
[simgrid.git] / include / surf / surfxml.h
1 /* XML processor/application API for ../../src/surf/surfxml.dtd.
2  * Generated 2006/03/20 16:32:31.
3  *
4  * This program was generated with the FleXML XML processor generator.
5  * FleXML is Copyright © 1999-2005 Kristoffer Rose.  All rights reserved.
6  * (Id: flexml.pl,v 1.45 2006/03/03 19:25:46 wdowling Exp).
7  * 
8  * There are two, intertwined parts to this program, part A and part B.
9  *
10  * Part A
11  * ------
12  * 
13  * Some parts, here collectively called "Part A", are found in the 
14  * FleXML package.  They are Copyright © 1999-2005 Kristoffer Rose. 
15  * All rights reserved.
16  *
17  * You can redistribute, use, perform, display and/or modify "Part A"
18  * provided the following two conditions hold:
19  *
20  * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
21  *    FleXML; without even the implied warranty of MERCHANTABILITY or
22  *    FITNESS FOR A PARTICULAR PURPOSE.
23  *
24  * 2. The program distribution conditions do not in any way affect the
25  *    distribution conditions of the FleXML system used to generate this
26  *    file or any version of FleXML derived from that system.
27  *
28  * Notice that these are explicit rights granted to you for files
29  * generated by the FleXML system.  For your rights in connection with
30  * the FleXML system itself please consult the GNU General Public License.
31  * 
32  * Part B
33  * ------
34  * 
35  * The other parts, here collectively called "Part B", and which came 
36  * from the DTD used by FleXML to generate this program, can be 
37  * distributed (or not, as the case may be) under the terms of whoever
38  * wrote them, provided these terms respect and obey the two conditions 
39  * above under the heading "Part A".
40  *
41  * The author of and contributors to FleXML specifically disclaim
42  * any copyright interest in "Part B", unless "Part B" was written 
43  * by the author of or contributors to FleXML.
44  * 
45  */
46
47 #ifndef _FLEXML_surfxml_H
48 #define _FLEXML_surfxml_H
49
50 /* XML application entry points. */
51 extern void STag_platform_description(void);
52 extern void ETag_platform_description(void);
53 extern void STag_include(void);
54 extern void ETag_include(void);
55 extern void STag_cpu(void);
56 extern void ETag_cpu(void);
57 extern void STag_network_link(void);
58 extern void ETag_network_link(void);
59 extern void STag_route(void);
60 extern void ETag_route(void);
61 extern void STag_route_element(void);
62 extern void ETag_route_element(void);
63 extern void STag_process(void);
64 extern void ETag_process(void);
65 extern void STag_argument(void);
66 extern void ETag_argument(void);
67
68 /* XML application data. */
69 typedef const char* AT_network_link_bandwidth;
70 #define AU_network_link_bandwidth NULL
71 typedef const char* AT_cpu_name;
72 #define AU_cpu_name NULL
73 typedef const char* AT_process_kill_time;
74 #define AU_process_kill_time NULL
75 typedef enum { AU_network_link_state, A_network_link_state_ON,A_network_link_state_OFF } AT_network_link_state;
76 typedef const char* AT_argument_value;
77 #define AU_argument_value NULL
78 typedef const char* AT_cpu_availability_file;
79 #define AU_cpu_availability_file NULL
80 typedef const char* AT_process_host;
81 #define AU_process_host NULL
82 typedef const char* AT_route_impact_on_src;
83 #define AU_route_impact_on_src NULL
84 typedef const char* AT_route_src;
85 #define AU_route_src NULL
86 typedef const char* AT_network_link_latency_file;
87 #define AU_network_link_latency_file NULL
88 typedef const char* AT_cpu_max_outgoing_rate;
89 #define AU_cpu_max_outgoing_rate NULL
90 typedef const char* AT_route_impact_on_dst_with_other_send;
91 #define AU_route_impact_on_dst_with_other_send NULL
92 typedef const char* AT_cpu_interference_send_recv;
93 #define AU_cpu_interference_send_recv NULL
94 typedef const char* AT_cpu_availability;
95 #define AU_cpu_availability NULL
96 typedef const char* AT_route_impact_on_dst;
97 #define AU_route_impact_on_dst NULL
98 typedef const char* AT_cpu_interference_recv;
99 #define AU_cpu_interference_recv NULL
100 typedef const char* AT_route_impact_on_src_with_other_recv;
101 #define AU_route_impact_on_src_with_other_recv NULL
102 typedef const char* AT_network_link_name;
103 #define AU_network_link_name NULL
104 typedef const char* AT_route_element_name;
105 #define AU_route_element_name NULL
106 typedef const char* AT_cpu_power;
107 #define AU_cpu_power NULL
108 typedef const char* AT_process_start_time;
109 #define AU_process_start_time NULL
110 typedef const char* AT_include_file;
111 #define AU_include_file NULL
112 typedef const char* AT_process_function;
113 #define AU_process_function NULL
114 typedef enum { AU_network_link_sharing_policy, A_network_link_sharing_policy_SHARED,A_network_link_sharing_policy_FATPIPE } AT_network_link_sharing_policy;
115 typedef const char* AT_route_dst;
116 #define AU_route_dst NULL
117 typedef enum { AU_cpu_state, A_cpu_state_ON,A_cpu_state_OFF } AT_cpu_state;
118 typedef const char* AT_network_link_latency;
119 #define AU_network_link_latency NULL
120 typedef const char* AT_network_link_state_file;
121 #define AU_network_link_state_file NULL
122 typedef const char* AT_cpu_interference_send;
123 #define AU_cpu_interference_send NULL
124 typedef const char* AT_cpu_state_file;
125 #define AU_cpu_state_file NULL
126 typedef const char* AT_network_link_bandwidth_file;
127 #define AU_network_link_bandwidth_file NULL
128
129 /* FleXML-provided data. */
130 extern const char* pcdata;
131 extern AT_network_link_bandwidth A_network_link_bandwidth;
132 extern AT_cpu_name A_cpu_name;
133 extern AT_process_kill_time A_process_kill_time;
134 extern AT_network_link_state A_network_link_state;
135 extern AT_argument_value A_argument_value;
136 extern AT_cpu_availability_file A_cpu_availability_file;
137 extern AT_process_host A_process_host;
138 extern AT_route_impact_on_src A_route_impact_on_src;
139 extern AT_route_src A_route_src;
140 extern AT_network_link_latency_file A_network_link_latency_file;
141 extern AT_cpu_max_outgoing_rate A_cpu_max_outgoing_rate;
142 extern AT_route_impact_on_dst_with_other_send A_route_impact_on_dst_with_other_send;
143 extern AT_cpu_interference_send_recv A_cpu_interference_send_recv;
144 extern AT_cpu_availability A_cpu_availability;
145 extern AT_route_impact_on_dst A_route_impact_on_dst;
146 extern AT_cpu_interference_recv A_cpu_interference_recv;
147 extern AT_route_impact_on_src_with_other_recv A_route_impact_on_src_with_other_recv;
148 extern AT_network_link_name A_network_link_name;
149 extern AT_route_element_name A_route_element_name;
150 extern AT_cpu_power A_cpu_power;
151 extern AT_process_start_time A_process_start_time;
152 extern AT_include_file A_include_file;
153 extern AT_process_function A_process_function;
154 extern AT_network_link_sharing_policy A_network_link_sharing_policy;
155 extern AT_route_dst A_route_dst;
156 extern AT_cpu_state A_cpu_state;
157 extern AT_network_link_latency A_network_link_latency;
158 extern AT_network_link_state_file A_network_link_state_file;
159 extern AT_cpu_interference_send A_cpu_interference_send;
160 extern AT_cpu_state_file A_cpu_state_file;
161 extern AT_network_link_bandwidth_file A_network_link_bandwidth_file;
162
163 /* XML application utilities. */
164 extern int surfxml_element_context(int);
165
166 /* XML processor entry point. */
167 extern int yylex(void);
168
169 /* Flexml error handling function (useful only when -q flag passed to flexml) */
170 const char * surfxml_parse_err_msg(void);
171 #endif