Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
ebac11ba294283055c757e142c71fb0355fabf59
[simgrid.git] / include / surf / surfxml.h
1 /* XML processor/application API for surf/surfxml.dtd.
2  * Generated 2006/07/13 20:43:20.
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.49 2006/04/21 23:35:51 mquinson 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_surfxml_platform_description(void);
52 extern void ETag_surfxml_platform_description(void);
53 extern void STag_surfxml_include(void);
54 extern void ETag_surfxml_include(void);
55 extern void STag_surfxml_cpu(void);
56 extern void ETag_surfxml_cpu(void);
57 extern void STag_surfxml_network_link(void);
58 extern void ETag_surfxml_network_link(void);
59 extern void STag_surfxml_route(void);
60 extern void ETag_surfxml_route(void);
61 extern void STag_surfxml_route_element(void);
62 extern void ETag_surfxml_route_element(void);
63 extern void STag_surfxml_process(void);
64 extern void ETag_surfxml_process(void);
65 extern void STag_surfxml_argument(void);
66 extern void ETag_surfxml_argument(void);
67
68 /* XML application data. */
69 typedef const char* AT_surfxml_network_link_bandwidth;
70 #define AU_surfxml_network_link_bandwidth NULL
71 typedef const char* AT_surfxml_process_host;
72 #define AU_surfxml_process_host NULL
73 typedef const char* AT_surfxml_network_link_latency_file;
74 #define AU_surfxml_network_link_latency_file NULL
75 typedef const char* AT_surfxml_route_impact_on_dst_with_other_send;
76 #define AU_surfxml_route_impact_on_dst_with_other_send NULL
77 typedef const char* AT_surfxml_cpu_interference_send_recv;
78 #define AU_surfxml_cpu_interference_send_recv NULL
79 typedef const char* AT_surfxml_route_impact_on_dst;
80 #define AU_surfxml_route_impact_on_dst NULL
81 typedef const char* AT_surfxml_platform_description_version;
82 #define AU_surfxml_platform_description_version NULL
83 typedef const char* AT_surfxml_route_impact_on_src_with_other_recv;
84 #define AU_surfxml_route_impact_on_src_with_other_recv NULL
85 typedef const char* AT_surfxml_route_element_name;
86 #define AU_surfxml_route_element_name NULL
87 typedef const char* AT_surfxml_process_start_time;
88 #define AU_surfxml_process_start_time NULL
89 typedef const char* AT_surfxml_process_function;
90 #define AU_surfxml_process_function NULL
91 typedef enum { AU_surfxml_cpu_state, A_surfxml_cpu_state_ON,A_surfxml_cpu_state_OFF } AT_surfxml_cpu_state;
92 typedef const char* AT_surfxml_cpu_interference_send;
93 #define AU_surfxml_cpu_interference_send NULL
94 typedef const char* AT_surfxml_network_link_bandwidth_file;
95 #define AU_surfxml_network_link_bandwidth_file NULL
96 typedef const char* AT_surfxml_cpu_name;
97 #define AU_surfxml_cpu_name NULL
98 typedef const char* AT_surfxml_process_kill_time;
99 #define AU_surfxml_process_kill_time NULL
100 typedef enum { AU_surfxml_network_link_state, A_surfxml_network_link_state_ON,A_surfxml_network_link_state_OFF } AT_surfxml_network_link_state;
101 typedef const char* AT_surfxml_cpu_availability_file;
102 #define AU_surfxml_cpu_availability_file NULL
103 typedef const char* AT_surfxml_argument_value;
104 #define AU_surfxml_argument_value NULL
105 typedef const char* AT_surfxml_route_src;
106 #define AU_surfxml_route_src NULL
107 typedef const char* AT_surfxml_route_impact_on_src;
108 #define AU_surfxml_route_impact_on_src NULL
109 typedef const char* AT_surfxml_cpu_max_outgoing_rate;
110 #define AU_surfxml_cpu_max_outgoing_rate NULL
111 typedef const char* AT_surfxml_cpu_availability;
112 #define AU_surfxml_cpu_availability NULL
113 typedef const char* AT_surfxml_cpu_interference_recv;
114 #define AU_surfxml_cpu_interference_recv NULL
115 typedef const char* AT_surfxml_network_link_name;
116 #define AU_surfxml_network_link_name NULL
117 typedef const char* AT_surfxml_cpu_power;
118 #define AU_surfxml_cpu_power NULL
119 typedef const char* AT_surfxml_include_file;
120 #define AU_surfxml_include_file NULL
121 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;
122 typedef const char* AT_surfxml_route_dst;
123 #define AU_surfxml_route_dst NULL
124 typedef const char* AT_surfxml_network_link_latency;
125 #define AU_surfxml_network_link_latency NULL
126 typedef const char* AT_surfxml_cpu_state_file;
127 #define AU_surfxml_cpu_state_file NULL
128 typedef const char* AT_surfxml_network_link_state_file;
129 #define AU_surfxml_network_link_state_file NULL
130
131 /* FleXML-provided data. */
132 extern const char* surfxml_pcdata;
133 extern AT_surfxml_network_link_bandwidth A_surfxml_network_link_bandwidth;
134 extern AT_surfxml_process_host A_surfxml_process_host;
135 extern AT_surfxml_network_link_latency_file A_surfxml_network_link_latency_file;
136 extern AT_surfxml_route_impact_on_dst_with_other_send A_surfxml_route_impact_on_dst_with_other_send;
137 extern AT_surfxml_cpu_interference_send_recv A_surfxml_cpu_interference_send_recv;
138 extern AT_surfxml_route_impact_on_dst A_surfxml_route_impact_on_dst;
139 extern AT_surfxml_platform_description_version A_surfxml_platform_description_version;
140 extern AT_surfxml_route_impact_on_src_with_other_recv A_surfxml_route_impact_on_src_with_other_recv;
141 extern AT_surfxml_route_element_name A_surfxml_route_element_name;
142 extern AT_surfxml_process_start_time A_surfxml_process_start_time;
143 extern AT_surfxml_process_function A_surfxml_process_function;
144 extern AT_surfxml_cpu_state A_surfxml_cpu_state;
145 extern AT_surfxml_cpu_interference_send A_surfxml_cpu_interference_send;
146 extern AT_surfxml_network_link_bandwidth_file A_surfxml_network_link_bandwidth_file;
147 extern AT_surfxml_cpu_name A_surfxml_cpu_name;
148 extern AT_surfxml_process_kill_time A_surfxml_process_kill_time;
149 extern AT_surfxml_network_link_state A_surfxml_network_link_state;
150 extern AT_surfxml_cpu_availability_file A_surfxml_cpu_availability_file;
151 extern AT_surfxml_argument_value A_surfxml_argument_value;
152 extern AT_surfxml_route_src A_surfxml_route_src;
153 extern AT_surfxml_route_impact_on_src A_surfxml_route_impact_on_src;
154 extern AT_surfxml_cpu_max_outgoing_rate A_surfxml_cpu_max_outgoing_rate;
155 extern AT_surfxml_cpu_availability A_surfxml_cpu_availability;
156 extern AT_surfxml_cpu_interference_recv A_surfxml_cpu_interference_recv;
157 extern AT_surfxml_network_link_name A_surfxml_network_link_name;
158 extern AT_surfxml_cpu_power A_surfxml_cpu_power;
159 extern AT_surfxml_include_file A_surfxml_include_file;
160 extern AT_surfxml_network_link_sharing_policy A_surfxml_network_link_sharing_policy;
161 extern AT_surfxml_route_dst A_surfxml_route_dst;
162 extern AT_surfxml_network_link_latency A_surfxml_network_link_latency;
163 extern AT_surfxml_cpu_state_file A_surfxml_cpu_state_file;
164 extern AT_surfxml_network_link_state_file A_surfxml_network_link_state_file;
165
166 /* XML application utilities. */
167 extern int surfxml_element_context(int);
168
169 /* XML processor entry point. */
170 extern int yylex(void);
171
172 /* Flexml error handling function (useful only when -q flag passed to flexml) */
173 const char * surfxml_parse_err_msg(void);
174 #endif