cs2_parse
 Alle Datenstrukturen Dateien Funktionen Variablen Makrodefinitionen Gruppen Seiten
write_cs2.h
gehe zur Dokumentation dieser Datei
1 #ifndef WRITE_CS2_H
2 #define WRITE_CS2_H
3 
17 #include <stdio.h>
18 
32 #define CS2_FILE_TYPE_LOKOMOTIVE 1
33 
37 #define CS2_FILE_STRING_LOKOMOTIVE "lokomotive.cs2"
38 #define CS2_FILE_STRING_MAGNETARTIKEL "magnetartikel.cs2"
39 #define CS2_FILE_STRING_GLEISBILD "gleisbild.cs2"
40 #define CS2_FILE_STRING_FAHRSTRASSE "fahrstrassen.cs2"
41 #define CS2_FILE_STRING_STATUS_LOKOMOTIVE "lokstatus.sr2"
42 #define CS2_FILE_STRING_STATUS_MAGNETARTIKEL "magnetartikel.sr2"
43 #define CS2_FILE_STRING_STATUS_GLEISBILD "gleisbild.sr2"
44 #define CS2_FILE_STRING_STATUS_FAHRSTRASSE "fahrstrassen.sr2"
45 
49 #define CS2_PARAGRAPH_TYPE_LOK 1
50 #define CS2_PARAGRAPH_TYPE_NUMLOKS 2
51 #define CS2_PARAGRAPH_TYPE_LOKOMOTIVE 3
52 #define CS2_PARAGRAPH_TYPE_GLEISBILD 4
53 #define CS2_PARAGRAPH_TYPE_GLEISBILDSEITE 5
54 #define CS2_PARAGRAPH_TYPE_MAGNETARTIKEL 6
55 #define CS2_PARAGRAPH_TYPE_FAHRSTRASSEN 7
56 
60 #define CS2_PARAGRAPH_STRING_LOK "lok"
61 #define CS2_PARAGRAPH_STRING_NUMLOKS "numloks"
62 #define CS2_PARAGRAPH_STRING_LOKOMOTIVE "lokomotive"
63 #define CS2_PARAGRAPH_STRING_GLEISBILD "gleisbild"
64 #define CS2_PARAGRAPH_STRING_GLEISBILDSEITE "gleisbildseite"
65 #define CS2_PARAGRAPH_STRING_MAGNETARTIKEL "magnetartikel"
66 #define CS2_PARAGRAPH_STRING_FAHRSTRASSEN "fahrstrassen"
67 
71 #define CS_MAGNETARTIKEL_TYP_STRING_STD_ROT_GRUEN "std_rot_gruen"
72 #define CS_MAGNETARTIKEL_TYP_STRING_STD_ROT "std_rot"
73 #define CS_MAGNETARTIKEL_TYP_STRING_STD_GRUEN "std_gruen"
74 #define CS_MAGNETARTIKEL_TYP_STRING_ENTKUPPLUNGSGLEIS "entkupplungsgleis"
75 #define CS_MAGNETARTIKEL_TYP_STRING_ENTKUPPLUNGSGLEIS_1 "entkupplungsgleis_1"
76 #define CS_MAGNETARTIKEL_TYP_STRING_RECHTSWEICHE "rechtsweiche"
77 #define CS_MAGNETARTIKEL_TYP_STRING_LINKSWEICHE "linksweiche"
78 #define CS_MAGNETARTIKEL_TYP_STRING_Y_WEICHE "y_weiche"
79 #define CS_MAGNETARTIKEL_TYP_STRING_K84_AUSGANG "k84_ausgang"
80 #define CS_MAGNETARTIKEL_TYP_STRING_K84_DOPPELAUSGANG "k84_doppelausgang"
81 #define CS_MAGNETARTIKEL_TYP_STRING_DREIWEGWEICHE "dreiwegweiche"
82 #define CS_MAGNETARTIKEL_TYP_STRING_DKW_2_ANTRIEBE "DKW 2 Antriebe"
83 #define CS_MAGNETARTIKEL_TYP_STRING_DKW_1_ANTRIEB "DKW 1 Antrieb"
84 #define CS_MAGNETARTIKEL_TYP_STRING_LICHTSIGNAL_HP01 "lichtsignal_HP01"
85 #define CS_MAGNETARTIKEL_TYP_STRING_LICHTSIGNAL_HP02 "lichtsignal_HP02"
86 #define CS_MAGNETARTIKEL_TYP_STRING_LICHTSIGNAL_HP012 "lichtsignal_HP012"
87 #define CS_MAGNETARTIKEL_TYP_STRING_LICHTSIGNAL_HP012_SH01 "lichtsignal_HP012_SH01"
88 #define CS_MAGNETARTIKEL_TYP_STRING_LICHTSIGNAL_SH01 "lichtsignal_SH01"
89 #define CS_MAGNETARTIKEL_TYP_STRING_FORMSIGNAL_HP01 "formsignal_HP01"
90 #define CS_MAGNETARTIKEL_TYP_STRING_FORMSIGNAL_HP02 "formsignal_HP02"
91 #define CS_MAGNETARTIKEL_TYP_STRING_FORMSIGNAL_HP012 "formsignal_HP012"
92 #define CS_MAGNETARTIKEL_TYP_STRING_FORMSIGNAL_HP012_SH01 "formsignal_HP012_SH01"
93 #define CS_MAGNETARTIKEL_TYP_STRING_FORMSIGNAL_SH01 "formsignal_SH01"
94 #define CS_MAGNETARTIKEL_TYP_STRING_URC_LICHTSIGNAL_HP01 "urc_lichtsignal_HP01"
95 #define CS_MAGNETARTIKEL_TYP_STRING_URC_LICHTSIGNAL_HP012 "urc_lichtsignal_HP012"
96 #define CS_MAGNETARTIKEL_TYP_STRING_URC_LICHTSIGNAL_HP012_SH01 "urc_lichtsignal_HP012_SH01"
97 #define CS_MAGNETARTIKEL_TYP_STRING_URC_LICHTSIGNAL_SH01 "urc_lichtsignal_SH01"
98 #define CS_MAGNETARTIKEL_TYP_STRING_SCHIEBEBUEHNE "schiebebuehne"
99 #define CS_MAGNETARTIKEL_TYP_STRING_DREHSCHEIBE_ALT "drehscheibe_alt"
100 #define CS_MAGNETARTIKEL_TYP_STRING_DIGITALDREHSCHEIBE "digitaldrehscheibe"
101 
105 #define CS2_GLEISBILD_TYP_STRING_LEER "leer"
106 #define CS2_GLEISBILD_TYP_STRING_GERADE "gerade"
107 #define CS2_GLEISBILD_TYP_STRING_KREUZUNG "kreuzung"
108 #define CS2_GLEISBILD_TYP_STRING_UNTERFUEHRUNG "unterfuehrung"
109 #define CS2_GLEISBILD_TYP_STRING_PRELLBOCK "prellbock"
110 #define CS2_GLEISBILD_TYP_STRING_BOGEN "bogen"
111 #define CS2_GLEISBILD_TYP_STRING_DOPPELBOGEN "doppelbogen"
112 #define CS2_GLEISBILD_TYP_STRING_TUNNEL "tunnel"
113 #define CS2_GLEISBILD_TYP_STRING_LINKSWEICHE "linksweiche"
114 #define CS2_GLEISBILD_TYP_STRING_RECHTSWEICHE "rechtsweiche"
115 #define CS2_GLEISBILD_TYP_STRING_DREIWEGWEICHE "dreiwegweiche"
116 #define CS2_GLEISBILD_TYP_STRING_YWEICHE "yweiche"
117 #define CS2_GLEISBILD_TYP_STRING_DKWEICHE "dkweiche"
118 #define CS2_GLEISBILD_TYP_STRING_DKWEICHE_2 "dkweiche_2"
119 #define CS2_GLEISBILD_TYP_STRING_SIGNAL "signal"
120 #define CS2_GLEISBILD_TYP_STRING_S88KONTAKT "s88kontakt"
121 #define CS2_GLEISBILD_TYP_STRING_S88BOGEN "s88bogen"
122 #define CS2_GLEISBILD_TYP_STRING_PFEIL "pfeil"
123 #define CS2_GLEISBILD_TYP_STRING_FAHRSTRASSE "fahrstrasse"
124 #define CS2_GLEISBILD_TYP_STRING_TEXT "text"
125 #define CS2_GLEISBILD_TYP_STRING_SIGNAL_HP02 "signal_hp02"
126 #define CS2_GLEISBILD_TYP_STRING_SIGNAL_HP012 "signal_hp012"
127 #define CS2_GLEISBILD_TYP_STRING_SIGNAL_HP01S "signal_hp01s"
128 #define CS2_GLEISBILD_TYP_STRING_SIGNAL_P_HP012S "signal_p_hp012s"
129 #define CS2_GLEISBILD_TYP_STRING_SIGNAL_F_HP012S "signal_f_hp012s"
130 #define CS2_GLEISBILD_TYP_STRING_SIGNAL_P_HP012 "signal_p_hp012"
131 #define CS2_GLEISBILD_TYP_STRING_SIGNAL_F_HP01 "signal_f_hp01"
132 #define CS2_GLEISBILD_TYP_STRING_SIGNAL_F_HP02 "signal_f_hp02"
133 #define CS2_GLEISBILD_TYP_STRING_SIGNAL_F_HP012 "signal_f_hp012"
134 #define CS2_GLEISBILD_TYP_STRING_SIGNAL_SH01 "signal_sh01"
135 #define CS2_GLEISBILD_TYP_STRING_K84_EINFACH "k84_einfach"
136 #define CS2_GLEISBILD_TYP_STRING_K84_DOPPELT "k84_doppelt"
137 #define CS2_GLEISBILD_TYP_STRING_ENTKUPPLER "entkuppler"
138 #define CS2_GLEISBILD_TYP_STRING_ENTKUPPLER_1 "entkuppler_1"
139 #define CS2_GLEISBILD_TYP_STRING_STD_ROT "std_rot"
140 #define CS2_GLEISBILD_TYP_STRING_STD_GRUEN "std_gruen"
141 #define CS2_GLEISBILD_TYP_STRING_STD_ROT_GRUEN_0 "std_rot_gruen_0"
142 #define CS2_GLEISBILD_TYP_STRING_STD_ROT_GRUEN_1 "std_rot_gruen_1"
143 #define CS2_GLEISBILD_TYP_STRING_SCHIEBEBUEHNE_0 "schiebebuehne_0"
144 #define CS2_GLEISBILD_TYP_STRING_SCHIEBEBUEHNE_1 "schiebebuehne_1"
145 #define CS2_GLEISBILD_TYP_STRING_SCHIEBEBUEHNE_2 "schiebebuehne_2"
146 #define CS2_GLEISBILD_TYP_STRING_SCHIEBEBUEHNE_3 "schiebebuehne_3"
147 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_ALT_0 "drehscheibe_alt_0"
148 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_ALT_1 "drehscheibe_alt_1 "
149 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_ALT_2 "drehscheibe_alt_2"
150 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_ALT_3 "drehscheibe_alt_3"
151 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_0 "drehscheibe_dig_0"
152 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_1 "drehscheibe_dig_1"
153 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_2 "drehscheibe_dig_2"
154 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_3 "drehscheibe_dig_3"
155 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_4 "drehscheibe_dig_4"
156 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_5 "drehscheibe_dig_5"
157 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_6 "drehscheibe_dig_6"
158 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_7 "drehscheibe_dig_7"
159 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_8 "drehscheibe_dig_8"
160 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_9 "drehscheibe_dig_9"
161 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_10 "drehscheibe_dig_10"
162 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_11 "drehscheibe_dig_11"
163 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_12 "drehscheibe_dig_12"
164 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_13 "drehscheibe_dig_13"
165 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_14 "drehscheibe_dig_14"
166 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_15 "drehscheibe_dig_15"
167 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_16 "drehscheibe_dig_16"
168 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_17 "drehscheibe_dig_17"
169 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_18 "drehscheibe_dig_18"
170 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_19 "drehscheibe_dig_19"
171 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_20 "drehscheibe_dig_20"
172 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_21 "drehscheibe_dig_21"
173 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_22 "drehscheibe_dig_22"
174 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_23 "drehscheibe_dig_23"
175 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_24 "drehscheibe_dig_24"
176 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_25 "drehscheibe_dig_25"
177 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_26 "drehscheibe_dig_26"
178 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_27 "drehscheibe_dig_27"
179 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_28 "drehscheibe_dig_28"
180 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_29 "drehscheibe_dig_29"
181 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_30 "drehscheibe_dig_30"
182 #define CS2_GLEISBILD_TYP_STRING_DREHSCHEIBE_DIG_31 "drehscheibe_dig_31"
183 
184 
185 char *Cs2GetTypAsString(int Typ);
186 FILE *Cs2OpenByName(char *Name);
187 FILE *Cs2OpenByType(int Cs2FileType);
188 void Cs2Close(FILE *Stream);
189 void Cs2WriteParagraphByName(FILE *Stream, char *Paragraph);
190 void Cs2WriteParagraphByType(FILE *Stream, int Cs2ParagraphType);
191 void Cs2WriteTitleByName(FILE *Stream, char *Title, int Level);
192 void Cs2WriteStringValueByName(FILE *Stream, char *Title, char *Value, int Level);
193 void Cs2WriteIntValueByName(FILE *Stream, char *Title, int Value, int Level);
194 void Cs2WriteHexValueByName(FILE *Stream, char *Title, int Value, int Level);
195 void Cs2WriteULongValueByName(FILE *Stream, char *Title, unsigned long Value, int Level);
196 void Cs2WriteHexLongValueByName(FILE *Stream, char *Title, unsigned long Value, int Level);
197 void Cs2WriteFloatValueByName(FILE *Stream, char *Title, float Value, int Level);
198 
201 #endif