Logo AND Algorithmique Numérique Distribuée

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