Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
a6d63c09c5a1a7ef884176c9b7fe11439d571dd4
[simgrid.git] / include / xbt / graphxml.h
1 /* XML processor/application API for xbt/graphxml.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_graphxml_H
49 #define _FLEXML_graphxml_H
50
51 /* XML application entry points. */
52 XBT_PUBLIC(void) STag_graphxml_graph(void);
53 XBT_PUBLIC(void) ETag_graphxml_graph(void);
54 XBT_PUBLIC(void) STag_graphxml_node(void);
55 XBT_PUBLIC(void) ETag_graphxml_node(void);
56 XBT_PUBLIC(void) STag_graphxml_edge(void);
57 XBT_PUBLIC(void) ETag_graphxml_edge(void);
58
59 /* XML application data. */
60 typedef const char* AT_graphxml_node_name;
61 #define AU_graphxml_node_name NULL
62 typedef const char* AT_graphxml_edge_source;
63 #define AU_graphxml_edge_source NULL
64 typedef const char* AT_graphxml_node_position_y;
65 #define AU_graphxml_node_position_y NULL
66 typedef const char* AT_graphxml_node_position_x;
67 #define AU_graphxml_node_position_x NULL
68 typedef const char* AT_graphxml_edge_data;
69 #define AU_graphxml_edge_data NULL
70 typedef const char* AT_graphxml_edge_target;
71 #define AU_graphxml_edge_target NULL
72 typedef enum { AU_graphxml_graph_isDirected, A_graphxml_graph_isDirected_true,A_graphxml_graph_isDirected_false } AT_graphxml_graph_isDirected;
73 typedef const char* AT_graphxml_node_label;
74 #define AU_graphxml_node_label NULL
75 typedef const char* AT_graphxml_node_data;
76 #define AU_graphxml_node_data NULL
77 typedef const char* AT_graphxml_edge_label;
78 #define AU_graphxml_edge_label NULL
79 typedef const char* AT_graphxml_edge_length;
80 #define AU_graphxml_edge_length NULL
81 typedef const char* AT_graphxml_edge_name;
82 #define AU_graphxml_edge_name NULL
83
84 /* FleXML-provided data. */
85 extern const char* graphxml_pcdata;
86 extern AT_graphxml_node_name A_graphxml_node_name;
87 extern AT_graphxml_edge_source A_graphxml_edge_source;
88 extern AT_graphxml_node_position_y A_graphxml_node_position_y;
89 extern AT_graphxml_node_position_x A_graphxml_node_position_x;
90 extern AT_graphxml_edge_data A_graphxml_edge_data;
91 extern AT_graphxml_edge_target A_graphxml_edge_target;
92 extern AT_graphxml_graph_isDirected A_graphxml_graph_isDirected;
93 extern AT_graphxml_node_label A_graphxml_node_label;
94 extern AT_graphxml_node_data A_graphxml_node_data;
95 extern AT_graphxml_edge_label A_graphxml_edge_label;
96 extern AT_graphxml_edge_length A_graphxml_edge_length;
97 extern AT_graphxml_edge_name A_graphxml_edge_name;
98
99 /* XML application utilities. */
100 XBT_PUBLIC(int) graphxml_element_context(int);
101
102 /* XML processor entry point. */
103 XBT_PUBLIC(int) yylex(void);
104
105 /* Flexml error handling function (useful only when -q flag passed to flexml) */
106 XBT_PUBLIC(char *) graphxml_parse_err_msg(void);
107 #endif