1 /* XML processor/application API for surf/surfxml.dtd.
2 * Generated 2006/07/18 21:02:15.
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).
9 * There are two, intertwined parts to this program, part A and part B.
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.
18 * You can redistribute, use, perform, display and/or modify "Part A"
19 * provided the following two conditions hold:
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.
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.
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.
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".
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.
48 #ifndef _FLEXML_surfxml_H
49 #define _FLEXML_surfxml_H
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);
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
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;
169 /* XML application utilities. */
170 extern int surfxml_element_context(int);
172 /* XML processor entry point. */
173 extern int yylex(void);
175 /* Flexml error handling function (useful only when -q flag passed to flexml) */
176 const char * surfxml_parse_err_msg(void);