1 /*
2 * libwbxml, the WBXML Library.
3 * Copyright (C) 2002-2008 Aymerick Jehanne <aymerick@jehanne.org>
4 * Copyright (C) 2008-2011 Michael Bell <michael.bell@opensync.org>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 *
20 * LGPL v2.1: http://www.gnu.org/copyleft/lesser.txt
21 *
22 * Contact: aymerick@jehanne.org
23 * Home: http://libwbxml.aymerick.com
24 */
25
26 /**
27 * @file wbxml_tables.c
28 * @ingroup wbxml_tables
29 *
30 * @author Aymerick Jehanne <aymerick@jehanne.org>
31 * @date 02/03/17
32 *
33 * @brief WBXML Tables
34 */
35
36 #include "wbxml_tables.h"
37 #include "wbxml_internals.h"
38 #include "wbxml_log.h"
39
40 /**
41 * @brief If undefined, only the WML 1.3 tables are used for all WML versions (WML 1.0 / WML 1.1 / WML 1.2 / WML 1.3).
42 * It saves space, and, well, every handset must supports WML 1.3 right now.
43 * If defined, each version has its own exact tables.
44 */
45 #undef WBXML_TABLES_SEPARATE_WML_VERSIONS
46
47
48 /**************************************
49 * Languages Public IDs
50 */
51
52 /* WAP */
53 #if defined( WBXML_SUPPORT_WML )
54 const WBXMLPublicIDEntry sv_wml10_public_id = { WBXML_PUBLIC_ID_WML10, XML_PUBLIC_ID_WML10, "wml", "http://www.wapforum.org/DTD/wml.xml" };
55 const WBXMLPublicIDEntry sv_wml11_public_id = { WBXML_PUBLIC_ID_WML11, XML_PUBLIC_ID_WML11, "wml", "http://www.wapforum.org/DTD/wml_1_1.dtd" };
56 const WBXMLPublicIDEntry sv_wml12_public_id = { WBXML_PUBLIC_ID_WML12, XML_PUBLIC_ID_WML12, "wml", "http://www.wapforum.org/DTD/wml12.dtd" };
57 const WBXMLPublicIDEntry sv_wml13_public_id = { WBXML_PUBLIC_ID_WML13, XML_PUBLIC_ID_WML13, "wml", "http://www.wapforum.org/DTD/wml13.dtd" };
58 #endif /* WBXML_SUPPORT_WML */
59
60 #if defined( WBXML_SUPPORT_WTA )
61 const WBXMLPublicIDEntry sv_wta10_public_id = { WBXML_PUBLIC_ID_WTA10, XML_PUBLIC_ID_WTA10, "wtai", "wtai.dtd" };
62 const WBXMLPublicIDEntry sv_wtawml12_public_id = { WBXML_PUBLIC_ID_WTAWML12, XML_PUBLIC_ID_WTAWML12, "wta-wml", "http://www.wapforum.org/DTD/wta-wml12.dtd" };
63 const WBXMLPublicIDEntry sv_channel11_public_id = { WBXML_PUBLIC_ID_CHANNEL11, XML_PUBLIC_ID_CHANNEL11, "channel", "" };
64 const WBXMLPublicIDEntry sv_channel12_public_id = { WBXML_PUBLIC_ID_CHANNEL12, XML_PUBLIC_ID_CHANNEL12, "channel", "http://www.wapforum.org/DTD/channel12.dtd" };
65 #endif /* WBXML_SUPPORT_WTA */
66
67 #if defined( WBXML_SUPPORT_SI )
68 const WBXMLPublicIDEntry sv_si10_public_id = { WBXML_PUBLIC_ID_SI10, XML_PUBLIC_ID_SI10, "si", "http://www.wapforum.org/DTD/si.dtd" };
69 #endif /* WBXML_SUPPORT_SI */
70
71 #if defined( WBXML_SUPPORT_SL )
72 const WBXMLPublicIDEntry sv_sl10_public_id = { WBXML_PUBLIC_ID_SL10, XML_PUBLIC_ID_SL10, "sl", "http://www.wapforum.org/DTD/sl.dtd" };
73 #endif /* WBXML_SUPPORT_SL */
74
75 #if defined( WBXML_SUPPORT_CO )
76 const WBXMLPublicIDEntry sv_co10_public_id = { WBXML_PUBLIC_ID_CO10, XML_PUBLIC_ID_CO10, "co", "http://www.wapforum.org/DTD/co_1.0.dtd" };
77 #endif /* WBXML_SUPPORT_CO */
78
79 #if defined( WBXML_SUPPORT_PROV )
80 const WBXMLPublicIDEntry sv_prov10_public_id = { WBXML_PUBLIC_ID_PROV10, XML_PUBLIC_ID_PROV10, "wap-provisioningdoc", "http://www.wapforum.org/DTD/prov.dtd" };
81 #endif /* WBXML_SUPPORT_PROV */
82
83 #if defined( WBXML_SUPPORT_EMN )
84 const WBXMLPublicIDEntry sv_emn10_public_id = { WBXML_PUBLIC_ID_EMN10, XML_PUBLIC_ID_EMN10, "emn", "http://www.wapforum.org/DTD/emn.dtd" };
85 #endif /* WBXML_SUPPORT_EMN */
86
87 #if defined( WBXML_SUPPORT_DRMREL )
88 const WBXMLPublicIDEntry sv_drmrel10_public_id = { WBXML_PUBLIC_ID_DRMREL10, XML_PUBLIC_ID_DRMREL10, "o-ex:rights", "http://www.openmobilealliance.org/DTD/drmrel10.dtd"};
89 #endif /* WBXML_SUPPORT_DRMREL */
90
91 #if defined( WBXML_SUPPORT_OTA_SETTINGS )
92 /* Ericsson / Nokia OTA Settings v7.0 */
93 const WBXMLPublicIDEntry sv_ota_settings_public_id = { WBXML_PUBLIC_ID_OTA_SETTINGS, XML_PUBLIC_ID_OTA_SETTINGS, "CHARACTERISTIC-LIST", "characteristic-list.dtd" };
94 #endif /* WBXML_SUPPORT_OTA_SETTINGS */
95
96 #if defined( WBXML_SUPPORT_SYNCML )
97 /* SyncML 1.0 */
98 const WBXMLPublicIDEntry sv_syncml_syncml10_public_id = { WBXML_PUBLIC_ID_SYNCML_SYNCML10, XML_PUBLIC_ID_SYNCML_SYNCML10, "SyncML", "http://www.syncml.org/docs/syncml_represent_v10_20001207.dtd" };
99 const WBXMLPublicIDEntry sv_syncml_devinf10_public_id = { WBXML_PUBLIC_ID_SYNCML_DEVINF10, XML_PUBLIC_ID_SYNCML_DEVINF10, "DevInf", "http://www.syncml.org/docs/syncml_devinf_v10_20001207.dtd" };
100 const WBXMLPublicIDEntry sv_syncml_metinf10_public_id = { WBXML_PUBLIC_ID_SYNCML_METINF10, XML_PUBLIC_ID_SYNCML_METINF10, "MetInf", "http://www.syncml.org/docs/syncml_metinf_v10_20001207.dtd" };
101
102 /* SyncML 1.1 */
103 const WBXMLPublicIDEntry sv_syncml_syncml11_public_id = { WBXML_PUBLIC_ID_SYNCML_SYNCML11, XML_PUBLIC_ID_SYNCML_SYNCML11, "SyncML", "http://www.syncml.org/docs/syncml_represent_v11_20020213.dtd" };
104 const WBXMLPublicIDEntry sv_syncml_devinf11_public_id = { WBXML_PUBLIC_ID_SYNCML_DEVINF11, XML_PUBLIC_ID_SYNCML_DEVINF11, "DevInf", "http://www.syncml.org/docs/devinf_v11_20020215.dtd" };
105 const WBXMLPublicIDEntry sv_syncml_metinf11_public_id = { WBXML_PUBLIC_ID_SYNCML_METINF11, XML_PUBLIC_ID_SYNCML_METINF11, "MetInf", "http://www.syncml.org/docs/syncml_metinf_v11_20020215.dtd" };
106
107 /* SyncML 1.2 */
108 const WBXMLPublicIDEntry sv_syncml_syncml12_public_id = { WBXML_PUBLIC_ID_SYNCML_SYNCML12, XML_PUBLIC_ID_SYNCML_SYNCML12, "SyncML", "http://www.openmobilealliance.org/tech/DTD/OMA-TS-SyncML_RepPro_DTD-V1_2.dtd" };
109 const WBXMLPublicIDEntry sv_syncml_devinf12_public_id = { WBXML_PUBLIC_ID_SYNCML_DEVINF12, XML_PUBLIC_ID_SYNCML_DEVINF12, "DevInf", "http://www.openmobilealliance.org/tech/DTD/OMA-SyncML-Device_Information-DTD-1.2.dtd" };
110 const WBXMLPublicIDEntry sv_syncml_metinf12_public_id = { WBXML_PUBLIC_ID_SYNCML_METINF12, XML_PUBLIC_ID_SYNCML_METINF12, "MetInf", "http://www.openmobilealliance.org/tech/DTD/OMA-TS-SyncML_MetaInfo_DTD-V1_2.dtd" };
111 const WBXMLPublicIDEntry sv_syncml_dmddf12_public_id = { WBXML_PUBLIC_ID_SYNCML_DMDDF12, XML_PUBLIC_ID_SYNCML_DMDDF12, "MgmtTree", "http://www.openmobilealliance.org/tech/DTD/dm_ddf-v1_2.dtd" };
112 #endif /* WBXML_SUPPORT_SYNCML */
113
114 #if defined( WBXML_SUPPORT_WV )
115 /* OMA Wireless Village CSP 1.1 / 1.2 */
116 const WBXMLPublicIDEntry sv_wv_csp11_public_id = { WBXML_PUBLIC_ID_WV_CSP11, XML_PUBLIC_ID_WV_CSP11, "WV-CSP-Message", "http://www.openmobilealliance.org/DTD/WV-CSP.XML" };
117 const WBXMLPublicIDEntry sv_wv_csp12_public_id = { WBXML_PUBLIC_ID_WV_CSP12, XML_PUBLIC_ID_WV_CSP12, "WV-CSP-Message", "http://www.openmobilealliance.org/DTD/WV-CSP.DTD" };
118 #endif /* WBXML_SUPPORT_WV */
119
120 #if defined( WBXML_SUPPORT_AIRSYNC )
121 const WBXMLPublicIDEntry sv_airsync_public_id = { WBXML_PUBLIC_ID_AIRSYNC, XML_PUBLIC_ID_AIRSYNC, "AirSync", "http://www.microsoft.com/"};
122 const WBXMLPublicIDEntry sv_activesync_public_id = { WBXML_PUBLIC_ID_ACTIVESYNC, XML_PUBLIC_ID_ACTIVESYNC, "ActiveSync", "http://www.microsoft.com/"};
123 #endif /* WBXML_SUPPORT_AIRSYNC */
124
125 #if defined( WBXML_SUPPORT_CONML )
126 const WBXMLPublicIDEntry sv_conml_public_id = { WBXML_PUBLIC_ID_CONML, XML_PUBLIC_ID_CONML, "ConML", "http://www.nokia.com/"};
127 #endif /* WBXML_SUPPORT_CONML */
128
129
130 /**************************************
131 * Languages Tables
132 */
133
134 #if defined( WBXML_SUPPORT_WML )
135
136 #ifdef WBXML_TABLES_SEPARATE_WML_VERSIONS
137
138 /********************************************
139 * WML 1.0 (WAP 1.0: "WML-30-Apr-98.pdf")
140 */
141
142 const WBXMLTagEntry sv_wml10_tag_table[] = {
143 { "a", 0x00, 0x22 },
144 { "access", 0x00, 0x23 },
145 { "b", 0x00, 0x24 },
146 { "big", 0x00, 0x25 },
147 { "br", 0x00, 0x26 },
148 { "card", 0x00, 0x27 },
149 { "do", 0x00, 0x28 },
150 { "em", 0x00, 0x29 },
151 { "fieldset", 0x00, 0x2a },
152 { "go", 0x00, 0x2b },
153 { "head", 0x00, 0x2c },
154 { "i", 0x00, 0x2d },
155 { "img", 0x00, 0x2e },
156 { "input", 0x00, 0x2f },
157 { "meta", 0x00, 0x30 },
158 { "noop", 0x00, 0x31 },
159 { "prev", 0x00, 0x32 },
160 { "onevent", 0x00, 0x33 },
161 { "optgroup", 0x00, 0x34 },
162 { "option", 0x00, 0x35 },
163 { "refresh", 0x00, 0x36 },
164 { "select", 0x00, 0x37 },
165 { "small", 0x00, 0x38 },
166 { "strong", 0x00, 0x39 },
167 { "tab", 0x00, 0x3a }, /* Deprecated */
168 { "template", 0x00, 0x3b },
169 { "timer", 0x00, 0x3c },
170 { "u", 0x00, 0x3d },
171 { "var", 0x00, 0x3e },
172 { "wml", 0x00, 0x3f },
173 { NULL, 0x00, 0x00 }
174 };
175
176
177 const WBXMLAttrEntry sv_wml10_attr_table[] = {
178 { "accept-charset", NULL, 0x00, 0x05 },
179 { "align", "bottom", 0x00, 0x06 },
180 { "align", "center", 0x00, 0x07 },
181 { "align", "left", 0x00, 0x08 },
182 { "align", "middle", 0x00, 0x09 },
183 { "align", "right", 0x00, 0x0a },
184 { "align", "top", 0x00, 0x0b },
185 { "alt", NULL, 0x00, 0x0c },
186 { "content", NULL, 0x00, 0x0d },
187 { "default", NULL, 0x00, 0x0e },
188 { "domain", NULL, 0x00, 0x0f },
189 { "emptyok", "false", 0x00, 0x10 },
190 { "emptyok", "true", 0x00, 0x11 },
191 { "format", NULL, 0x00, 0x12 },
192 { "height", NULL, 0x00, 0x13 },
193 { "hspace", NULL, 0x00, 0x14 },
194 { "idefault", NULL, 0x00, 0x15 }, /* Deprecated */
195 { "ikey", NULL, 0x00, 0x16 }, /* Deprecated */
196 { "key", NULL, 0x00, 0x17 }, /* Deprecated */
197 { "label", NULL, 0x00, 0x18 },
198 { "localsrc", NULL, 0x00, 0x19 },
199 { "maxlength", NULL, 0x00, 0x1a },
200 { "method", "get", 0x00, 0x1b },
201 { "method", "post", 0x00, 0x1c },
202 { "mode", "nowrap", 0x00, 0x1d },
203 { "mode", "wrap", 0x00, 0x1e },
204 { "multiple", "false", 0x00, 0x1f },
205 { "multiple", "true", 0x00, 0x20 },
206 { "name", NULL, 0x00, 0x21 },
207 { "newcontext", "false", 0x00, 0x22 },
208 { "newcontext", "true", 0x00, 0x23 },
209 { "onclick", NULL, 0x00, 0x24 }, /* Deprecated */
210 { "onenterbackward", NULL, 0x00, 0x25 },
211 { "onenterforward", NULL, 0x00, 0x26 },
212 { "ontimer", NULL, 0x00, 0x27 },
213 { "optional", "false", 0x00, 0x28 },
214 { "optional", "true", 0x00, 0x29 },
215 { "path", NULL, 0x00, 0x2a },
216 { "postdata", NULL, 0x00, 0x2b }, /* Deprecated */
217 { "public", "false", 0x00, 0x2c }, /* Deprecated */
218 { "public", "true", 0x00, 0x2d }, /* Deprecated */
219 { "scheme", NULL, 0x00, 0x2e },
220 { "sendreferer", "false", 0x00, 0x2f },
221 { "sendreferer", "true", 0x00, 0x30 },
222 { "size", NULL, 0x00, 0x31 },
223 { "src", NULL, 0x00, 0x32 },
224 { "style", "list", 0x00, 0x33 }, /* Deprecated */
225 { "style", "set", 0x00, 0x34 }, /* Deprecated */
226 { "tabindex", NULL, 0x00, 0x35 },
227 { "title", NULL, 0x00, 0x36 },
228 { "type", NULL, 0x00, 0x37 },
229 { "type", "accept", 0x00, 0x38 },
230 { "type", "delete", 0x00, 0x39 },
231 { "type", "help", 0x00, 0x3a },
232 { "type", "password", 0x00, 0x3b },
233 { "type", "onpick", 0x00, 0x3c },
234 { "type", "onenterbackward", 0x00, 0x3d },
235 { "type", "onenterforward", 0x00, 0x3e },
236 { "type", "ontimer", 0x00, 0x3f },
237 { "type", "options", 0x00, 0x45 },
238 { "type", "prev", 0x00, 0x46 },
239 { "type", "reset", 0x00, 0x47 },
240 { "type", "text", 0x00, 0x48 },
241 { "type", "vnd.", 0x00, 0x49 },
242 { "url", NULL, 0x00, 0x4a }, /* Deprecated */
243 { "url", "http://", 0x00, 0x4b }, /* Deprecated */
244 { "url", "https://", 0x00, 0x4c }, /* Deprecated */
245 { "user-agent", NULL, 0x00, 0x4d }, /* Deprecated */
246 { "value", NULL, 0x00, 0x4e },
247 { "vspace", NULL, 0x00, 0x4f },
248 { "width", NULL, 0x00, 0x50 },
249 { "xml:lang", NULL, 0x00, 0x51 },
250 { NULL, NULL, 0x00, 0x00 }
251 };
252
253
254 const WBXMLAttrValueEntry sv_wml10_attr_value_table[] = {
255 { ".com/", 0x00, 0x85 },
256 { ".edu/", 0x00, 0x86 },
257 { ".net/", 0x00, 0x87 },
258 { ".org/", 0x00, 0x88 },
259 { "accept", 0x00, 0x89 },
260 { "bottom", 0x00, 0x8a },
261 { "clear", 0x00, 0x8b },
262 { "delete", 0x00, 0x8c },
263 { "help", 0x00, 0x8d },
264 /* Do NOT change the order in this table please ! */
265 { "http://www.", 0x00, 0x8f },
266 { "http://", 0x00, 0x8e },
267 { "https://www.", 0x00, 0x91 },
268 { "https://", 0x00, 0x90 },
269 { "list", 0x00, 0x92 }, /* Deprecated */
270 { "middle", 0x00, 0x93 },
271 { "nowrap", 0x00, 0x94 },
272 { "onclick", 0x00, 0x95 }, /* Deprecated */
273 { "onenterbackward", 0x00, 0x96 },
274 { "onenterforward", 0x00, 0x97 },
275 { "ontimer", 0x00, 0x98 },
276 { "options", 0x00, 0x99 },
277 { "password", 0x00, 0x9a },
278 { "reset", 0x00, 0x9b },
279 { "set", 0x00, 0x9c }, /* Deprecated */
280 { "text", 0x00, 0x9d },
281 { "top", 0x00, 0x9e },
282 { "unknown", 0x00, 0x9f },
283 { "wrap", 0x00, 0xa0 },
284 { "www.", 0x00, 0xa1 },
285 { NULL, 0x00, 0x00 }
286 };
287
288
289 /***********************************************
290 * WML 1.1 (WAP 1.1: "SPEC-WML-19990616.pdf")
291 */
292
293 const WBXMLTagEntry sv_wml11_tag_table[] = {
294 { "a", 0x00, 0x1c },
295 { "anchor", 0x00, 0x22 }, /* WML 1.1 */
296 { "access", 0x00, 0x23 },
297 { "b", 0x00, 0x24 },
298 { "big", 0x00, 0x25 },
299 { "br", 0x00, 0x26 },
300 { "card", 0x00, 0x27 },
301 { "do", 0x00, 0x28 },
302 { "em", 0x00, 0x29 },
303 { "fieldset", 0x00, 0x2a },
304 { "go", 0x00, 0x2b },
305 { "head", 0x00, 0x2c },
306 { "i", 0x00, 0x2d },
307 { "img", 0x00, 0x2e },
308 { "input", 0x00, 0x2f },
309 { "meta", 0x00, 0x30 },
310 { "noop", 0x00, 0x31 },
311 { "p", 0x00, 0x20 }, /* WML 1.1 */
312 { "postfield", 0x00, 0x21 }, /* WML 1.1 */
313 { "prev", 0x00, 0x32 },
314 { "onevent", 0x00, 0x33 },
315 { "optgroup", 0x00, 0x34 },
316 { "option", 0x00, 0x35 },
317 { "refresh", 0x00, 0x36 },
318 { "select", 0x00, 0x37 },
319 { "setvar", 0x00, 0x3e }, /* WML 1.1 */
320 { "small", 0x00, 0x38 },
321 { "strong", 0x00, 0x39 },
322 { "table", 0x00, 0x1f }, /* WML 1.1 */
323 { "td", 0x00, 0x1d }, /* WML 1.1 */
324 { "template", 0x00, 0x3b },
325 { "timer", 0x00, 0x3c },
326 { "tr", 0x00, 0x1e }, /* WML 1.1 */
327 { "u", 0x00, 0x3d },
328 { "wml", 0x00, 0x3f },
329 { NULL, 0x00, 0x00 }
330 };
331
332
333 const WBXMLAttrEntry sv_wml11_attr_table[] = {
334 { "accept-charset", NULL, 0x00, 0x05 },
335 { "align", NULL, 0x00, 0x52 }, /* WML 1.1 */
336 { "align", "bottom", 0x00, 0x06 },
337 { "align", "center", 0x00, 0x07 },
338 { "align", "left", 0x00, 0x08 },
339 { "align", "middle", 0x00, 0x09 },
340 { "align", "right", 0x00, 0x0a },
341 { "align", "top", 0x00, 0x0b },
342 { "alt", NULL, 0x00, 0x0c },
343 { "class", NULL, 0x00, 0x54 }, /* WML 1.1 */
344 { "columns", NULL, 0x00, 0x53 }, /* WML 1.1 */
345 { "content", NULL, 0x00, 0x0d },
346 { "content", "application/vnd.wap.wmlc;charset=", 0x00, 0x5c }, /* WML 1.1 */
347 { "domain", NULL, 0x00, 0x0f },
348 { "emptyok", "false", 0x00, 0x10 },
349 { "emptyok", "true", 0x00, 0x11 },
350 { "format", NULL, 0x00, 0x12 },
351 { "forua", "false", 0x00, 0x56 }, /* WML 1.1 */
352 { "forua", "true", 0x00, 0x57 }, /* WML 1.1 */
353 { "height", NULL, 0x00, 0x13 },
354 { "href", NULL, 0x00, 0x4a }, /* WML 1.1 */
355 { "href", "http://", 0x00, 0x4b }, /* WML 1.1 */
356 { "href", "https://", 0x00, 0x4c }, /* WML 1.1 */
357 { "hspace", NULL, 0x00, 0x14 },
358 { "http-equiv", NULL, 0x00, 0x5a }, /* WML 1.1 */
359 { "http-equiv", "Content-Type", 0x00, 0x5b }, /* WML 1.1 */
360 { "http-equiv", "Expires", 0x00, 0x5d }, /* WML 1.1 */
361 { "id", NULL, 0x00, 0x55 }, /* WML 1.1 */
362 { "ivalue", NULL, 0x00, 0x15 }, /* WML 1.1 */
363 { "iname", NULL, 0x00, 0x16 }, /* WML 1.1 */
364 { "label", NULL, 0x00, 0x18 },
365 { "localsrc", NULL, 0x00, 0x19 },
366 { "maxlength", NULL, 0x00, 0x1a },
367 { "method", "get", 0x00, 0x1b },
368 { "method", "post", 0x00, 0x1c },
369 { "mode", "nowrap", 0x00, 0x1d },
370 { "mode", "wrap", 0x00, 0x1e },
371 { "multiple", "false", 0x00, 0x1f },
372 { "multiple", "true", 0x00, 0x20 },
373 { "name", NULL, 0x00, 0x21 },
374 { "newcontext", "false", 0x00, 0x22 },
375 { "newcontext", "true", 0x00, 0x23 },
376 { "onenterbackward", NULL, 0x00, 0x25 },
377 { "onenterforward", NULL, 0x00, 0x26 },
378 { "onpick", NULL, 0x00, 0x24 }, /* WML 1.1 */
379 { "ontimer", NULL, 0x00, 0x27 },
380 { "optional", "false", 0x00, 0x28 },
381 { "optional", "true", 0x00, 0x29 },
382 { "path", NULL, 0x00, 0x2a },
383 { "scheme", NULL, 0x00, 0x2e },
384 { "sendreferer", "false", 0x00, 0x2f },
385 { "sendreferer", "true", 0x00, 0x30 },
386 { "size", NULL, 0x00, 0x31 },
387 { "src", NULL, 0x00, 0x32 },
388 { "src", "http://", 0x00, 0x58 }, /* WML 1.1 */
389 { "src", "https://", 0x00, 0x59 }, /* WML 1.1 */
390 { "ordered", "true", 0x00, 0x33 }, /* WML 1.1 */
391 { "ordered", "false", 0x00, 0x34 }, /* WML 1.1 */
392 { "tabindex", NULL, 0x00, 0x35 },
393 { "title", NULL, 0x00, 0x36 },
394 { "type", NULL, 0x00, 0x37 },
395 { "type", "accept", 0x00, 0x38 },
396 { "type", "delete", 0x00, 0x39 },
397 { "type", "help", 0x00, 0x3a },
398 { "type", "password", 0x00, 0x3b },
399 { "type", "onpick", 0x00, 0x3c },
400 { "type", "onenterbackward", 0x00, 0x3d },
401 { "type", "onenterforward", 0x00, 0x3e },
402 { "type", "ontimer", 0x00, 0x3f },
403 { "type", "options", 0x00, 0x45 },
404 { "type", "prev", 0x00, 0x46 },
405 { "type", "reset", 0x00, 0x47 },
406 { "type", "text", 0x00, 0x48 },
407 { "type", "vnd.", 0x00, 0x49 },
408 { "value", NULL, 0x00, 0x4d },
409 { "vspace", NULL, 0x00, 0x4e },
410 { "width", NULL, 0x00, 0x4f },
411 { "xml:lang", NULL, 0x00, 0x50 },
412 { NULL, NULL, 0x00, 0x00 }
413 };
414
415
416 const WBXMLAttrValueEntry sv_wml11_attr_value_table[] = {
417 { ".com/", 0x00, 0x85 },
418 { ".edu/", 0x00, 0x86 },
419 { ".net/", 0x00, 0x87 },
420 { ".org/", 0x00, 0x88 },
421 { "accept", 0x00, 0x89 },
422 { "bottom", 0x00, 0x8a },
423 { "clear", 0x00, 0x8b },
424 { "delete", 0x00, 0x8c },
425 { "help", 0x00, 0x8d },
426 /* Do NOT change the order in this table please ! */
427 { "http://www.", 0x00, 0x8f },
428 { "http://", 0x00, 0x8e },
429 { "https://www.", 0x00, 0x91 },
430 { "https://", 0x00, 0x90 },
431 { "middle", 0x00, 0x93 },
432 { "nowrap", 0x00, 0x94 },
433 { "onenterbackward", 0x00, 0x96 },
434 { "onenterforward", 0x00, 0x97 },
435 { "onpick", 0x00, 0x95 }, /* WML 1.1 */
436 { "ontimer", 0x00, 0x98 },
437 { "options", 0x00, 0x99 },
438 { "password", 0x00, 0x9a },
439 { "reset", 0x00, 0x9b },
440 { "text", 0x00, 0x9d },
441 { "top", 0x00, 0x9e },
442 { "unknown", 0x00, 0x9f },
443 { "wrap", 0x00, 0xa0 },
444 { "www.", 0x00, 0xa1 },
445 { NULL, 0x00, 0x00 }
446 };
447
448
449 /***********************************************
450 * WML 1.2 (WAP 1.2: "SPEC-WML-19991104.pdf")
451 */
452
453 const WBXMLTagEntry sv_wml12_tag_table[] = {
454 { "a", 0x00, 0x1c },
455 { "anchor", 0x00, 0x22 },
456 { "access", 0x00, 0x23 },
457 { "b", 0x00, 0x24 },
458 { "big", 0x00, 0x25 },
459 { "br", 0x00, 0x26 },
460 { "card", 0x00, 0x27 },
461 { "do", 0x00, 0x28 },
462 { "em", 0x00, 0x29 },
463 { "fieldset", 0x00, 0x2a },
464 { "go", 0x00, 0x2b },
465 { "head", 0x00, 0x2c },
466 { "i", 0x00, 0x2d },
467 { "img", 0x00, 0x2e },
468 { "input", 0x00, 0x2f },
469 { "meta", 0x00, 0x30 },
470 { "noop", 0x00, 0x31 },
471 { "p", 0x00, 0x20 },
472 { "postfield", 0x00, 0x21 },
473 { "pre", 0x00, 0x1b },
474 { "prev", 0x00, 0x32 },
475 { "onevent", 0x00, 0x33 },
476 { "optgroup", 0x00, 0x34 },
477 { "option", 0x00, 0x35 },
478 { "refresh", 0x00, 0x36 },
479 { "select", 0x00, 0x37 },
480 { "setvar", 0x00, 0x3e },
481 { "small", 0x00, 0x38 },
482 { "strong", 0x00, 0x39 },
483 { "table", 0x00, 0x1f },
484 { "td", 0x00, 0x1d },
485 { "template", 0x00, 0x3b },
486 { "timer", 0x00, 0x3c },
487 { "tr", 0x00, 0x1e },
488 { "u", 0x00, 0x3d },
489 { "wml", 0x00, 0x3f },
490 { NULL, 0x00, 0x00 }
491 };
492
493
494 const WBXMLAttrEntry sv_wml12_attr_table[] = {
495 { "accept-charset", NULL, 0x00, 0x05 },
496 { "accesskey", NULL, 0x00, 0x5e }, /* WML 1.2 */
497 { "align", NULL, 0x00, 0x52 },
498 { "align", "bottom", 0x00, 0x06 },
499 { "align", "center", 0x00, 0x07 },
500 { "align", "left", 0x00, 0x08 },
501 { "align", "middle", 0x00, 0x09 },
502 { "align", "right", 0x00, 0x0a },
503 { "align", "top", 0x00, 0x0b },
504 { "alt", NULL, 0x00, 0x0c },
505 { "class", NULL, 0x00, 0x54 },
506 { "columns", NULL, 0x00, 0x53 },
507 { "content", NULL, 0x00, 0x0d },
508 { "content", "application/vnd.wap.wmlc;charset=", 0x00, 0x5c },
509 { "domain", NULL, 0x00, 0x0f },
510 { "emptyok", "false", 0x00, 0x10 },
511 { "emptyok", "true", 0x00, 0x11 },
512 { "enctype", NULL, 0x00, 0x5f }, /* WML 1.2 */
513 { "enctype", "application/x-www-form-urlencoded", 0x00, 0x60 }, /* WML 1.2 */
514 { "enctype", "multipart/form-data", 0x00, 0x61 }, /* WML 1.2 */
515 { "format", NULL, 0x00, 0x12 },
516 { "forua", "false", 0x00, 0x56 },
517 { "forua", "true", 0x00, 0x57 },
518 { "height", NULL, 0x00, 0x13 },
519 { "href", NULL, 0x00, 0x4a },
520 { "href", "http://", 0x00, 0x4b },
521 { "href", "https://", 0x00, 0x4c },
522 { "hspace", NULL, 0x00, 0x14 },
523 { "http-equiv", NULL, 0x00, 0x5a },
524 { "http-equiv", "Content-Type", 0x00, 0x5b },
525 { "http-equiv", "Expires", 0x00, 0x5d },
526 { "id", NULL, 0x00, 0x55 },
527 { "ivalue", NULL, 0x00, 0x15 },
528 { "iname", NULL, 0x00, 0x16 },
529 { "label", NULL, 0x00, 0x18 },
530 { "localsrc", NULL, 0x00, 0x19 },
531 { "maxlength", NULL, 0x00, 0x1a },
532 { "method", "get", 0x00, 0x1b },
533 { "method", "post", 0x00, 0x1c },
534 { "mode", "nowrap", 0x00, 0x1d },
535 { "mode", "wrap", 0x00, 0x1e },
536 { "multiple", "false", 0x00, 0x1f },
537 { "multiple", "true", 0x00, 0x20 },
538 { "name", NULL, 0x00, 0x21 },
539 { "newcontext", "false", 0x00, 0x22 },
540 { "newcontext", "true", 0x00, 0x23 },
541 { "onenterbackward", NULL, 0x00, 0x25 },
542 { "onenterforward", NULL, 0x00, 0x26 },
543 { "onpick", NULL, 0x00, 0x24 },
544 { "ontimer", NULL, 0x00, 0x27 },
545 { "optional", "false", 0x00, 0x28 },
546 { "optional", "true", 0x00, 0x29 },
547 { "path", NULL, 0x00, 0x2a },
548 { "scheme", NULL, 0x00, 0x2e },
549 { "sendreferer", "false", 0x00, 0x2f },
550 { "sendreferer", "true", 0x00, 0x30 },
551 { "size", NULL, 0x00, 0x31 },
552 { "src", NULL, 0x00, 0x32 },
553 { "src", "http://", 0x00, 0x58 },
554 { "src", "https://", 0x00, 0x59 },
555 { "ordered", "true", 0x00, 0x33 },
556 { "ordered", "false", 0x00, 0x34 },
557 { "tabindex", NULL, 0x00, 0x35 },
558 { "title", NULL, 0x00, 0x36 },
559 { "type", NULL, 0x00, 0x37 },
560 { "type", "accept", 0x00, 0x38 },
561 { "type", "delete", 0x00, 0x39 },
562 { "type", "help", 0x00, 0x3a },
563 { "type", "password", 0x00, 0x3b },
564 { "type", "onpick", 0x00, 0x3c },
565 { "type", "onenterbackward", 0x00, 0x3d },
566 { "type", "onenterforward", 0x00, 0x3e },
567 { "type", "ontimer", 0x00, 0x3f },
568 { "type", "options", 0x00, 0x45 },
569 { "type", "prev", 0x00, 0x46 },
570 { "type", "reset", 0x00, 0x47 },
571 { "type", "text", 0x00, 0x48 },
572 { "type", "vnd.", 0x00, 0x49 },
573 { "value", NULL, 0x00, 0x4d },
574 { "vspace", NULL, 0x00, 0x4e },
575 { "width", NULL, 0x00, 0x4f },
576 { "xml:lang", NULL, 0x00, 0x50 },
577 { NULL, NULL, 0x00, 0x00 }
578 };
579
580
581 const WBXMLAttrValueEntry sv_wml12_attr_value_table[] = {
582 { ".com/", 0x00, 0x85 },
583 { ".edu/", 0x00, 0x86 },
584 { ".net/", 0x00, 0x87 },
585 { ".org/", 0x00, 0x88 },
586 { "accept", 0x00, 0x89 },
587 { "bottom", 0x00, 0x8a },
588 { "clear", 0x00, 0x8b },
589 { "delete", 0x00, 0x8c },
590 { "help", 0x00, 0x8d },
591 /* Do NOT change the order in this table please ! */
592 { "http://www.", 0x00, 0x8f },
593 { "http://", 0x00, 0x8e },
594 { "https://www.", 0x00, 0x91 },
595 { "https://", 0x00, 0x90 },
596 { "middle", 0x00, 0x93 },
597 { "nowrap", 0x00, 0x94 },
598 { "onenterbackward", 0x00, 0x96 },
599 { "onenterforward", 0x00, 0x97 },
600 { "onpick", 0x00, 0x95 },
601 { "ontimer", 0x00, 0x98 },
602 { "options", 0x00, 0x99 },
603 { "password", 0x00, 0x9a },
604 { "reset", 0x00, 0x9b },
605 { "text", 0x00, 0x9d },
606 { "top", 0x00, 0x9e },
607 { "unknown", 0x00, 0x9f },
608 { "wrap", 0x00, 0xa0 },
609 { "www.", 0x00, 0xa1 },
610 { NULL, 0x00, 0x00 }
611 };
612
613 #endif /* WBXML_TABLES_SEPARATE_WML_VERSIONS */
614
615
616 /******************************************************
617 * WML 1.3 (WAP 1.2.1: "WAP-191-WML-20000219-a.pdf")
618 */
619
620 const WBXMLTagEntry sv_wml13_tag_table[] = {
621 { "a", 0x00, 0x1c },
622 { "anchor", 0x00, 0x22 }, /* WML 1.1 */
623 { "access", 0x00, 0x23 },
624 { "b", 0x00, 0x24 },
625 { "big", 0x00, 0x25 },
626 { "br", 0x00, 0x26 },
627 { "card", 0x00, 0x27 },
628 { "do", 0x00, 0x28 },
629 { "em", 0x00, 0x29 },
630 { "fieldset", 0x00, 0x2a },
631 { "go", 0x00, 0x2b },
632 { "head", 0x00, 0x2c },
633 { "i", 0x00, 0x2d },
634 { "img", 0x00, 0x2e },
635 { "input", 0x00, 0x2f },
636 { "meta", 0x00, 0x30 },
637 { "noop", 0x00, 0x31 },
638 { "p", 0x00, 0x20 }, /* WML 1.1 */
639 { "postfield", 0x00, 0x21 }, /* WML 1.1 */
640 { "pre", 0x00, 0x1b },
641 { "prev", 0x00, 0x32 },
642 { "onevent", 0x00, 0x33 },
643 { "optgroup", 0x00, 0x34 },
644 { "option", 0x00, 0x35 },
645 { "refresh", 0x00, 0x36 },
646 { "select", 0x00, 0x37 },
647 { "setvar", 0x00, 0x3e }, /* WML 1.1 */
648 { "small", 0x00, 0x38 },
649 { "strong", 0x00, 0x39 },
650 { "table", 0x00, 0x1f }, /* WML 1.1 */
651 { "td", 0x00, 0x1d }, /* WML 1.1 */
652 { "template", 0x00, 0x3b },
653 { "timer", 0x00, 0x3c },
654 { "tr", 0x00, 0x1e }, /* WML 1.1 */
655 { "u", 0x00, 0x3d },
656 { "wml", 0x00, 0x3f },
657 { NULL, 0x00, 0x00 }
658 };
659
660
661 const WBXMLAttrEntry sv_wml13_attr_table[] = {
662 { "accept-charset", NULL, 0x00, 0x05 },
663 { "accesskey", NULL, 0x00, 0x5e }, /* WML 1.2 */
664 { "align", NULL, 0x00, 0x52 }, /* WML 1.1 */
665 { "align", "bottom", 0x00, 0x06 },
666 { "align", "center", 0x00, 0x07 },
667 { "align", "left", 0x00, 0x08 },
668 { "align", "middle", 0x00, 0x09 },
669 { "align", "right", 0x00, 0x0a },
670 { "align", "top", 0x00, 0x0b },
671 { "alt", NULL, 0x00, 0x0c },
672 { "cache-control", "no-cache", 0x00, 0x64 }, /* WML 1.3 */
673 { "class", NULL, 0x00, 0x54 }, /* WML 1.1 */
674 { "columns", NULL, 0x00, 0x53 }, /* WML 1.1 */
675 { "content", NULL, 0x00, 0x0d },
676 { "content", "application/vnd.wap.wmlc;charset=", 0x00, 0x5c }, /* WML 1.1 */
677 { "domain", NULL, 0x00, 0x0f },
678 { "emptyok", "false", 0x00, 0x10 },
679 { "emptyok", "true", 0x00, 0x11 },
680 { "enctype", NULL, 0x00, 0x5f }, /* WML 1.2 */
681 { "enctype", "application/x-www-form-urlencoded", 0x00, 0x60 }, /* WML 1.2 */
682 { "enctype", "multipart/form-data", 0x00, 0x61 }, /* WML 1.2 */
683 { "format", NULL, 0x00, 0x12 },
684 { "forua", "false", 0x00, 0x56 }, /* WML 1.1 */
685 { "forua", "true", 0x00, 0x57 }, /* WML 1.1 */
686 { "height", NULL, 0x00, 0x13 },
687 { "href", NULL, 0x00, 0x4a }, /* WML 1.1 */
688 { "href", "http://", 0x00, 0x4b }, /* WML 1.1 */
689 { "href", "https://", 0x00, 0x4c }, /* WML 1.1 */
690 { "hspace", NULL, 0x00, 0x14 },
691 { "http-equiv", NULL, 0x00, 0x5a }, /* WML 1.1 */
692 { "http-equiv", "Content-Type", 0x00, 0x5b }, /* WML 1.1 */
693 { "http-equiv", "Expires", 0x00, 0x5d }, /* WML 1.1 */
694 { "id", NULL, 0x00, 0x55 }, /* WML 1.1 */
695 { "ivalue", NULL, 0x00, 0x15 }, /* WML 1.1 */
696 { "iname", NULL, 0x00, 0x16 }, /* WML 1.1 */
697 { "label", NULL, 0x00, 0x18 },
698 { "localsrc", NULL, 0x00, 0x19 },
699 { "maxlength", NULL, 0x00, 0x1a },
700 { "method", "get", 0x00, 0x1b },
701 { "method", "post", 0x00, 0x1c },
702 { "mode", "nowrap", 0x00, 0x1d },
703 { "mode", "wrap", 0x00, 0x1e },
704 { "multiple", "false", 0x00, 0x1f },
705 { "multiple", "true", 0x00, 0x20 },
706 { "name", NULL, 0x00, 0x21 },
707 { "newcontext", "false", 0x00, 0x22 },
708 { "newcontext", "true", 0x00, 0x23 },
709 { "onenterbackward", NULL, 0x00, 0x25 },
710 { "onenterforward", NULL, 0x00, 0x26 },
711 { "onpick", NULL, 0x00, 0x24 }, /* WML 1.1 */
712 { "ontimer", NULL, 0x00, 0x27 },
713 { "optional", "false", 0x00, 0x28 },
714 { "optional", "true", 0x00, 0x29 },
715 { "path", NULL, 0x00, 0x2a },
716 { "scheme", NULL, 0x00, 0x2e },
717 { "sendreferer", "false", 0x00, 0x2f },
718 { "sendreferer", "true", 0x00, 0x30 },
719 { "size", NULL, 0x00, 0x31 },
720 { "src", NULL, 0x00, 0x32 },
721 { "src", "http://", 0x00, 0x58 }, /* WML 1.1 */
722 { "src", "https://", 0x00, 0x59 }, /* WML 1.1 */
723 { "ordered", "true", 0x00, 0x33 }, /* WML 1.1 */
724 { "ordered", "false", 0x00, 0x34 }, /* WML 1.1 */
725 { "tabindex", NULL, 0x00, 0x35 },
726 { "title", NULL, 0x00, 0x36 },
727 { "type", NULL, 0x00, 0x37 },
728 { "type", "accept", 0x00, 0x38 },
729 { "type", "delete", 0x00, 0x39 },
730 { "type", "help", 0x00, 0x3a },
731 { "type", "password", 0x00, 0x3b },
732 { "type", "onpick", 0x00, 0x3c },
733 { "type", "onenterbackward", 0x00, 0x3d },
734 { "type", "onenterforward", 0x00, 0x3e },
735 { "type", "ontimer", 0x00, 0x3f },
736 { "type", "options", 0x00, 0x45 },
737 { "type", "prev", 0x00, 0x46 },
738 { "type", "reset", 0x00, 0x47 },
739 { "type", "text", 0x00, 0x48 },
740 { "type", "vnd.", 0x00, 0x49 },
741 { "value", NULL, 0x00, 0x4d },
742 { "vspace", NULL, 0x00, 0x4e },
743 { "width", NULL, 0x00, 0x4f },
744 { "xml:lang", NULL, 0x00, 0x50 },
745 { "xml:space", "preserve", 0x00, 0x62 }, /* WML 1.3 */
746 { "xml:space", "default", 0x00, 0x63 }, /* WML 1.3 */
747 { NULL, NULL, 0x00, 0x00 }
748 };
749
750
751 const WBXMLAttrValueEntry sv_wml13_attr_value_table[] = {
752 { ".com/", 0x00, 0x85 },
753 { ".edu/", 0x00, 0x86 },
754 { ".net/", 0x00, 0x87 },
755 { ".org/", 0x00, 0x88 },
756 { "accept", 0x00, 0x89 },
757 { "bottom", 0x00, 0x8a },
758 { "clear", 0x00, 0x8b },
759 { "delete", 0x00, 0x8c },
760 { "help", 0x00, 0x8d },
761 /* Do NOT change the order in this table please ! */
762 { "http://www.", 0x00, 0x8f },
763 { "http://", 0x00, 0x8e },
764 { "https://www.", 0x00, 0x91 },
765 { "https://", 0x00, 0x90 },
766 { "middle", 0x00, 0x93 },
767 { "nowrap", 0x00, 0x94 },
768 { "onenterbackward", 0x00, 0x96 },
769 { "onenterforward", 0x00, 0x97 },
770 { "onpick", 0x00, 0x95 }, /* WML 1.1 */
771 { "ontimer", 0x00, 0x98 },
772 { "options", 0x00, 0x99 },
773 { "password", 0x00, 0x9a },
774 { "reset", 0x00, 0x9b },
775 { "text", 0x00, 0x9d },
776 { "top", 0x00, 0x9e },
777 { "unknown", 0x00, 0x9f },
778 { "wrap", 0x00, 0xa0 },
779 { "www.", 0x00, 0xa1 },
780 { NULL, 0x00, 0x00 }
781 };
782
783 #endif /* WBXML_SUPPORT_WML */
784
785
786
787 #if defined( WBXML_SUPPORT_WTA )
788
789 /********************************************
790 * WTA 1.0 (WAP 1.0: "wta-30-apr-98.pdf")
791 */
792
793 const WBXMLTagEntry sv_wta10_tag_table[] = {
794 { "EVENT", 0x00, 0x05 },
795 { "EVENTTABLE", 0x00, 0x06 },
796 { "TYPE", 0x00, 0x07 },
797 { "URL", 0x00, 0x08 },
798 { "WTAI", 0x00, 0x09 },
799 { NULL, 0x00, 0x00 }
800 };
801
802 const WBXMLAttrEntry sv_wta10_attr_table[] = {
803 { "NAME", NULL, 0x00, 0x05 },
804 { "VALUE", NULL, 0x00, 0x06 },
805 { NULL, NULL, 0x00, 0x00 }
806 };
807
808
809 /***********************************************
810 * WTA WML 1.2 ("WAP-266-WTA-20010908-a.pdf")
811 */
812
813 const WBXMLTagEntry sv_wtawml12_tag_table[] = {
814 /* Code Page 0 (WML 1.2) */
815 { "a", 0x00, 0x1c },
816 { "anchor", 0x00, 0x22 },
817 { "access", 0x00, 0x23 },
818 { "b", 0x00, 0x24 },
819 { "big", 0x00, 0x25 },
820 { "br", 0x00, 0x26 },
821 { "card", 0x00, 0x27 },
822 { "do", 0x00, 0x28 },
823 { "em", 0x00, 0x29 },
824 { "fieldset", 0x00, 0x2a },
825 { "go", 0x00, 0x2b },
826 { "head", 0x00, 0x2c },
827 { "i", 0x00, 0x2d },
828 { "img", 0x00, 0x2e },
829 { "input", 0x00, 0x2f },
830 { "meta", 0x00, 0x30 },
831 { "noop", 0x00, 0x31 },
832 { "p", 0x00, 0x20 },
833 { "postfield", 0x00, 0x21 },
834 { "pre", 0x00, 0x1b },
835 { "prev", 0x00, 0x32 },
836 { "onevent", 0x00, 0x33 },
837 { "optgroup", 0x00, 0x34 },
838 { "option", 0x00, 0x35 },
839 { "refresh", 0x00, 0x36 },
840 { "select", 0x00, 0x37 },
841 { "setvar", 0x00, 0x3e },
842 { "small", 0x00, 0x38 },
843 { "strong", 0x00, 0x39 },
844 { "table", 0x00, 0x1f },
845 { "td", 0x00, 0x1d },
846 { "template", 0x00, 0x3b },
847 { "timer", 0x00, 0x3c },
848 { "tr", 0x00, 0x1e },
849 { "u", 0x00, 0x3d },
850 { "wml", 0x00, 0x3f },
851
852 /* Code Page 1 (WTA) */
853 { "wta-wml", 0x01, 0x3f },
854 { NULL, 0x00, 0x00 }
855 };
856
857 const WBXMLAttrEntry sv_wtawml12_attr_table[] = {
858 /* Code Page 0 (WML 1.2) */
859 { "accept-charset", NULL, 0x00, 0x05 },
860 { "accesskey", NULL, 0x00, 0x5e },
861 { "align", NULL, 0x00, 0x52 },
862 { "align", "bottom", 0x00, 0x06 },
863 { "align", "center", 0x00, 0x07 },
864 { "align", "left", 0x00, 0x08 },
865 { "align", "middle", 0x00, 0x09 },
866 { "align", "right", 0x00, 0x0a },
867 { "align", "top", 0x00, 0x0b },
868 { "alt", NULL, 0x00, 0x0c },
869 { "class", NULL, 0x00, 0x54 },
870 { "columns", NULL, 0x00, 0x53 },
871 { "content", NULL, 0x00, 0x0d },
872 { "content", "application/vnd.wap.wmlc;charset=", 0x00, 0x5c },
873 { "domain", NULL, 0x00, 0x0f },
874 { "emptyok", "false", 0x00, 0x10 },
875 { "emptyok", "true", 0x00, 0x11 },
876 { "enctype", NULL, 0x00, 0x5f },
877 { "enctype", "application/x-www-form-urlencoded", 0x00, 0x60 },
878 { "enctype", "multipart/form-data", 0x00, 0x61 },
879 { "format", NULL, 0x00, 0x12 },
880 { "forua", "false", 0x00, 0x56 },
881 { "forua", "true", 0x00, 0x57 },
882 { "height", NULL, 0x00, 0x13 },
883 { "href", NULL, 0x00, 0x4a },
884 { "href", "http://", 0x00, 0x4b },
885 { "href", "https://", 0x00, 0x4c },
886 { "hspace", NULL, 0x00, 0x14 },
887 { "http-equiv", NULL, 0x00, 0x5a },
888 { "http-equiv", "Content-Type", 0x00, 0x5b },
889 { "http-equiv", "Expires", 0x00, 0x5d },
890 { "id", NULL, 0x00, 0x55 },
891 { "ivalue", NULL, 0x00, 0x15 },
892 { "iname", NULL, 0x00, 0x16 },
893 { "label", NULL, 0x00, 0x18 },
894 { "localsrc", NULL, 0x00, 0x19 },
895 { "maxlength", NULL, 0x00, 0x1a },
896 { "method", "get", 0x00, 0x1b },
897 { "method", "post", 0x00, 0x1c },
898 { "mode", "nowrap", 0x00, 0x1d },
899 { "mode", "wrap", 0x00, 0x1e },
900 { "multiple", "false", 0x00, 0x1f },
901 { "multiple", "true", 0x00, 0x20 },
902 { "name", NULL, 0x00, 0x21 },
903 { "newcontext", "false", 0x00, 0x22 },
904 { "newcontext", "true", 0x00, 0x23 },
905 { "onenterbackward", NULL, 0x00, 0x25 },
906 { "onenterforward", NULL, 0x00, 0x26 },
907 { "onpick", NULL, 0x00, 0x24 },
908 { "ontimer", NULL, 0x00, 0x27 },
909 { "optional", "false", 0x00, 0x28 },
910 { "optional", "true", 0x00, 0x29 },
911 { "path", NULL, 0x00, 0x2a },
912 { "scheme", NULL, 0x00, 0x2e },
913 { "sendreferer", "false", 0x00, 0x2f },
914 { "sendreferer", "true", 0x00, 0x30 },
915 { "size", NULL, 0x00, 0x31 },
916 { "src", NULL, 0x00, 0x32 },
917 { "src", "http://", 0x00, 0x58 },
918 { "src", "https://", 0x00, 0x59 },
919 { "ordered", "true", 0x00, 0x33 },
920 { "ordered", "false", 0x00, 0x34 },
921 { "tabindex", NULL, 0x00, 0x35 },
922 { "title", NULL, 0x00, 0x36 },
923 { "type", NULL, 0x00, 0x37 },
924 { "type", "accept", 0x00, 0x38 },
925 { "type", "delete", 0x00, 0x39 },
926 { "type", "help", 0x00, 0x3a },
927 { "type", "password", 0x00, 0x3b },
928 { "type", "onpick", 0x00, 0x3c },
929 { "type", "onenterbackward", 0x00, 0x3d },
930 { "type", "onenterforward", 0x00, 0x3e },
931 { "type", "ontimer", 0x00, 0x3f },
932 { "type", "options", 0x00, 0x45 },
933 { "type", "prev", 0x00, 0x46 },
934 { "type", "reset", 0x00, 0x47 },
935 { "type", "text", 0x00, 0x48 },
936 { "type", "vnd.", 0x00, 0x49 },
937 { "value", NULL, 0x00, 0x4d },
938 { "vspace", NULL, 0x00, 0x4e },
939 { "width", NULL, 0x00, 0x4f },
940 { "xml:lang", NULL, 0x00, 0x50 },
941
942 /* Code Page 1 (WTA) */
943 /* Do NOT change the order in this table please ! */
944 { "href", "wtai://wp/mc;", 0x01, 0x06 },
945 { "href", "wtai://wp/sd;", 0x01, 0x07 },
946 { "href", "wtai://wp/ap;", 0x01, 0x08 },
947 { "href", "wtai://ms/ec;", 0x01, 0x09 },
948 { "href", "wtai://", 0x01, 0x05 },
949 { "type", "wtaev-cc/ic", 0x01, 0x12 },
950 { "type", "wtaev-cc/cl", 0x01, 0x13 },
951 { "type", "wtaev-cc/co", 0x01, 0x14 },
952 { "type", "wtaev-cc/oc", 0x01, 0x15 },
953 { "type", "wtaev-cc/cc", 0x01, 0x16 },
954 { "type", "wtaev-cc/dtmf", 0x01, 0x17 },
955 { "type", "wtaev-nt/it", 0x01, 0x21 },
956 { "type", "wtaev-nt/st", 0x01, 0x22 },
957 { "type", "wtaev-nt/", 0x01, 0x20 },
958 { "type", "wtaev-pb/", 0x01, 0x30 },
959 { "type", "wtaev-lg/", 0x01, 0x38 },
960 { "type", "wtaev-ms/ns", 0x01, 0x51 },
961 { "type", "wtaev-ms/", 0x01, 0x50 },
962 { "type", "wtaev-gsm/ru", 0x01, 0x59 },
963 { "type", "wtaev-gsm/ch", 0x01, 0x5a },
964 { "type", "wtaev-gsm/ca", 0x01, 0x5b },
965 { "type", "wtaev-gsm/", 0x01, 0x58 },
966 { "type", "wtaev-pdc", 0x01, 0x60 },
967 { "type", "wtaev-ansi136/ia", 0x01, 0x69 },
968 { "type", "wtaev-ansi136/if", 0x01, 0x6a },
969 { "type", "wtaev-ansi136", 0x01, 0x68 },
970 { "type", "wtaev-cdma/", 0x01, 0x70 },
971 { "type", "wtaev-cc", 0x01, 0x11 },
972 { "type", "wtaev-", 0x01, 0x10 },
973 { NULL, NULL, 0x00, 0x00 }
974 };
975
976 const WBXMLAttrValueEntry sv_wtawml12_attr_value_table[] = {
977 /* Code Page 0 (WML 1.2) */
978 { ".com/", 0x00, 0x85 },
979 { ".edu/", 0x00, 0x86 },
980 { ".net/", 0x00, 0x87 },
981 { ".org/", 0x00, 0x88 },
982 { "accept", 0x00, 0x89 },
983 { "bottom", 0x00, 0x8a },
984 { "clear", 0x00, 0x8b },
985 { "delete", 0x00, 0x8c },
986 { "help", 0x00, 0x8d },
987 /* Do NOT change the order in this table please ! */
988 { "http://www.", 0x00, 0x8f },
989 { "http://", 0x00, 0x8e },
990 { "https://www.", 0x00, 0x91 },
991 { "https://", 0x00, 0x90 },
992 { "middle", 0x00, 0x93 },
993 { "nowrap", 0x00, 0x94 },
994 { "onenterbackward", 0x00, 0x96 },
995 { "onenterforward", 0x00, 0x97 },
996 { "onpick", 0x00, 0x95 },
997 { "ontimer", 0x00, 0x98 },
998 { "options", 0x00, 0x99 },
999 { "password", 0x00, 0x9a },
1000 { "reset", 0x00, 0x9b },
1001 { "text", 0x00, 0x9d },
1002 { "top", 0x00, 0x9e },
1003 { "unknown", 0x00, 0x9f },
1004 { "wrap", 0x00, 0xa0 },
1005 { "www.", 0x00, 0xa1 },
1006 { NULL, 0x00, 0x00 }
1007 };
1008
1009
1010 /***************************************************
1011 * CHANNEL 1.1 (WAP 1.1: "SPEC-WTA-19990716.pdf")
1012 */
1013
1014 const WBXMLTagEntry sv_channel11_tag_table[] = {
1015 { "channel", 0x00, 0x05 },
1016 { "title", 0x00, 0x06 },
1017 { "abstract", 0x00, 0x07 },
1018 { "resource", 0x00, 0x08 },
1019 { NULL, 0x00, 0x00 }
1020 };
1021
1022 const WBXMLAttrEntry sv_channel11_attr_table[] = {
1023 { "maxspace", NULL, 0x00, 0x05 },
1024 { "base", NULL, 0x00, 0x06 },
1025 { "href", NULL, 0x00, 0x07 },
1026 { "href", "http://", 0x00, 0x08 },
1027 { "href", "https://", 0x00, 0x09 },
1028 { "lastmod", NULL, 0x00, 0x0a },
1029 { "etag", NULL, 0x00, 0x0b },
1030 { "md5", NULL, 0x00, 0x0c },
1031 { "success", NULL, 0x00, 0x0d },
1032 { "success", "http://", 0x00, 0x0e },
1033 { "success", "https://", 0x00, 0x0f },
1034 { "failure", NULL, 0x00, 0x10 },
1035 { "failure", "http://", 0x00, 0x11 },
1036 { "failure", "https://", 0x00, 0x12 },
1037 { "EventId", NULL, 0x00, 0x13 },
1038 { NULL, NULL, 0x00, 0x00 }
1039 };
1040
1041
1042 /***********************************************
1043 * CHANNEL 1.2 ("WAP-266-WTA-20010908-a.pdf")
1044 */
1045
1046 const WBXMLTagEntry sv_channel12_tag_table[] = {
1047 { "channel", 0x00, 0x05 },
1048 { "title", 0x00, 0x06 },
1049 { "abstract", 0x00, 0x07 },
1050 { "resource", 0x00, 0x08 },
1051 { NULL, 0x00, 0x00 }
1052 };
1053
1054
1055 const WBXMLAttrEntry sv_channel12_attr_table[] = {
1056 { "maxspace", NULL, 0x00, 0x05 },
1057 { "base", NULL, 0x00, 0x06 },
1058 { "href", NULL, 0x00, 0x07 },
1059 { "href", "http://", 0x00, 0x08 },
1060 { "href", "https://", 0x00, 0x09 },
1061 { "lastmod", NULL, 0x00, 0x0a },
1062 { "etag", NULL, 0x00, 0x0b },
1063 { "md5", NULL, 0x00, 0x0c },
1064 { "success", NULL, 0x00, 0x0d },
1065 { "success", "http://", 0x00, 0x0e },
1066 { "success", "https://", 0x00, 0x0f },
1067 { "failure", NULL, 0x00, 0x10 },
1068 { "failure", "http://", 0x00, 0x11 },
1069 { "failure", "https://", 0x00, 0x12 },
1070 { "eventid", NULL, 0x00, 0x13 },
1071 { "eventid", "wtaev-", 0x00, 0x14 },
1072 { "channelid", NULL, 0x00, 0x15 },
1073 { "useraccessible", NULL, 0x00, 0x16 },
1074 { NULL, NULL, 0x00, 0x00 }
1075 };
1076
1077 #endif /* WBXML_SUPPORT_WTA */
1078
1079
1080 #if defined( WBXML_SUPPORT_SI )
1081
1082 /*************************************************
1083 * SI 1.0 ("WAP-167-ServiceInd-20010731-a.pdf")
1084 */
1085
1086 const WBXMLTagEntry sv_si10_tag_table[] = {
1087 { "si", 0x00, 0x05 },
1088 { "indication", 0x00, 0x06 },
1089 { "info", 0x00, 0x07 },
1090 { "item", 0x00, 0x08 },
1091 { NULL, 0x00, 0x00 }
1092 };
1093
1094
1095 const WBXMLAttrEntry sv_si10_attr_table[] = {
1096 { "action", "signal-none", 0x00, 0x05 },
1097 { "action", "signal-low", 0x00, 0x06 },
1098 { "action", "signal-medium", 0x00, 0x07 },
1099 { "action", "signal-high", 0x00, 0x08 },
1100 { "action", "delete", 0x00, 0x09 },
1101 { "created", NULL, 0x00, 0x0a },
1102 { "href", NULL, 0x00, 0x0b },
1103 /* Do NOT change the order in this table please ! */
1104 { "href", "http://www.", 0x00, 0x0d },
1105 { "href", "http://", 0x00, 0x0c },
1106 { "href", "https://www.", 0x00, 0x0f },
1107 { "href", "https://", 0x00, 0x0e },
1108 { "si-expires", NULL, 0x00, 0x10 },
1109 { "si-id", NULL, 0x00, 0x11 },
1110 { "class", NULL, 0x00, 0x12 },
1111 { NULL, NULL, 0x00, 0x00 }
1112 };
1113
1114
1115 const WBXMLAttrValueEntry sv_si10_attr_value_table[] = {
1116 { ".com/", 0x00, 0x85 },
1117 { ".edu/", 0x00, 0x86 },
1118 { ".net/", 0x00, 0x87 },
1119 { ".org/", 0x00, 0x88 },
1120 { NULL, 0x00, 0x00 }
1121 };
1122
1123 #endif /* WBXML_SUPPORT_SI */
1124
1125
1126 #if defined( WBXML_SUPPORT_SL )
1127
1128 /**************************************************
1129 * SL 1.0 ("WAP-168-ServiceLoad-20010731-a.pdf")
1130 */
1131
1132 const WBXMLTagEntry sv_sl10_tag_table[] = {
1133 { "sl", 0x00, 0x05 },
1134 { NULL, 0x00, 0x00 }
1135 };
1136
1137
1138 const WBXMLAttrEntry sv_sl10_attr_table[] = {
1139 { "action", "execute-low", 0x00, 0x05 },
1140 { "action", "execute-high", 0x00, 0x06 },
1141 { "action", "cache", 0x00, 0x07 },
1142 { "href", NULL, 0x00, 0x08 },
1143 /* Do NOT change the order in this table please ! */
1144 { "href", "http://www.", 0x00, 0x0a },
1145 { "href", "http://", 0x00, 0x09 },
1146 { "href", "https://www.", 0x00, 0x0c },
1147 { "href", "https://", 0x00, 0x0b },
1148 { NULL, NULL, 0x00, 0x00 }
1149 };
1150
1151
1152 const WBXMLAttrValueEntry sv_sl10_attr_value_table[] = {
1153 { ".com/", 0x00, 0x85 },
1154 { ".edu/", 0x00, 0x86 },
1155 { ".net/", 0x00, 0x87 },
1156 { ".org/", 0x00, 0x88 },
1157 { NULL, 0x00, 0x00 }
1158 };
1159
1160 #endif /* WBXML_SUPPORT_SL */
1161
1162
1163 #if defined( WBXML_SUPPORT_CO )
1164
1165 /***********************************************
1166 * CO 1.0 ("WAP-175-CacheOp-20010731-a.pdf")
1167 */
1168
1169 const WBXMLTagEntry sv_co10_tag_table[] = {
1170 { "co", 0x00, 0x05 },
1171 { "invalidate-object", 0x00, 0x06 },
1172 { "invalidate-service", 0x00, 0x07 },
1173 { NULL, 0x00, 0x00 }
1174 };
1175
1176
1177 const WBXMLAttrEntry sv_co10_attr_table[] = {
1178 { "uri", NULL, 0x00, 0x05 },
1179 /* Do NOT change the order in this table please ! */
1180 { "uri", "http://www.", 0x00, 0x07 },
1181 { "uri", "http://", 0x00, 0x06 },
1182 { "uri", "https://www.", 0x00, 0x09 },
1183 { "uri", "https://", 0x00, 0x08 },
1184 { NULL, NULL, 0x00, 0x00 }
1185 };
1186
1187
1188 const WBXMLAttrValueEntry sv_co10_attr_value_table[] = {
1189 { ".com/", 0x00, 0x85 },
1190 { ".edu/", 0x00, 0x86 },
1191 { ".net/", 0x00, 0x87 },
1192 { ".org/", 0x00, 0x88 },
1193 { NULL, 0x00, 0x00 }
1194 };
1195
1196 #endif /* WBXML_SUPPORT_CO */
1197
1198
1199 #if defined( WBXML_SUPPORT_PROV )
1200
1201 /** Use OMA PROV 1.1 Tables (only 'sv_prov10_attr_value_table' changed) */
1202 #define WBXML_SUPPORT_PROV_11
1203
1204 /**********************************************************
1205 * PROV 1.0
1206 * WAP 2.0: "WAP-183-PROVCONT-20010724-a.pdf"
1207 * OMA: "OMA-WAP-ProvCont-v1_1-20021112-C.PDF"
1208 *
1209 * PROV 1.1
1210 * OMA: OMA-WAP-ProvCont-v1_1-20050428-Cchangebars.doc
1211 * There is no new Public ID defined for this new version,
1212 * so how should we handle this ??
1213 */
1214
1215 const WBXMLTagEntry sv_prov10_tag_table[] = {
1216 { "wap-provisioningdoc", 0x00, 0x05 },
1217 { "characteristic", 0x00, 0x06 },
1218 { "parm", 0x00, 0x07 },
1219
1220 { "characteristic", 0x01, 0x06 }, /* OMA */
1221 { "parm", 0x01, 0x07 }, /* OMA */
1222 { NULL, 0x00, 0x00 }
1223 };
1224
1225
1226 const WBXMLAttrEntry sv_prov10_attr_table[] = {
1227 /* Wap-provisioningdoc */
1228 { "version", NULL, 0x00, 0x45 },
1229 { "version", "1.0", 0x00, 0x46 },
1230
1231 /* Characteristic */
1232 { "type", NULL, 0x00, 0x50 },
1233 { "type", "PXLOGICAL", 0x00, 0x51 },
1234 { "type", "PXPHYSICAL", 0x00, 0x52 },
1235 { "type", "PORT", 0x00, 0x53 },
1236 { "type", "VALIDITY", 0x00, 0x54 },
1237 { "type", "NAPDEF", 0x00, 0x55 },
1238 { "type", "BOOTSTRAP", 0x00, 0x56 },
1239 { "type", "VENDORCONFIG", 0x00, 0x57 },
1240 { "type", "CLIENTIDENTITY", 0x00, 0x58 },
1241 { "type", "PXAUTHINFO", 0x00, 0x59 },
1242 { "type", "NAPAUTHINFO", 0x00, 0x5a },
1243 { "type", "ACCESS", 0x00, 0x5b }, /* OMA */
1244
1245 { "type", NULL, 0x01, 0x50 }, /* OMA */
1246 { "type", "PORT", 0x01, 0x53 }, /* OMA */
1247 { "type", "CLIENTIDENTITY", 0x01, 0x58 }, /* OMA */
1248 { "type", "APPLICATION", 0x01, 0x55 }, /* OMA */
1249 { "type", "APPADDR", 0x01, 0x56 }, /* OMA */
1250 { "type", "APPAUTH", 0x01, 0x57 }, /* OMA */
1251 { "type", "RESOURCE", 0x01, 0x59 }, /* OMA */
1252
1253 /* Parm */
1254 { "name", NULL, 0x00, 0x05 },
1255 { "value", NULL, 0x00, 0x06 },
1256 { "name", "NAME", 0x00, 0x07 },
1257 { "name", "NAP-ADDRESS", 0x00, 0x08 },
1258 { "name", "NAP-ADDRTYPE", 0x00, 0x09 },
1259 { "name", "CALLTYPE", 0x00, 0x0a },
1260 { "name", "VALIDUNTIL", 0x00, 0x0b },
1261 { "name", "AUTHTYPE", 0x00, 0x0c },
1262 { "name", "AUTHNAME", 0x00, 0x0d },
1263 { "name", "AUTHSECRET", 0x00, 0x0e },
1264 { "name", "LINGER", 0x00, 0x0f },
1265 { "name", "BEARER", 0x00, 0x10 },
1266 { "name", "NAPID", 0x00, 0x11 },
1267 { "name", "COUNTRY", 0x00, 0x12 },
1268 { "name", "NETWORK", 0x00, 0x13 },
1269 { "name", "INTERNET", 0x00, 0x14 },
1270 { "name", "PROXY-ID", 0x00, 0x15 },
1271 { "name", "PROXY-PROVIDER-ID", 0x00, 0x16 },
1272 { "name", "DOMAIN", 0x00, 0x17 },
1273 { "name", "PROVURL", 0x00, 0x18 },
1274 { "name", "PXAUTH-TYPE", 0x00, 0x19 },
1275 { "name", "PXAUTH-ID", 0x00, 0x1a },
1276 { "name", "PXAUTH-PW", 0x00, 0x1b },
1277 { "name", "STARTPAGE", 0x00, 0x1c },
1278 { "name", "BASAUTH-ID", 0x00, 0x1d },
1279 { "name", "BASAUTH-PW", 0x00, 0x1e },
1280 { "name", "PUSHENABLED", 0x00, 0x1f },
1281 { "name", "PXADDR", 0x00, 0x20 },
1282 { "name", "PXADDRTYPE", 0x00, 0x21 },
1283 { "name", "TO-NAPID", 0x00, 0x22 },
1284 { "name", "PORTNBR", 0x00, 0x23 },
1285 { "name", "SERVICE", 0x00, 0x24 },
1286 { "name", "LINKSPEED", 0x00, 0x25 },
1287 { "name", "DNLINKSPEED", 0x00, 0x26 },
1288 { "name", "LOCAL-ADDR", 0x00, 0x27 },
1289 { "name", "LOCAL-ADDRTYPE", 0x00, 0x28 },
1290 { "name", "CONTEXT-ALLOW", 0x00, 0x29 },
1291 { "name", "TRUST", 0x00, 0x2a },
1292 { "name", "MASTER", 0x00, 0x2b },
1293 { "name", "SID", 0x00, 0x2c },
1294 { "name", "SOC", 0x00, 0x2d },
1295 { "name", "WSP-VERSION", 0x00, 0x2e },
1296 { "name", "PHYSICAL-PROXY-ID", 0x00, 0x2f },
1297 { "name", "CLIENT-ID", 0x00, 0x30 },
1298 { "name", "DELIVERY-ERR-SDU", 0x00, 0x31 },
1299 { "name", "DELIVERY-ORDER", 0x00, 0x32 },
1300 { "name", "TRAFFIC-CLASS", 0x00, 0x33 },
1301 { "name", "MAX-SDU-SIZE", 0x00, 0x34 },
1302 { "name", "MAX-BITRATE-UPLINK", 0x00, 0x35 },
1303 { "name", "MAX-BITRATE-DNLINK", 0x00, 0x36 },
1304 { "name", "RESIDUAL-BER", 0x00, 0x37 },
1305 { "name", "SDU-ERROR-RATIO", 0x00, 0x38 },
1306 { "name", "TRAFFIC-HANDL-PRIO", 0x00, 0x39 },
1307 { "name", "TRANSFER-DELAY", 0x00, 0x3a },
1308 { "name", "GUARANTEED-BITRATE-UPLINK", 0x00, 0x3b },
1309 { "name", "GUARANTEED-BITRATE-DNLINK", 0x00, 0x3c },
1310 { "name", "PXADDR-FQDN", 0x00, 0x3d }, /* OMA */
1311 { "name", "PROXY-PW", 0x00, 0x3e }, /* OMA */
1312 { "name", "PPGAUTH-TYPE", 0x00, 0x3f }, /* OMA */
1313 { "name", "PULLENABLED", 0x00, 0x47 }, /* OMA */
1314 { "name", "DNS-ADDR", 0x00, 0x48 }, /* OMA */
1315 { "name", "MAX-NUM-RETRY", 0x00, 0x49 }, /* OMA */
1316 { "name", "FIRST-RETRY-TIMEOUT", 0x00, 0x4a }, /* OMA */
1317 { "name", "REREG-THRESHOLD", 0x00, 0x4b }, /* OMA */
1318 { "name", "T-BIT", 0x00, 0x4c }, /* OMA */
1319 { "name", "AUTH-ENTITY", 0x00, 0x4e }, /* OMA */
1320 { "name", "SPI", 0x00, 0x4f }, /* OMA */
1321
1322 { "name", NULL, 0x01, 0x05 }, /* OMA */
1323 { "value", NULL, 0x01, 0x06 }, /* OMA */
1324 { "name", "NAME", 0x01, 0x07 }, /* OMA */
1325 { "name", "INTERNET", 0x01, 0x14 }, /* OMA */
1326 { "name", "STARTPAGE", 0x01, 0x1c }, /* OMA */
1327 { "name", "TO-NAPID", 0x01, 0x22 }, /* OMA */
1328 { "name", "PORTNBR", 0x01, 0x23 }, /* OMA */
1329 { "name", "SERVICE", 0x01, 0x24 }, /* OMA */
1330 { "name", "AACCEPT", 0x01, 0x2e }, /* OMA */
1331 { "name", "AAUTHDATA", 0x01, 0x2f }, /* OMA */
1332 { "name", "AAUTHLEVEL", 0x01, 0x30 }, /* OMA */
1333 { "name", "AAUTHNAME", 0x01, 0x31 }, /* OMA */
1334 { "name", "AAUTHSECRET", 0x01, 0x32 }, /* OMA */
1335 { "name", "AAUTHTYPE", 0x01, 0x33 }, /* OMA */
1336 { "name", "ADDR", 0x01, 0x34 }, /* OMA */
1337 { "name", "ADDRTYPE", 0x01, 0x35 }, /* OMA */
1338 { "name", "APPID", 0x01, 0x36 }, /* OMA */
1339 { "name", "APROTOCOL", 0x01, 0x37 }, /* OMA */
1340 { "name", "PROVIDER-ID", 0x01, 0x38 }, /* OMA */
1341 { "name", "TO-PROXY", 0x01, 0x39 }, /* OMA */
1342 { "name", "URI", 0x01, 0x3a }, /* OMA */
1343 { "name", "RULE", 0x01, 0x3b }, /* OMA */
1344
1345 { NULL, NULL, 0x00, 0x00 }
1346 };
1347
1348
1349 const WBXMLAttrValueEntry sv_prov10_attr_value_table[] = {
1350 /* ADDRTYPE */
1351 { "IPV4", 0x00, 0x85 },
1352 { "IPV6", 0x00, 0x86 },
1353 { "E164", 0x00, 0x87 },
1354 { "ALPHA", 0x00, 0x88 },
1355 { "APN", 0x00, 0x89 },
1356 { "SCODE", 0x00, 0x8a },
1357 { "TETRA-ITSI", 0x00, 0x8b },
1358 { "MAN", 0x00, 0x8c },
1359
1360 { "IPV6", 0x01, 0x86 }, /* OMA */
1361 { "E164", 0x01, 0x87 }, /* OMA */
1362 { "ALPHA", 0x01, 0x88 }, /* OMA */
1363 { "APPSRV", 0x01, 0x8d }, /* OMA */
1364 { "OBEX", 0x01, 0x8e }, /* OMA */
1365
1366 /* CALLTYPE */
1367 { "ANALOG-MODEM", 0x00, 0x90 },
1368 { "V.120", 0x00, 0x91 },
1369 { "V.110", 0x00, 0x92 },
1370 { "X.31", 0x00, 0x93 },
1371 { "BIT-TRANSPARENT", 0x00, 0x94 },
1372 { "DIRECT-ASYNCHRONOUS-DATA-SERVICE", 0x00, 0x95 },
1373
1374 /* AUTHTYPE/PXAUTH-TYPE */
1375 { "PAP", 0x00, 0x9a },
1376 { "CHAP", 0x00, 0x9b },
1377 { "HTTP-BASIC", 0x00, 0x9c },
1378 { "HTTP-DIGEST", 0x00, 0x9d },
1379 { "WTLS-SS", 0x00, 0x9e },
1380 { "MD5", 0x00, 0x9f }, /* OMA */
1381
1382 /* BEARER */
1383 { "GSM-USSD", 0x00, 0xa2 },
1384 { "GSM-SMS", 0x00, 0xa3 },
1385 { "ANSI-136-GUTS", 0x00, 0xa4 },
1386 { "IS-95-CDMA-SMS", 0x00, 0xa5 },
1387 { "IS-95-CDMA-CSD", 0x00, 0xa6 },
1388 { "IS-95-CDMA-PACKET", 0x00, 0xa7 },
1389 { "ANSI-136-CSD", 0x00, 0xa8 },
1390 { "ANSI-136-GPRS", 0x00, 0xa9 },
1391 { "GSM-CSD", 0x00, 0xaa },
1392 { "GSM-GPRS", 0x00, 0xab },
1393 { "AMPS-CDPD", 0x00, 0xac },
1394 { "PDC-CSD", 0x00, 0xad },
1395 { "PDC-PACKET", 0x00, 0xae },
1396 { "IDEN-SMS", 0x00, 0xaf },
1397 { "IDEN-CSD", 0x00, 0xb0 },
1398 { "IDEN-PACKET", 0x00, 0xb1 },
1399 { "FLEX/REFLEX", 0x00, 0xb2 },
1400 { "PHS-SMS", 0x00, 0xb3 },
1401 { "PHS-CSD", 0x00, 0xb4 },
1402 { "TRETRA-SDS", 0x00, 0xb5 },
1403 { "TRETRA-PACKET", 0x00, 0xb6 },
1404 { "ANSI-136-GHOST", 0x00, 0xb7 },
1405 { "MOBITEX-MPAK", 0x00, 0xb8 },
1406 { "CDMA2000-1X-SIMPLE-IP", 0x00, 0xb9 }, /* OMA */
1407 { "CDMA2000-1X-MOBILE-IP", 0x00, 0xba }, /* OMA */
1408
1409 /* LINKSPEED */
1410 { "AUTOBAUDING", 0x00, 0xc5 },
1411
1412 /* SERVICE */
1413 { "CL-WSP", 0x00, 0xca },
1414 { "CO-WSP", 0x00, 0xcb },
1415 { "CL-SEC-WSP", 0x00, 0xcc },
1416 { "CO-SEC-WSP", 0x00, 0xcd },
1417 { "CL-SEC-WTA", 0x00, 0xce },
1418 { "CO-SEC-WTA", 0x00, 0xcf },
1419 { "OTA-HTTP-TO", 0x00, 0xd0 }, /* OMA */
1420 { "OTA-HTTP-TLS-TO", 0x00, 0xd1 }, /* OMA */
1421 { "OTA-HTTP-PO", 0x00, 0xd2 }, /* OMA */
1422 { "OTA-HTTP-TLS-PO", 0x00, 0xd3 }, /* OMA */
1423
1424 /* AAUTHTYPE */
1425 #if defined( WBXML_SUPPORT_PROV_11 )
1426
1427 { ",", 0x01, 0x90 }, /* OMA */
1428 { "HTTP-", 0x01, 0x91 }, /* OMA */
1429 { "BASIC", 0x01, 0x92 }, /* OMA */
1430 { "DIGEST", 0x01, 0x93 }, /* OMA */
1431
1432 #else
1433
1434 { ",", 0x01, 0x80 }, /* OMA */
1435 { "HTTP-", 0x01, 0x81 }, /* OMA */
1436 { "BASIC", 0x01, 0x82 }, /* OMA */
1437 { "DIGEST", 0x01, 0x83 }, /* OMA */
1438
1439 #endif /* WBXML_SUPPORT_PROV_11 */
1440
1441 /* AUTH-ENTITY */
1442 { "AAA", 0x00, 0xe0 }, /* OMA */
1443 { "HA", 0x00, 0xe1 }, /* OMA */
1444
1445 { NULL, 0x00, 0x00 }
1446 };
1447
1448 #endif /* WBXML_SUPPORT_PROV */
1449
1450
1451 #if defined( WBXML_SUPPORT_EMN )
1452
1453 /*************************************************
1454 * Email Notification 1.0 ("OMA-Push-EMN-v1_0-20020830-C.PDF")
1455 */
1456
1457 const WBXMLTagEntry sv_emn10_tag_table[] = {
1458 { "emn", 0x00, 0x05 },
1459 { NULL, 0x00, 0x00 }
1460 };
1461
1462 const WBXMLAttrEntry sv_emn10_attr_table[] = {
1463 { "timestamp", NULL, 0x00, 0x05 },
1464 { "mailbox", NULL, 0x00, 0x06 },
1465 { "mailbox", "mailat:", 0x00, 0x07 },
1466 { "mailbox", "pop://", 0x00, 0x08 },
1467 { "mailbox", "imap://", 0x00, 0x09 },
1468 /* Do NOT change the order in this table please ! */
1469 { "mailbox", "http://www.", 0x00, 0x0b },
1470 { "mailbox", "http://", 0x00, 0x0a },
1471 { "mailbox", "https://www.", 0x00, 0x0d },
1472 { "mailbox", "https://", 0x00, 0x0c },
1473 { NULL, NULL, 0x00, 0x00 }
1474 };
1475
1476 const WBXMLAttrValueEntry sv_emn10_attr_value_table[] = {
1477 { ".com", 0x00, 0x85 },
1478 { ".edu", 0x00, 0x86 },
1479 { ".net", 0x00, 0x87 },
1480 { ".org", 0x00, 0x88 },
1481 { NULL, 0x00, 0x00 }
1482 };
1483
1484 #endif /* WBXML_SUPPORT_EMN */
1485
1486
1487 #if defined( WBXML_SUPPORT_DRMREL )
1488
1489 /*************************************************
1490 * Rights Expression Language Version 1.0 ("OMA-Download-DRMREL-v1_0-20020913-a.pdf")
1491 */
1492
1493 const WBXMLTagEntry sv_drmrel10_tag_table[] = {
1494 { "o-ex:rights", 0x00, 0x05 },
1495 { "o-ex:context", 0x00, 0x06 },
1496 { "o-dd:version", 0x00, 0x07 },
1497 { "o-dd:uid", 0x00, 0x08 },
1498 { "o-ex:agreement", 0x00, 0x09 },
1499 { "o-ex:asset", 0x00, 0x0A },
1500 { "ds:KeyInfo", 0x00, 0x0B },
1501 { "ds:KeyValue", 0x00, 0x0C },
1502 { "o-ex:permission",0x00, 0x0D },
1503 { "o-dd:play", 0x00, 0x0E },
1504 { "o-dd:display", 0x00, 0x0F },
1505 { "o-dd:execute", 0x00, 0x10 },
1506 { "o-dd:print", 0x00, 0x11 },
1507 { "o-ex:constraint",0x00, 0x12 },
1508 { "o-dd:count", 0x00, 0x13 },
1509 { "o-dd:datetime", 0x00, 0x14 },
1510 { "o-dd:start", 0x00, 0x15 },
1511 { "o-dd:end", 0x00, 0x16 },
1512 { "o-dd:interval", 0x00, 0x17 },
1513 { NULL, 0x00, 0x00 }
1514 };
1515
1516 const WBXMLAttrEntry sv_drmrel10_attr_table[] = {
1517 { "xmlns:o-ex", NULL, 0x00, 0x05 },
1518 { "xmlns:o-dd", NULL, 0x00, 0x06 },
1519 { "xmlns:ds", NULL, 0x00, 0x07 },
1520 { NULL, NULL, 0x00, 0x00 }
1521 };
1522
1523 const WBXMLAttrValueEntry sv_drmrel10_attr_value_table[] = {
1524 { "http://odrl.net/1.1/ODRL-EX", 0x00, 0x85 },
1525 { "http://odrl.net/1.1/ODRL-DD", 0x00, 0x86 },
1526 { "http://www.w3.org/2000/09/xmldsig#/",0x00, 0x87 },
1527 { NULL, 0x00, 0x00 }
1528 };
1529
1530 #endif /* WBXML_SUPPORT_DRMREL */
1531
1532
1533 #if defined( WBXML_SUPPORT_OTA_SETTINGS )
1534
1535 /********************************************************************
1536 * Ericsson / Nokia OTA Settings ("OTA_settings_general_7_0.pdf")
1537 */
1538
1539 const WBXMLTagEntry sv_ota_settings_tag_table[] = {
1540 { "CHARACTERISTIC-LIST", 0x00, 0x05 },
1541 { "CHARACTERISTIC", 0x00, 0x06 },
1542 { "PARM", 0x00, 0x07 },
1543
1544 { NULL, 0x00, 0x00 }
1545 };
1546
1547 const WBXMLAttrEntry sv_ota_settings_attr_table[] = {
1548 /* Characteristic */
1549 { "TYPE", "ADDRESS", 0x00, 0x06 },
1550 { "TYPE", "URL", 0x00, 0x07 },
1551 { "TYPE", "NAME", 0x00, 0x08 },
1552 { "NAME", NULL, 0x00, 0x10 },
1553 { "VALUE", NULL, 0x00, 0x11 },
1554 { "NAME", "BEARER", 0x00, 0x12 },
1555 { "NAME", "PROXY", 0x00, 0x13 },
1556 { "NAME", "PORT", 0x00, 0x14 },
1557 { "NAME", "NAME", 0x00, 0x15 },
1558 { "NAME", "PROXY_TYPE", 0x00, 0x16 },
1559 { "NAME", "URL", 0x00, 0x17 },
1560 { "NAME", "PROXY_AUTHNAME", 0x00, 0x18 },
1561 { "NAME", "PROXY_AUTHSECRET", 0x00, 0x19 },
1562 { "NAME", "SMS_SMSC_ADDRESS", 0x00, 0x1A },
1563 { "NAME", "USSD_SERVICE_CODE", 0x00, 0x1B },
1564 { "NAME", "GPRS_ACCESSPOINTNAME",0x00, 0x1C },
1565 { "NAME", "PPP_LOGINTYPE", 0x00, 0x1D },
1566 { "NAME", "PROXY_LOGINTYPE", 0x00, 0x1E },
1567 { "NAME", "CSD_DIALSTRING", 0x00, 0x21 },
1568 { "NAME", "CSD_CALLTYPE", 0x00, 0x28 },
1569 { "NAME", "CSD_CALLSPEED", 0x00, 0x29 },
1570 { "NAME", "PPP_AUTHTYPE", 0x00, 0x22 },
1571 { "NAME", "PPP_AUTHNAME", 0x00, 0x23 },
1572 { "NAME", "PPP_AUTHSECRET", 0x00, 0x24 },
1573 { "VALUE", "GSM/CSD", 0x00, 0x45 },
1574 { "VALUE", "GSM/SMS", 0x00, 0x46 },
1575 { "VALUE", "GSM/USSD", 0x00, 0x47 },
1576 { "VALUE", "IS-136/CSD", 0x00, 0x48 },
1577 { "VALUE", "GPRS", 0x00, 0x49 },
1578 { "VALUE", "9200", 0x00, 0x60 },
1579 { "VALUE", "9201", 0x00, 0x61 },
1580 { "VALUE", "9202", 0x00, 0x62 },
1581 { "VALUE", "9203", 0x00, 0x63 },
1582 { "VALUE", "AUTOMATIC", 0x00, 0x64 },
1583 { "VALUE", "MANUAL", 0x00, 0x65 },
1584 { "VALUE", "AUTO", 0x00, 0x6A },
1585 { "VALUE", "9600", 0x00, 0x6B },
1586 { "VALUE", "14400", 0x00, 0x6C },
1587 { "VALUE", "19200", 0x00, 0x6D },
1588 { "VALUE", "28800", 0x00, 0x6E },
1589 { "VALUE", "38400", 0x00, 0x6F },
1590 { "VALUE", "PAP", 0x00, 0x70 },
1591 { "VALUE", "CHAP", 0x00, 0x71 },
1592 { "VALUE", "ANALOGUE", 0x00, 0x72 },
1593 { "VALUE", "ISDN", 0x00, 0x73 },
1594 { "VALUE", "43200", 0x00, 0x74 },
1595 { "VALUE", "57600", 0x00, 0x75 },
1596 { "VALUE", "MSISDN_NO", 0x00, 0x76 },
1597 { "VALUE", "IPV4", 0x00, 0x77 },
1598 { "VALUE", "MS_CHAP", 0x00, 0x78 },
1599 { "TYPE", "MMSURL", 0x00, 0x7C },
1600 { "TYPE", "ID", 0x00, 0x7D },
1601 { "NAME", "ISP_NAME", 0x00, 0x7E },
1602 { "TYPE", "BOOKMARK", 0x00, 0x7F },
1603
1604 { NULL, NULL, 0x00, 0x00 }
1605 };
1606
1607 #endif /* WBXML_SUPPORT_OTA_SETTINGS */
1608
1609
1610 #if defined( WBXML_SUPPORT_SYNCML )
1611
1612 const WBXMLNameSpaceEntry sv_syncml_syncml10_ns_table[] = {
1613 { "SYNCML:SYNCML1.0", 0x00 }, /**< Code Page 0: SYNCML1.0 */
1614 { "syncml:metinf", 0x01 }, /**< Code Page 1: metinf */
1615 { NULL, 0x00 }
1616 };
1617
1618
1619 const WBXMLNameSpaceEntry sv_syncml_syncml11_ns_table[] = {
1620 { "SYNCML:SYNCML1.1", 0x00 }, /**< Code Page 0: SYNCML1.1 */
1621 { "syncml:metinf", 0x01 }, /**< Code Page 1: metinf */
1622 { NULL, 0x00 }
1623 };
1624
1625
1626 const WBXMLNameSpaceEntry sv_syncml_syncml12_ns_table[] = {
1627 { "SYNCML:SYNCML1.2", 0x00 }, /**< Code Page 0: SYNCML1.2 */
1628 { "syncml:metinf", 0x01 }, /**< Code Page 1: metinf */
1629 { NULL, 0x00 }
1630 };
1631
1632
1633 /******************************************************
1634 * SyncML 1.1 ("syncml_represent_v11_20020215.pdf")
1635 */
1636
1637 const WBXMLTagEntry sv_syncml_syncml11_tag_table[] = {
1638 /* Code Page 0: SyncML */
1639 { "Add", 0x00, 0x05 },
1640 { "Alert", 0x00, 0x06 },
1641 { "Archive", 0x00, 0x07 },
1642 { "Atomic", 0x00, 0x08 },
1643 { "Chal", 0x00, 0x09 },
1644 { "Cmd", 0x00, 0x0a },
1645 { "CmdID", 0x00, 0x0b },
1646 { "CmdRef", 0x00, 0x0c },
1647 { "Copy", 0x00, 0x0d },
1648 { "Cred", 0x00, 0x0e },
1649 { "Data", 0x00, 0x0f },
1650 { "Delete", 0x00, 0x10 },
1651 { "Exec", 0x00, 0x11 },
1652 { "Final", 0x00, 0x12 },
1653 { "Get", 0x00, 0x13 },
1654 { "Item", 0x00, 0x14 },
1655 { "Lang", 0x00, 0x15 },
1656 { "LocName", 0x00, 0x16 },
1657 { "LocURI", 0x00, 0x17 },
1658 { "Map", 0x00, 0x18 },
1659 { "MapItem", 0x00, 0x19 },
1660 { "Meta", 0x00, 0x1a },
1661 { "MsgID", 0x00, 0x1b },
1662 { "MsgRef", 0x00, 0x1c },
1663 { "NoResp", 0x00, 0x1d },
1664 { "NoResults", 0x00, 0x1e },
1665 { "Put", 0x00, 0x1f },
1666 { "Replace", 0x00, 0x20 },
1667 { "RespURI", 0x00, 0x21 },
1668 { "Results", 0x00, 0x22 },
1669 { "Search", 0x00, 0x23 },
1670 { "Sequence", 0x00, 0x24 },
1671 { "SessionID", 0x00, 0x25 },
1672 { "SftDel", 0x00, 0x26 },
1673 { "Source", 0x00, 0x27 },
1674 { "SourceRef", 0x00, 0x28 },
1675 { "Status", 0x00, 0x29 },
1676 { "Sync", 0x00, 0x2a },
1677 { "SyncBody", 0x00, 0x2b },
1678 { "SyncHdr", 0x00, 0x2c },
1679 { "SyncML", 0x00, 0x2d },
1680 { "Target", 0x00, 0x2e },
1681 { "TargetRef", 0x00, 0x2f },
1682 { "Reserved for future use", 0x00, 0x30 },
1683 { "VerDTD", 0x00, 0x31 },
1684 { "VerProto", 0x00, 0x32 },
1685 { "NumberOfChanges",0x00, 0x33 },
1686 { "MoreData", 0x00, 0x34 },
1687
1688 /* SourceParent is officially only specified for SyncML 1.2.
1689 * Nevertheless Nokia uses this tag during the synchronization
1690 * of SMS. So this is a proprietary extension to avoid that
1691 * there is a tag called "unknown".
1692 */
1693 { "SourceParent", 0x00, 0x39 },
1694
1695 /* Code Page 1: MetInf11 */
1696 { "Anchor", 0x01, 0x05 },
1697 { "EMI", 0x01, 0x06 },
1698 { "Format", 0x01, 0x07 },
1699 { "FreeID", 0x01, 0x08 },
1700 { "FreeMem", 0x01, 0x09 },
1701 { "Last", 0x01, 0x0a },
1702 { "Mark", 0x01, 0x0b },
1703 { "MaxMsgSize", 0x01, 0x0c },
1704 { "Mem", 0x01, 0x0d },
1705 { "MetInf", 0x01, 0x0e },
1706 { "Next", 0x01, 0x0f },
1707 { "NextNonce", 0x01, 0x10 },
1708 { "SharedMem", 0x01, 0x11 },
1709 { "Size", 0x01, 0x12 },
1710 { "Type", 0x01, 0x13 },
1711 { "Version", 0x01, 0x14 },
1712 { "MaxObjSize", 0x01, 0x15 },
1713 { NULL, 0x00, 0x00 }
1714 };
1715
1716
1717 /*********************************************************
1718 * SyncML DevInf 1.1 ("syncml_devinf_v11_20020215.pdf")
1719 */
1720
1721 const WBXMLTagEntry sv_syncml_devinf11_tag_table[] = {
1722 { "CTCap", 0x00, 0x05 },
1723 { "CTType", 0x00, 0x06 },
1724 { "DataStore", 0x00, 0x07 },
1725 { "DataType", 0x00, 0x08 },
1726 { "DevID", 0x00, 0x09 },
1727 { "DevInf", 0x00, 0x0a },
1728 { "DevTyp", 0x00, 0x0b },
1729 { "DisplayName", 0x00, 0x0c },
1730 { "DSMem", 0x00, 0x0d },
1731 { "Ext", 0x00, 0x0e },
1732 { "FwV", 0x00, 0x0f },
1733 { "HwV", 0x00, 0x10 },
1734 { "Man", 0x00, 0x11 },
1735 { "MaxGUIDSize", 0x00, 0x12 },
1736 { "MaxID", 0x00, 0x13 },
1737 { "MaxMem", 0x00, 0x14 },
1738 { "Mod", 0x00, 0x15 },
1739 { "OEM", 0x00, 0x16 },
1740 { "ParamName", 0x00, 0x17 },
1741 { "PropName", 0x00, 0x18 },
1742 { "Rx", 0x00, 0x19 },
1743 { "Rx-Pref", 0x00, 0x1a },
1744 { "SharedMem", 0x00, 0x1b },
1745 { "Size", 0x00, 0x1c },
1746 { "SourceRef", 0x00, 0x1d },
1747 { "SwV", 0x00, 0x1e },
1748 { "SyncCap", 0x00, 0x1f },
1749 { "SyncType", 0x00, 0x20 },
1750 { "Tx", 0x00, 0x21 },
1751 { "Tx-Pref", 0x00, 0x22 },
1752 { "ValEnum", 0x00, 0x23 },
1753 { "VerCT", 0x00, 0x24 },
1754 { "VerDTD", 0x00, 0x25 },
1755 { "XNam", 0x00, 0x26 },
1756 { "XVal", 0x00, 0x27 },
1757 { "UTC", 0x00, 0x28 },
1758 { "SupportNumberOfChanges", 0x00, 0x29 },
1759 { "SupportLargeObjs", 0x00, 0x2a },
1760 { NULL, 0x00, 0x00 }
1761 };
1762
1763
1764 const WBXMLNameSpaceEntry sv_syncml_devinf11_ns_table[] = {
1765 { "syncml:devinf", 0x00 }, /**< Code Page 0: devinf */
1766 { NULL, 0x00 }
1767 };
1768
1769
1770 /*********************************************************
1771 * SyncML MetInf 1.1 ("syncml_metinf_v11_20020215.pdf")
1772 */
1773
1774 const WBXMLTagEntry sv_syncml_metinf11_tag_table[] = {
1775 { "Anchor", 0x01, 0x05 },
1776 { "EMI", 0x01, 0x06 },
1777 { "Format", 0x01, 0x07 },
1778 { "FreeID", 0x01, 0x08 },
1779 { "FreeMem", 0x01, 0x09 },
1780 { "Last", 0x01, 0x0a },
1781 { "Mark", 0x01, 0x0b },
1782 { "MaxMsgSize", 0x01, 0x0c },
1783 { "Mem", 0x01, 0x0d },
1784 { "MetInf", 0x01, 0x0e },
1785 { "Next", 0x01, 0x0f },
1786 { "NextNonce", 0x01, 0x10 },
1787 { "SharedMem", 0x01, 0x11 },
1788 { "Size", 0x01, 0x12 },
1789 { "Type", 0x01, 0x13 },
1790 { "Version", 0x01, 0x14 },
1791 { "MaxObjSize", 0x01, 0x15 },
1792 { NULL, 0x00, 0x00 }
1793 };
1794
1795
1796 /******************************************************
1797 * SyncML 1.2 ("OMA-TS-SyncML_RepPro-V1_2-20050509-C.pdf")
1798 */
1799
1800 const WBXMLTagEntry sv_syncml_syncml12_tag_table[] = {
1801 /* Code Page 0: SyncML */
1802 { "Add", 0x00, 0x05 },
1803 { "Alert", 0x00, 0x06 },
1804 { "Archive", 0x00, 0x07 },
1805 { "Atomic", 0x00, 0x08 },
1806 { "Chal", 0x00, 0x09 },
1807 { "Cmd", 0x00, 0x0a },
1808 { "CmdID", 0x00, 0x0b },
1809 { "CmdRef", 0x00, 0x0c },
1810 { "Copy", 0x00, 0x0d },
1811 { "Cred", 0x00, 0x0e },
1812 { "Data", 0x00, 0x0f },
1813 { "Delete", 0x00, 0x10 },
1814 { "Exec", 0x00, 0x11 },
1815 { "Final", 0x00, 0x12 },
1816 { "Get", 0x00, 0x13 },
1817 { "Item", 0x00, 0x14 },
1818 { "Lang", 0x00, 0x15 },
1819 { "LocName", 0x00, 0x16 },
1820 { "LocURI", 0x00, 0x17 },
1821 { "Map", 0x00, 0x18 },
1822 { "MapItem", 0x00, 0x19 },
1823 { "Meta", 0x00, 0x1a },
1824 { "MsgID", 0x00, 0x1b },
1825 { "MsgRef", 0x00, 0x1c },
1826 { "NoResp", 0x00, 0x1d },
1827 { "NoResults", 0x00, 0x1e },
1828 { "Put", 0x00, 0x1f },
1829 { "Replace", 0x00, 0x20 },
1830 { "RespURI", 0x00, 0x21 },
1831 { "Results", 0x00, 0x22 },
1832 { "Search", 0x00, 0x23 },
1833 { "Sequence", 0x00, 0x24 },
1834 { "SessionID", 0x00, 0x25 },
1835 { "SftDel", 0x00, 0x26 },
1836 { "Source", 0x00, 0x27 },
1837 { "SourceRef", 0x00, 0x28 },
1838 { "Status", 0x00, 0x29 },
1839 { "Sync", 0x00, 0x2a },
1840 { "SyncBody", 0x00, 0x2b },
1841 { "SyncHdr", 0x00, 0x2c },
1842 { "SyncML", 0x00, 0x2d },
1843 { "Target", 0x00, 0x2e },
1844 { "TargetRef", 0x00, 0x2f },
1845 { "Reserved for future use", 0x00, 0x30 },
1846 { "VerDTD", 0x00, 0x31 },
1847 { "VerProto", 0x00, 0x32 },
1848 { "NumberOfChanges",0x00, 0x33 },
1849 { "MoreData", 0x00, 0x34 },
1850 { "Field", 0x00, 0x35 },
1851 { "Filter", 0x00, 0x36 },
1852 { "Record", 0x00, 0x37 },
1853 { "FilterType", 0x00, 0x38 },
1854 { "SourceParent", 0x00, 0x39 },
1855 { "TargetParent", 0x00, 0x3a },
1856 { "Move", 0x00, 0x3b },
1857 { "Correlator", 0x00, 0x3c },
1858
1859 /* Code Page 1: MetInf */
1860 { "Anchor", 0x01, 0x05 },
1861 { "EMI", 0x01, 0x06 },
1862 { "Format", 0x01, 0x07 },
1863 { "FreeID", 0x01, 0x08 },
1864 { "FreeMem", 0x01, 0x09 },
1865 { "Last", 0x01, 0x0a },
1866 { "Mark", 0x01, 0x0b },
1867 { "MaxMsgSize", 0x01, 0x0c },
1868 { "Mem", 0x01, 0x0d },
1869 { "MetInf", 0x01, 0x0e },
1870 { "Next", 0x01, 0x0f },
1871 { "NextNonce", 0x01, 0x10 },
1872 { "SharedMem", 0x01, 0x11 },
1873 { "Size", 0x01, 0x12 },
1874 { "Type", 0x01, 0x13 },
1875 { "Version", 0x01, 0x14 },
1876 { "MaxObjSize", 0x01, 0x15 },
1877 { "FieldLevel", 0x01, 0x16 },
1878 { NULL, 0x00, 0x00 }
1879 };
1880
1881
1882 /*********************************************************
1883 * SyncML DevInf 1.2 ("OMA-TS-DS_DevInf-V1_2-20060710-A.pdf")
1884 */
1885
1886 const WBXMLTagEntry sv_syncml_devinf12_tag_table[] = {
1887 { "CTCap", 0x00, 0x05 },
1888 { "CTType", 0x00, 0x06 },
1889 { "DataStore", 0x00, 0x07 },
1890 { "DataType", 0x00, 0x08 },
1891 { "DevID", 0x00, 0x09 },
1892 { "DevInf", 0x00, 0x0a },
1893 { "DevTyp", 0x00, 0x0b },
1894 { "DisplayName", 0x00, 0x0c },
1895 { "DSMem", 0x00, 0x0d },
1896 { "Ext", 0x00, 0x0e },
1897 { "FwV", 0x00, 0x0f },
1898 { "HwV", 0x00, 0x10 },
1899 { "Man", 0x00, 0x11 },
1900 { "MaxGUIDSize", 0x00, 0x12 },
1901 { "MaxID", 0x00, 0x13 },
1902 { "MaxMem", 0x00, 0x14 },
1903 { "Mod", 0x00, 0x15 },
1904 { "OEM", 0x00, 0x16 },
1905 { "ParamName", 0x00, 0x17 },
1906 { "PropName", 0x00, 0x18 },
1907 { "Rx", 0x00, 0x19 },
1908 { "Rx-Pref", 0x00, 0x1a },
1909 { "SharedMem", 0x00, 0x1b },
1910 { "MaxSize", 0x00, 0x1c },
1911 { "SourceRef", 0x00, 0x1d },
1912 { "SwV", 0x00, 0x1e },
1913 { "SyncCap", 0x00, 0x1f },
1914 { "SyncType", 0x00, 0x20 },
1915 { "Tx", 0x00, 0x21 },
1916 { "Tx-Pref", 0x00, 0x22 },
1917 { "ValEnum", 0x00, 0x23 },
1918 { "VerCT", 0x00, 0x24 },
1919 { "VerDTD", 0x00, 0x25 },
1920 { "XNam", 0x00, 0x26 },
1921 { "XVal", 0x00, 0x27 },
1922 { "UTC", 0x00, 0x28 },
1923 { "SupportNumberOfChanges", 0x00, 0x29 },
1924 { "SupportLargeObjs", 0x00, 0x2a },
1925 { "Property", 0x00, 0x2b },
1926 { "PropParam", 0x00, 0x2c },
1927 { "MaxOccur", 0x00, 0x2d },
1928 { "NoTruncate", 0x00, 0x2e },
1929 { "Filter-Rx", 0x00, 0x30 },
1930 { "FilterCap", 0x00, 0x31 },
1931 { "FilterKeyword", 0x00, 0x32 },
1932 { "FieldLevel", 0x00, 0x33 },
1933 { "SupportHierarchicalSync", 0x00, 0x34 },
1934 { NULL, 0x00, 0x00 }
1935 };
1936
1937
1938 const WBXMLNameSpaceEntry sv_syncml_devinf12_ns_table[] = {
1939 { "syncml:devinf", 0x00 }, /**< Code Page 0: devinf */
1940 { NULL, 0x00 }
1941 };
1942
1943
1944 /*********************************************************
1945 * SyncML MetInf 1.2 ("OMA-TS-SyncML_MetaInfo-V1_2-20050509-C.pdf")
1946 */
1947
1948 const WBXMLTagEntry sv_syncml_metinf12_tag_table[] = {
1949 { "Anchor", 0x01, 0x05 },
1950 { "EMI", 0x01, 0x06 },
1951 { "Format", 0x01, 0x07 },
1952 { "FreeID", 0x01, 0x08 },
1953 { "FreeMem", 0x01, 0x09 },
1954 { "Last", 0x01, 0x0a },
1955 { "Mark", 0x01, 0x0b },
1956 { "MaxMsgSize", 0x01, 0x0c },
1957 { "Mem", 0x01, 0x0d },
1958 { "MetInf", 0x01, 0x0e },
1959 { "Next", 0x01, 0x0f },
1960 { "NextNonce", 0x01, 0x10 },
1961 { "SharedMem", 0x01, 0x11 },
1962 { "Size", 0x01, 0x12 },
1963 { "Type", 0x01, 0x13 },
1964 { "Version", 0x01, 0x14 },
1965 { "MaxObjSize", 0x01, 0x15 },
1966 { "FieldLevel", 0x01, 0x16 },
1967 { NULL, 0x00, 0x00 }
1968 };
1969
1970 /*********************************************************
1971 * SyncML DM DDF 1.2 ("OMA-TS-DM_TND-V1_2_1-20080617-A.pdf")
1972 */
1973
1974 const WBXMLTagEntry sv_syncml_dmddf12_tag_table[] = {
1975 { "AccessType", 0x02, 0x05 },
1976 { "ACL", 0x02, 0x06 },
1977 { "Add", 0x02, 0x07 },
1978 { "b64", 0x02, 0x08 },
1979 { "bin", 0x02, 0x09 },
1980 { "bool", 0x02, 0x0A },
1981 { "chr", 0x02, 0x0B },
1982 { "CaseSense", 0x02, 0x0C },
1983 { "CIS", 0x02, 0x0D },
1984 { "Copy", 0x02, 0x0E },
1985 { "CS", 0x02, 0x0F },
1986 { "date", 0x02, 0x10 },
1987 { "DDFName", 0x02, 0x11 },
1988 { "DefaultValue", 0x02, 0x12 },
1989 { "Delete", 0x02, 0x13 },
1990 { "Description", 0x02, 0x14 },
1991 { "DFFormat", 0x02, 0x15 },
1992 { "DFProperties", 0x02, 0x16 },
1993 { "DFTitle", 0x02, 0x17 },
1994 { "DFType", 0x02, 0x18 },
1995 { "Dynamic", 0x02, 0x19 },
1996 { "Exec", 0x02, 0x1A },
1997 { "float", 0x02, 0x1B },
1998 { "Format", 0x02, 0x1C },
1999 { "Get", 0x02, 0x1D },
2000 { "int", 0x02, 0x1E },
2001 { "Man", 0x02, 0x1F },
2002 { "MgmtTree", 0x02, 0x20 },
2003 { "MIME", 0x02, 0x21 },
2004 { "Mod", 0x02, 0x22 },
2005 { "Name", 0x02, 0x23 },
2006 { "Node", 0x02, 0x24 },
2007 { "node", 0x02, 0x25 },
2008 { "NodeName", 0x02, 0x26 },
2009 { "null", 0x02, 0x27 },
2010 { "Occurrence", 0x02, 0x28 },
2011 { "One", 0x02, 0x29 },
2012 { "OneOrMore", 0x02, 0x2A },
2013 { "OneOrN", 0x02, 0x2B },
2014 { "Path", 0x02, 0x2C },
2015 { "Permanent", 0x02, 0x2D },
2016 { "Replace", 0x02, 0x2E },
2017 { "RTProperties", 0x02, 0x2F },
2018 { "Scope", 0x02, 0x30 },
2019 { "Size", 0x02, 0x31 },
2020 { "time", 0x02, 0x32 },
2021 { "Title", 0x02, 0x33 },
2022 { "TStamp", 0x02, 0x34 },
2023 { "Type", 0x02, 0x35 },
2024 { "Value", 0x02, 0x36 },
2025 { "VerDTD", 0x02, 0x37 },
2026 { "VerNo", 0x02, 0x38 },
2027 { "xml", 0x02, 0x39 },
2028 { "ZeroOrMore", 0x02, 0x3A },
2029 { "ZeroOrN", 0x02, 0x3B },
2030 { "ZeroOrOne", 0x02, 0x3C },
2031 { NULL, 0x00, 0x00 }
2032 };
2033
2034 const WBXMLNameSpaceEntry sv_syncml_dmddf12_ns_table[] = {
2035 { "syncml:dmddf1.2", 0x02 }, /**< Code Page 2: OMA DM DDF */
2036 { NULL, 0x00 }
2037 };
2038
2039 #endif /* WBXML_SUPPORT_SYNCML */
2040
2041
2042 #if defined( WBXML_SUPPORT_WV )
2043
2044 /*****************************************************************************
2045 * Wireless Village CSP 1.1 ("OMA-WV-CSP-V1_1-20021001-A.pdf")
2046 * Wireless Village CSP 1.2 ("OMA-IMPS-WV-CSP_WBXML-V1_2-20040522-C.pdf")
2047 */
2048
2049 const WBXMLTagEntry sv_wv_csp_tag_table[] = {
2050 /* Common ... continue on Page 0x09 */
2051 { "Acceptance", 0x00, 0x05 },
2052 { "AddList", 0x00, 0x06 },
2053 { "AddNickList", 0x00, 0x07 },
2054 { "ClientID", 0x00, 0x0A },
2055 { "Code", 0x00, 0x0B },
2056 { "ContactList", 0x00, 0x0C },
2057 { "ContentData", 0x00, 0x0D },
2058 { "ContentEncoding",0x00, 0x0E },
2059 { "ContentSize", 0x00, 0x0F },
2060 { "ContentType", 0x00, 0x10 },
2061 { "DateTime", 0x00, 0x11 },
2062 { "Description", 0x00, 0x12 },
2063 { "DetailedResult", 0x00, 0x13 },
2064 { "EntityList", 0x00, 0x14 },
2065 { "Group", 0x00, 0x15 },
2066 { "GroupID", 0x00, 0x16 },
2067 { "GroupList", 0x00, 0x17 },
2068 { "InUse", 0x00, 0x18 },
2069 { "Logo", 0x00, 0x19 },
2070 { "MessageCount", 0x00, 0x1A },
2071 { "MessageID", 0x00, 0x1B },
2072 { "MessageURI", 0x00, 0x1C },
2073 { "MSISDN", 0x00, 0x1D },
2074 { "Name", 0x00, 0x1E },
2075 { "NickList", 0x00, 0x1F },
2076 { "NickName", 0x00, 0x20 },
2077 { "Poll", 0x00, 0x21 },
2078 { "Presence", 0x00, 0x22 },
2079 { "PresenceSubList",0x00, 0x23 },
2080 { "PresenceValue", 0x00, 0x24 },
2081 { "Property", 0x00, 0x25 },
2082 { "Qualifier", 0x00, 0x26 },
2083 { "Recipient", 0x00, 0x27 },
2084 { "RemoveList", 0x00, 0x28 },
2085 { "RemoveNickList", 0x00, 0x29 },
2086 { "Result", 0x00, 0x2A },
2087 { "ScreenName", 0x00, 0x2B },
2088 { "Sender", 0x00, 0x2C },
2089 { "Session", 0x00, 0x2D },
2090 { "SessionDescriptor", 0x00, 0x2E },
2091 { "SessionID", 0x00, 0x2F },
2092 { "SessionType", 0x00, 0x30 },
2093 { "SName", 0x00, 0x08 },
2094 { "Status", 0x00, 0x31 },
2095 { "Transaction", 0x00, 0x32 },
2096 { "TransactionContent", 0x00, 0x33 },
2097 { "TransactionDescriptor", 0x00, 0x34 },
2098 { "TransactionID", 0x00, 0x35 },
2099 { "TransactionMode",0x00, 0x36 },
2100 { "URL", 0x00, 0x37 },
2101 { "URLList", 0x00, 0x38 },
2102 { "User", 0x00, 0x39 },
2103 { "UserID", 0x00, 0x3A },
2104 { "UserList", 0x00, 0x3B },
2105 { "Validity", 0x00, 0x3C },
2106 { "Value", 0x00, 0x3D },
2107 { "WV-CSP-Message", 0x00, 0x09 },
2108
2109 /* Access ... continue on Page 0x0A */
2110 { "AgreedCapabilityList", 0x01, 0x3A }, /* WV 1.2 */
2111 { "AllFunctions", 0x01, 0x05 },
2112 { "AllFunctionsRequest", 0x01, 0x06 },
2113 { "CancelInvite-Request", 0x01, 0x07 },
2114 { "CancelInviteUser-Request", 0x01, 0x08 },
2115 { "Capability", 0x01, 0x09 },
2116 { "CapabilityList", 0x01, 0x0A },
2117 { "CapabilityRequest", 0x01, 0x0B },
2118 { "ClientCapability-Request", 0x01, 0x0C },
2119 { "ClientCapability-Response", 0x01, 0x0D },
2120 { "CompletionFlag", 0x01, 0x34 },
2121 { "DigestBytes", 0x01, 0x0E },
2122 { "DigestSchema", 0x01, 0x0F },
2123 { "Disconnect", 0x01, 0x10 },
2124 { "Extended-Request", 0x01, 0x38 }, /* WV 1.2 */
2125 { "Extended-Response", 0x01, 0x39 }, /* WV 1.2 */
2126 { "Extended-Data", 0x01, 0x3B }, /* WV 1.2 */
2127 { "Functions", 0x01, 0x11 },
2128 { "GetSPInfo-Request", 0x01, 0x12 },
2129 { "GetSPInfo-Response", 0x01, 0x13 },
2130 { "InviteID", 0x01, 0x14 },
2131 { "InviteNote", 0x01, 0x15 },
2132 { "Invite-Request", 0x01, 0x16 },
2133 { "Invite-Response", 0x01, 0x17 },
2134 { "InviteType", 0x01, 0x18 },
2135 { "InviteUser-Request", 0x01, 0x19 },
2136 { "InviteUser-Response", 0x01, 0x1A },
2137 { "KeepAlive-Request", 0x01, 0x1B },
2138 { "KeepAlive-Response", 0x01, 0x29 },
2139 { "KeepAliveTime", 0x01, 0x1C },
2140 { "Login-Request", 0x01, 0x1D },
2141 { "Login-Response", 0x01, 0x1E },
2142 { "Logout-Request", 0x01, 0x1F },
2143 { "Nonce", 0x01, 0x20 },
2144 { "OtherServer", 0x01, 0x3C }, /* WV 1.2 */
2145 { "Password", 0x01, 0x21 },
2146 { "Polling-Request", 0x01, 0x22 },
2147 { "PresenceAttributeNSName",0x01, 0x3D }, /* WV 1.2 */
2148 { "ReceiveList", 0x01, 0x36 }, /* WV 1.2 */
2149 { "ResponseNote", 0x01, 0x23 },
2150 { "SearchElement", 0x01, 0x24 },
2151 { "SearchFindings", 0x01, 0x25 },
2152 { "SearchID", 0x01, 0x26 },
2153 { "SearchIndex", 0x01, 0x27 },
2154 { "SearchLimit", 0x01, 0x28 },
2155 { "SearchPairList", 0x01, 0x2A },
2156 { "Search-Request", 0x01, 0x2B },
2157 { "Search-Response", 0x01, 0x2C },
2158 { "SearchResult", 0x01, 0x2D },
2159 { "SearchString", 0x01, 0x33 },
2160 { "Service-Request", 0x01, 0x2E },
2161 { "Service-Response", 0x01, 0x2F },
2162 { "SessionCookie", 0x01, 0x30 },
2163 { "SessionNSName", 0x01, 0x3E }, /* WV 1.2 */
2164 { "StopSearch-Request", 0x01, 0x31 },
2165 { "TimeToLive", 0x01, 0x32 },
2166 { "TransactionNSName", 0x01, 0x3F }, /* WV 1.2 */
2167 { "VerifyID-Request", 0x01, 0x37 }, /* WV 1.2 */
2168
2169 /* Service ... continue on Page 0x08 */
2170 { "ADDGM", 0x02, 0x05 },
2171 { "AttListFunc", 0x02, 0x06 },
2172 { "BLENT", 0x02, 0x07 },
2173 { "CAAUT", 0x02, 0x08 },
2174 { "CAINV", 0x02, 0x09 },
2175 { "CALI", 0x02, 0x0A },
2176 { "CCLI", 0x02, 0x0B },
2177 { "ContListFunc", 0x02, 0x0C },
2178 { "CREAG", 0x02, 0x0D },
2179 { "DALI", 0x02, 0x0E },
2180 { "DCLI", 0x02, 0x0F },
2181 { "DELGR", 0x02, 0x10 },
2182 { "FundamentalFeat",0x02, 0x11 },
2183 { "FWMSG", 0x02, 0x12 },
2184 { "GALS", 0x02, 0x13 },
2185 { "GCLI", 0x02, 0x14 },
2186 { "GETGM", 0x02, 0x15 },
2187 { "GETGP", 0x02, 0x16 },
2188 { "GETLM", 0x02, 0x17 },
2189 { "GETM", 0x02, 0x18 },
2190 { "GETPR", 0x02, 0x19 },
2191 { "GETSPI", 0x02, 0x1A },
2192 { "GETWL", 0x02, 0x1B },
2193 { "GLBLU", 0x02, 0x1C },
2194 { "GRCHN", 0x02, 0x1D },
2195 { "GroupAuthFunc", 0x02, 0x1E },
2196 { "GroupFeat", 0x02, 0x1F },
2197 { "GroupMgmtFunc", 0x02, 0x20 },
2198 { "GroupUseFunc", 0x02, 0x21 },
2199 { "IMAuthFunc", 0x02, 0x22 },
2200 { "IMFeat", 0x02, 0x23 },
2201 { "IMReceiveFunc", 0x02, 0x24 },
2202 { "IMSendFunc", 0x02, 0x25 },
2203 { "INVIT", 0x02, 0x26 },
2204 { "InviteFunc", 0x02, 0x27 },
2205 { "MBRAC", 0x02, 0x28 },
2206 { "MCLS", 0x02, 0x29 },
2207 { "MF", 0x02, 0x3D }, /* WV 1.2 */
2208 { "MG", 0x02, 0x3E }, /* WV 1.2 */
2209 { "MM", 0x02, 0x3F }, /* WV 1.2 */
2210 { "MDELIV", 0x02, 0x2A },
2211 { "NEWM", 0x02, 0x2B },
2212 { "NOTIF", 0x02, 0x2C },
2213 { "PresenceAuthFunc", 0x02, 0x2D },
2214 { "PresenceDeliverFunc",0x02, 0x2E },
2215 { "PresenceFeat", 0x02, 0x2F },
2216 { "REACT", 0x02, 0x30 },
2217 { "REJCM", 0x02, 0x31 },
2218 { "REJEC", 0x02, 0x32 },
2219 { "RMVGM", 0x02, 0x33 },
2220 { "SearchFunc", 0x02, 0x34 },
2221 { "ServiceFunc", 0x02, 0x35 },
2222 { "SETD", 0x02, 0x36 },
2223 { "SETGP", 0x02, 0x37 },
2224 { "SRCH", 0x02, 0x38 },
2225 { "STSRC", 0x02, 0x39 },
2226 { "SUBGCN", 0x02, 0x3A },
2227 { "UPDPR", 0x02, 0x3B },
2228 { "WVCSPFeat", 0x02, 0x3C },
2229
2230 /* Client Capability */
2231 { "AcceptedCharset", 0x03, 0x05 },
2232 { "AcceptedContentLength", 0x03, 0x06 },
2233 { "AcceptedContentType", 0x03, 0x07 },
2234 { "AcceptedTransferEncoding", 0x03, 0x08 },
2235 { "AnyContent", 0x03, 0x09 },
2236 { "DefaultLanguage", 0x03, 0x0A },
2237 { "InitialDeliveryMethod", 0x03, 0x0B },
2238 { "MultiTrans", 0x03, 0x0C },
2239 { "ParserSize", 0x03, 0x0D },
2240 { "ServerPollMin", 0x03, 0x0E },
2241 { "SupportedBearer", 0x03, 0x0F },
2242 { "SupportedCIRMethod", 0x03, 0x10 },
2243 { "TCPAddress", 0x03, 0x11 },
2244 { "TCPPort", 0x03, 0x12 },
2245 { "UDPPort", 0x03, 0x13 },
2246
2247 /* Presence Primitive */
2248 { "Auto-Subscribe", 0x04, 0x1E }, /* WV 1.2 */
2249 { "CancelAuth-Request", 0x04, 0x05 },
2250 { "ContactListProperties", 0x04, 0x06 },
2251 { "CreateAttributeList-Request", 0x04, 0x07 },
2252 { "CreateList-Request", 0x04, 0x08 },
2253 { "DefaultAttributeList", 0x04, 0x09 },
2254 { "DefaultContactList", 0x04, 0x0A },
2255 { "DefaultList", 0x04, 0x0B },
2256 { "DeleteAttributeList-Request", 0x04, 0x0C },
2257 { "DeleteList-Request", 0x04, 0x0D },
2258 { "GetAttributeList-Request", 0x04, 0x0E },
2259 { "GetAttributeList-Response", 0x04, 0x0F },
2260 { "GetList-Request", 0x04, 0x10 },
2261 { "GetList-Response", 0x04, 0x11 },
2262 { "GetPresence-Request", 0x04, 0x12 },
2263 { "GetPresence-Response", 0x04, 0x13 },
2264 { "GetReactiveAuthStatus-Request", 0x04, 0x1F }, /* WV 1.2 */
2265 { "GetReactiveAuthStatus-Response", 0x04, 0x20 }, /* WV 1.2 */
2266 { "GetWatcherList-Request", 0x04, 0x14 },
2267 { "GetWatcherList-Response", 0x04, 0x15 },
2268 { "ListManage-Request", 0x04, 0x16 },
2269 { "ListManage-Response", 0x04, 0x17 },
2270 { "PresenceAuth-Request", 0x04, 0x19 },
2271 { "PresenceAuth-User", 0x04, 0x1A },
2272 { "PresenceNotification-Request", 0x04, 0x1B },
2273 { "SubscribePresence-Request", 0x04, 0x1D },
2274 { "UnsubscribePresence-Request", 0x04, 0x18 },
2275 { "UpdatePresence-Request", 0x04, 0x1C },
2276
2277 /* Presence Attribute */
2278 { "Accuracy", 0x05, 0x05 },
2279 { "Address", 0x05, 0x06 },
2280 { "AddrPref", 0x05, 0x07 },
2281 { "Alias", 0x05, 0x08 },
2282 { "Altitude", 0x05, 0x09 },
2283 { "Building", 0x05, 0x0A },
2284 { "Caddr", 0x05, 0x0B },
2285 { "Cap", 0x05, 0x2F },
2286 { "City", 0x05, 0x0C },
2287 { "ClientInfo", 0x05, 0x0D },
2288 { "ClientProducer", 0x05, 0x0E },
2289 { "ClientType", 0x05, 0x0F },
2290 { "ClientVersion", 0x05, 0x10 },
2291 { "Cname", 0x05, 0x30 },
2292 { "CommC", 0x05, 0x11 },
2293 { "CommCap", 0x05, 0x12 },
2294 { "Contact", 0x05, 0x31 },
2295 { "ContactInfo", 0x05, 0x13 },
2296 { "ContainedvCard", 0x05, 0x14 },
2297 /* WV 1.2: removed in last version */
2298 { "Country", 0x05, 0x15 },
2299 { "Cpriority", 0x05, 0x32 },
2300 { "Crossing1", 0x05, 0x16 },
2301 { "Crossing2", 0x05, 0x17 },
2302 { "Cstatus", 0x05, 0x33 },
2303 { "DevManufacturer", 0x05, 0x18 },
2304 { "DirectContent", 0x05, 0x19 },
2305 { "FreeTextLocation", 0x05, 0x1A },
2306 { "GeoLocation", 0x05, 0x1B },
2307 { "Inf_link", 0x05, 0x37 }, /* WV 1.2 */
2308 { "InfoLink", 0x05, 0x38 }, /* WV 1.2 */
2309 { "Language", 0x05, 0x1C },
2310 { "Latitude", 0x05, 0x1D },
2311 { "Link", 0x05, 0x39 }, /* WV 1.2 */
2312 { "Longitude", 0x05, 0x1E },
2313 { "Model", 0x05, 0x1F },
2314 { "NamedArea", 0x05, 0x20 },
2315 { "Note", 0x05, 0x34 }, /* WV 1.2 */
2316 { "OnlineStatus", 0x05, 0x21 },
2317 { "PLMN", 0x05, 0x22 },
2318 { "PrefC", 0x05, 0x23 },
2319 { "PreferredContacts", 0x05, 0x24 },
2320 { "PreferredLanguage", 0x05, 0x25 },
2321 { "PreferredContent", 0x05, 0x26 },
2322 { "PreferredvCard", 0x05, 0x27 },
2323 { "Registration", 0x05, 0x28 },
2324 { "StatusContent", 0x05, 0x29 },
2325 { "StatusMood", 0x05, 0x2A },
2326 { "StatusText", 0x05, 0x2B },
2327 { "Street", 0x05, 0x2C },
2328 { "Text", 0x05, 0x3A }, /* WV 1.2 */
2329 { "TimeZone", 0x05, 0x2D },
2330 { "UserAvailability", 0x05, 0x2E },
2331 { "Zone", 0x05, 0x35 },
2332
2333 /* Messaging */
2334 { "BlockList", 0x06, 0x05 },
2335 { "BlockEntity-Request", 0x06, 0x06 }, /* WV 1.2 : changed from 'BlockUser-Request' in WV 1.1 */
2336 { "DeliveryMethod", 0x06, 0x07 },
2337 { "DeliveryReport", 0x06, 0x08 },
2338 { "DeliveryReport-Request", 0x06, 0x09 },
2339 { "DeliveryTime", 0x06, 0x1A },
2340 { "ForwardMessage-Request", 0x06, 0x0A },
2341 { "GetBlockedList-Request", 0x06, 0x0B },
2342 { "GetBlockedList-Response", 0x06, 0x0C },
2343 { "GetMessageList-Request", 0x06, 0x0D },
2344 { "GetMessageList-Response", 0x06, 0x0E },
2345 { "GetMessage-Request", 0x06, 0x0F },
2346 { "GetMessage-Response", 0x06, 0x10 },
2347 { "GrantList", 0x06, 0x11 },
2348 { "MessageDelivered", 0x06, 0x12 },
2349 { "MessageInfo", 0x06, 0x13 },
2350 { "MessageNotification", 0x06, 0x14 },
2351 { "NewMessage", 0x06, 0x15 },
2352 { "RejectMessage-Request", 0x06, 0x16 },
2353 { "SendMessage-Request", 0x06, 0x17 },
2354 { "SendMessage-Response", 0x06, 0x18 },
2355 { "SetDeliveryMethod-Request", 0x06, 0x19 },
2356
2357 /* Group */
2358 { "AddGroupMembers-Request", 0x07, 0x05 },
2359 { "Admin", 0x07, 0x06 },
2360 { "AdminMapList", 0x07, 0x26 }, /* WV 1.2 */
2361 { "AdminMapping", 0x07, 0x27 }, /* WV 1.2 */
2362 { "CreateGroup-Request", 0x07, 0x07 },
2363 { "DeleteGroup-Request", 0x07, 0x08 },
2364 { "GetGroupMembers-Request", 0x07, 0x09 },
2365 { "GetGroupMembers-Response", 0x07, 0x0A },
2366 { "GetGroupProps-Request", 0x07, 0x0B },
2367 { "GetGroupProps-Response", 0x07, 0x0C },
2368 { "GetJoinedUsers-Request", 0x07, 0x24 }, /* WV 1.2 */
2369 { "GetJoinedUsers-Response", 0x07, 0x25 }, /* WV 1.2 */
2370 { "GroupChangeNotice", 0x07, 0x0D },
2371 { "GroupProperties", 0x07, 0x0E },
2372 { "Joined", 0x07, 0x0F },
2373 { "JoinGroup", 0x07, 0x21 },
2374 { "JoinedRequest", 0x07, 0x10 },
2375 { "JoinGroup-Request", 0x07, 0x11 },
2376 { "JoinGroup-Response", 0x07, 0x12 },
2377 { "LeaveGroup-Request", 0x07, 0x13 },
2378 { "LeaveGroup-Response", 0x07, 0x14 },
2379 { "Left", 0x07, 0x15 },
2380 { "Mapping", 0x07, 0x28 }, /* WV 1.2 */
2381 { "MemberAccess-Request", 0x07, 0x16 },
2382 { "Mod", 0x07, 0x17 },
2383 { "ModMapping", 0x07, 0x29 }, /* WV 1.2 */
2384 { "OwnProperties", 0x07, 0x18 },
2385 { "RejectList-Request", 0x07, 0x19 },
2386 { "RejectList-Response", 0x07, 0x1A },
2387 { "RemoveGroupMembers-Request", 0x07, 0x1B },
2388 { "SetGroupProps-Request", 0x07, 0x1C },
2389 { "SubscribeGroupNotice-Request", 0x07, 0x1D },
2390 { "SubscribeGroupNotice-Response", 0x07, 0x1E },
2391 { "SubscribeNotification", 0x07, 0x22 },
2392 { "SubscribeType", 0x07, 0x23 },
2393 { "UserMapList", 0x07, 0x2A }, /* WV 1.2 */
2394 { "UserMapping", 0x07, 0x2B }, /* WV 1.2 */
2395 { "Users", 0x07, 0x1F },
2396 { "WelcomeNote", 0x07, 0x20 },
2397
2398 /* Service ... continued */
2399 { "GETAUT", 0x08, 0x06 }, /* WV 1.2 */
2400 { "GETJU", 0x08, 0x07 }, /* WV 1.2 */
2401 { "MP", 0x08, 0x05 }, /* WV 1.2 */
2402 { "VRID", 0x08, 0x08 }, /* WV 1.2 */
2403 { "VerifyIDFunc", 0x08, 0x09 }, /* WV 1.2 */
2404
2405 /* Common ... continued */
2406 { "CIR", 0x09, 0x05 }, /* WV 1.2 */
2407 { "Domain", 0x09, 0x06 }, /* WV 1.2 */
2408 { "ExtBlock", 0x09, 0x07 }, /* WV 1.2 */
2409 { "HistoryPeriod", 0x09, 0x08 }, /* WV 1.2 */
2410 { "IDList", 0x09, 0x09 }, /* WV 1.2 */
2411 { "MaxWatcherList", 0x09, 0x0A }, /* WV 1.2 */
2412 { "ReactiveAuthState", 0x09, 0x0B }, /* WV 1.2 */
2413 { "ReactiveAuthStatus", 0x09, 0x0C }, /* WV 1.2 */
2414 { "ReactiveAuthStatusList", 0x09, 0x0D }, /* WV 1.2 */
2415 { "Watcher", 0x09, 0x0E }, /* WV 1.2 */
2416 { "WatcherStatus", 0x09, 0x0F }, /* WV 1.2 */
2417
2418 /* Access ... continued */
2419 { "WV-CSP-VersionDiscovery-Request", 0x0A, 0x05 }, /* WV 1.2 */
2420 { "WV-CSP-VersionDiscovery-Response", 0x0A, 0x06 }, /* WV 1.2 */
2421 { "VersionList", 0x0A, 0x07 }, /* WV 1.2 */
2422
2423 { NULL, 0x00, 0x00 }
2424 };
2425
2426 const WBXMLAttrEntry sv_wv_csp_attr_table[] = {
2427 { "xmlns", "http://www.wireless-village.org/CSP", 0x00, 0x05 },
2428 { "xmlns", "http://www.wireless-village.org/PA", 0x00, 0x06 },
2429 { "xmlns", "http://www.wireless-village.org/TRC", 0x00, 0x07 },
2430 { "xmlns", "http://www.openmobilealliance.org/DTD/WV-CSP", 0x00, 0x08 },
2431 { "xmlns", "http://www.openmobilealliance.org/DTD/WV-PA", 0x00, 0x09 },
2432 { "xmlns", "http://www.openmobilealliance.org/DTD/WV-TRC", 0x00, 0x0A },
2433 { NULL, NULL, 0x00, 0x00 }
2434 };
2435
2436 const WBXMLExtValueEntry sv_wv_csp_ext_table[] = {
2437 /*
2438 * DO NOT CHANGE THIS TABLE ORDER PLEASE !
2439 * Extension Tokens must be sorted by length !
2440 */
2441
2442 { "application/vnd.wap.mms-message", 0x04 }, /* Common value token */
2443 { "www.wireless-village.org", 0x30 }, /* Common value token */
2444 { "GROUP_USER_ID_AUTOJOIN", 0x50 }, /* Access value token */ /* WV 1.2 */
2445 { "GROUP_USER_ID_JOINED", 0x40 }, /* Access value token */
2446 { "GROUP_USER_ID_OWNER", 0x41 }, /* Access value token */
2447 { "USER_EMAIL_ADDRESS", 0x47 }, /* Access value token */
2448 { "USER_MOBILE_NUMBER", 0x4b }, /* Access value token */
2449 { "USER_ONLINE_STATUS", 0x4c }, /* Access value token */
2450 { "application/x-sms", 0x05 }, /* Common value token */
2451 { "PrivateMessaging", 0x1c }, /* Common value token */
2452 { "text/x-vCalendar", 0x29 }, /* Common value token */
2453 { "USER_FIRST_NAME", 0x48 }, /* Access value token */
2454 { "MaxActiveUsers", 0x13 }, /* Common value token */
2455 { "PrivilegeLevel", 0x1d }, /* Common value token */
2456 { "USER_LAST_NAME", 0x4a }, /* Access value token */
2457 { "NOT_AVAILABLE", 0x70 }, /* Presence value token */
2458 { "application/", 0x03 }, /* Common value token */
2459 { "text/x-vCard", 0x2a }, /* Common value token */
2460 { "MOBILE_PHONE", 0x6f }, /* Presence value token */
2461 { "VIDEO_STREAM", 0x77 }, /* Presence value token */
2462 { "ActiveUsers", 0x01 }, /* Common value token */
2463 { "DisplayName", 0x0a }, /* Common value token */
2464 { "GROUP_TOPIC", 0x3f }, /* Access value token */
2465 { "AccessType", 0x00 }, /* Common value token */
2466 { "AutoDelete", 0x31 }, /* Common value token */ /* WV 1.2 */
2467 { "Restricted", 0x22 }, /* Common value token */
2468 { "ScreenName", 0x23 }, /* Common value token */
2469 { "Searchable", 0x24 }, /* Common value token */
2470 { "text/plain", 0x28 }, /* Common value token */
2471 { "GROUP_NAME", 0x3e }, /* Access value token */
2472 { "USER_ALIAS", 0x46 }, /* Access value token */
2473 { "AUDIO_CALL", 0x5e }, /* Presence value token */
2474 { "IM_OFFLINE", 0x69 }, /* Presence value token */
2475 { "INVINCIBLE", 0x6c }, /* Presence value token */
2476 { "VIDEO_CALL", 0x76 }, /* Presence value token */
2477 { "AVAILABLE", 0x5f }, /* Presence value token */
2478 { "IM_ONLINE", 0x6a }, /* Presence value token */
2479 { "https://", 0x0f }, /* Common value token */
2480 { "AutoJoin", 0x06 }, /* Common value token */
2481 { "Response", 0x21 }, /* Common value token */
2482 { "Validity", 0x33 }, /* Common value token */ /* WV 1.2 */
2483 { "GROUP_ID", 0x3d }, /* Access value token */
2484 { "COMPUTER", 0x63 }, /* Presence value token */
2485 { "DISCREET", 0x64 }, /* Presence value token */
2486 { "Default", 0x09 }, /* Common value token */
2487 { "GRANTED", 0x35 }, /* Common value token */ /* WV 1.2 */
2488 { "http://", 0x0e }, /* Common value token */
2489 { "Outband", 0x19 }, /* Common value token */
2490 { "PENDING", 0x36 }, /* Common value token */ /* WV 1.2 */
2491 { "Private", 0x1b }, /* Common value token */
2492 { "Request", 0x20 }, /* Common value token */
2493 { "USER_ID", 0x49 }, /* Access value token */
2494 { "ANXIOUS", 0x5c }, /* Presence value token */
2495 { "ASHAMED", 0x5d }, /* Presence value token */
2496 { "EXCITED", 0x66 }, /* Presence value token */
2497 { "IN_LOVE", 0x6b }, /* Presence value token */
2498 { "JEALOUS", 0x6d }, /* Presence value token */
2499 { "BASE64", 0x07 }, /* Common value token */
2500 { "Closed", 0x08 }, /* Common value token */
2501 { "image/", 0x10 }, /* Common value token */
2502 { "Inband", 0x11 }, /* Common value token */
2503 { "Public", 0x1e }, /* Common value token */
2504 { "DENIED", 0x34 }, /* Common value token */ /* WV 1.2 */
2505 { "WAPSMS", 0x4d }, /* Access value token */
2506 { "WAPUDP", 0x4e }, /* Access value token */
2507 { "SLEEPY", 0x74 }, /* Presence value token */
2508 { "ShowID", 0x37 }, /* Common value token */ /* WV 1.2 */
2509 { "Admin", 0x02 }, /* Common value token */
2510 { "text/", 0x27 }, /* Common value token */
2511 { "Topic", 0x2b }, /* Common value token */
2512 { "ANGRY", 0x5b }, /* Presence value token */
2513 { "BORED", 0x60 }, /* Presence value token */
2514 { "EMAIL", 0x65 }, /* Presence value token */
2515 { "HAPPY", 0x67 }, /* Presence value token */
2516 { "OTHER", 0x71 }, /* Presence value token */
2517 { "Name", 0x15 }, /* Common value token */
2518 { "None", 0x16 }, /* Common value token */
2519 { "Open", 0x18 }, /* Common value token */
2520 { "Type", 0x2d }, /* Common value token */
2521 { "HTTP", 0x42 }, /* Access value token */
2522 { "STCP", 0x44 }, /* Access value token */
2523 { "SUDP", 0x45 }, /* Access value token */
2524 { "CALL", 0x61 }, /* Presence value token */
2525 { "Mod", 0x14 }, /* Common value token */
2526 { "SMS", 0x43 }, /* Access value token */
2527 { "WSP", 0x4f }, /* Access value token */
2528 { "CLI", 0x62 }, /* Presence value token */
2529 { "MMS", 0x6e }, /* Presence value token */
2530 { "PDA", 0x72 }, /* Presence value token */
2531 { "SAD", 0x73 }, /* Presence value token */
2532 { "SMS", 0x75 }, /* Presence value token */
2533 { "GM", 0x32 }, /* Common value token */ /* WV 1.2 */
2534 { "GR", 0x0d }, /* Common value token */
2535 { "IM", 0x12 }, /* Common value token */
2536 { "PR", 0x1a }, /* Common value token */
2537 { "SC", 0x26 }, /* Common value token */
2538 { "US", 0x2f }, /* Common value token */
2539 { "IM", 0x68 }, /* Presence value token */ /* Obsolete in WV 1.2 */
2540 { "F", 0x0b }, /* Common value token */
2541 { "G", 0x0c }, /* Common value token */
2542 { "N", 0x17 }, /* Common value token */
2543 { "P", 0x1f }, /* Common value token */
2544 { "S", 0x25 }, /* Common value token */
2545 { "T", 0x2c }, /* Common value token */
2546 { "U", 0x2e }, /* Common value token */
2547
2548 { NULL, 0x00 }, /* Presence value token */
2549 };
2550
2551 #endif /* WBXML_SUPPORT_WV */
2552
2553
2554 #if defined( WBXML_SUPPORT_AIRSYNC )
2555
2556 /*************************************************
2557 * Microsoft ActiveSync (aka AirSync)
2558 *
2559 * Actually the table represent [MS-ASWBXML] 8.0.
2560 *
2561 * The version means the protocol version (e.g. v12.0).
2562 * The revision means the revision of the specification document (e.g. r8.0).
2563 *
2564 * mainly used by Microsoft Exchange and
2565 * modern mobiles from all vendors
2566 */
2567
2568 const WBXMLTagEntry sv_airsync_tag_table[] = {
2569 /* Code Page: "AirSync" (since v2.5 and r1.0) */
2570 { "Sync", 0x00, 0x05 }, /* since r1.0 */
2571 { "Responses", 0x00, 0x06 }, /* since r1.0 */
2572 { "Add", 0x00, 0x07 }, /* since r1.0 */
2573 { "Change", 0x00, 0x08 }, /* since r1.0 */
2574 { "Delete", 0x00, 0x09 }, /* since r1.0 */
2575 { "Fetch", 0x00, 0x0a }, /* since r1.0 */
2576 { "SyncKey", 0x00, 0x0b }, /* since r1.0 */
2577 { "ClientId", 0x00, 0x0c }, /* since r1.0 */
2578 { "ServerId", 0x00, 0x0d }, /* since r1.0 */
2579 { "Status", 0x00, 0x0e }, /* since r1.0 */
2580 { "Collection", 0x00, 0x0f }, /* since r1.0 */
2581 { "Class", 0x00, 0x10 }, /* since r1.0 */
2582 { "Version", 0x00, 0x11 }, /* not defined in r8.0 but in r1.0 */
2583 { "CollectionId", 0x00, 0x12 }, /* since r1.0 */
2584 { "GetChanges", 0x00, 0x13 }, /* since r1.0 */
2585 { "MoreAvailable", 0x00, 0x14 }, /* since r1.0 */
2586 { "WindowSize", 0x00, 0x15 }, /* since r1.0 */
2587 { "Commands", 0x00, 0x16 }, /* since r1.0 */
2588 { "Options", 0x00, 0x17 }, /* since r1.0 */
2589 { "FilterType", 0x00, 0x18 }, /* since r1.0 */
2590 { "Truncation", 0x00, 0x19 }, /* not defined in r8.0 but in r1.0 */
2591 { "RTFTruncation", 0x00, 0x1a }, /* corrected in libwbxml 0.11.0, not defined in r8.0 but in r1.0 */
2592 { "Conflict", 0x00, 0x1b }, /* since r1.0 */
2593 { "Collections", 0x00, 0x1c }, /* since r1.0 */
2594 { "ApplicationData", 0x00, 0x1d }, /* since r1.0 */
2595 { "DeletesAsMoves", 0x00, 0x1e }, /* since r1.0 */
2596 { "NotifyGUID", 0x00, 0x1f }, /* not defined in r8.0 but in r1.0 */
2597 { "Supported", 0x00, 0x20 }, /* since r1.0 */
2598 { "SoftDelete", 0x00, 0x21 }, /* since r1.0 */
2599 { "MIMESupport", 0x00, 0x22 }, /* since r1.0 */
2600 { "MIMETruncation", 0x00, 0x23 }, /* since r1.0 */
2601 { "Wait", 0x00, 0x24 }, /* since r1.0 */
2602 { "Limit", 0x00, 0x25 }, /* since r1.0 */
2603 { "Partial", 0x00, 0x26 }, /* since r1.0 */
2604 { "ConversationMode", 0x00, 0x27 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2605 { "MaxItems", 0x00, 0x28 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2606 { "HeartbeatInterval", 0x00, 0x29 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2607
2608 /* Code Page: Contacts (since v2.5 and r1.0) */
2609 { "Anniversary", 0x01, 0x05 }, /* since r1.0 */
2610 { "AssistantName", 0x01, 0x06 }, /* since r1.0 */
2611 { "AssistantTelephoneNumber", 0x01, 0x07 }, /* corrected in libwbxml 0.11.0 */
2612 { "Birthday", 0x01, 0x08 }, /* since r1.0 */
2613 { "Body", 0x01, 0x09 }, /* not defined in r8.0 but in r1.0 */
2614 { "BodySize", 0x01, 0x0a }, /* not defined in r8.0 but in r1.0 */
2615 { "BodyTruncated", 0x01, 0x0b }, /* not defined in r8.0 but in r1.0 */
2616 { "Business2PhoneNumber", 0x01, 0x0c }, /* changed in r8.0, r1.0: Business2TelephoneNumber */
2617 { "BusinessCity", 0x01, 0x0d }, /* since r1.0 */
2618 { "BusinessCountry", 0x01, 0x0e }, /* since r1.0 */
2619 { "BusinessPostalCode", 0x01, 0x0f }, /* since r1.0 */
2620 { "BusinessState", 0x01, 0x10 }, /* since r1.0 */
2621 { "BusinessStreet", 0x01, 0x11 }, /* since r1.0 */
2622 { "BusinessFaxNumber", 0x01, 0x12 }, /* since r1.0 */
2623 { "BusinessPhoneNumber", 0x01, 0x13 }, /* changed in r8.0, r1.0: BusinessTelephoneNumber */
2624 { "CarPhoneNumber", 0x01, 0x14 }, /* since r1.0 */
2625 { "Categories", 0x01, 0x15 }, /* since r1.0 */
2626 { "Category", 0x01, 0x16 }, /* since r1.0 */
2627 { "Children", 0x01, 0x17 }, /* since r1.0 */
2628 { "Child", 0x01, 0x18 }, /* since r1.0 */
2629 { "CompanyName", 0x01, 0x19 }, /* since r1.0 */
2630 { "Department", 0x01, 0x1a }, /* since r1.0 */
2631 { "Email1Address", 0x01, 0x1b }, /* since r1.0 */
2632 { "Email2Address", 0x01, 0x1c }, /* since r1.0 */
2633 { "Email3Address", 0x01, 0x1d }, /* since r1.0 */
2634 { "FileAs", 0x01, 0x1e }, /* since r1.0 */
2635 { "FirstName", 0x01, 0x1f }, /* since r1.0 */
2636 { "Home2PhoneNumber", 0x01, 0x20 }, /* changed in r8.0, r1.0: BusinessTelephoneNumber */
2637 { "HomeCity", 0x01, 0x21 }, /* since r1.0 */
2638 { "HomeCountry", 0x01, 0x22 }, /* since r1.0 */
2639 { "HomePostalCode", 0x01, 0x23 }, /* since r1.0 */
2640 { "HomeState", 0x01, 0x24 }, /* since r1.0 */
2641 { "HomeStreet", 0x01, 0x25 }, /* since r1.0 */
2642 { "HomeFaxNumber", 0x01, 0x26 }, /* since r1.0 */
2643 { "HomePhoneNumber", 0x01, 0x27 }, /* changed in r8.0, r1.0: BusinessTelephoneNumber */
2644 { "JobTitle", 0x01, 0x28 }, /* since r1.0 */
2645 { "LastName", 0x01, 0x29 }, /* since r1.0 */
2646 { "MiddleName", 0x01, 0x2a }, /* since r1.0 */
2647 { "MobilePhoneNumber", 0x01, 0x2b }, /* changed in r8.0, r1.0: BusinessTelephoneNumber */
2648 { "OfficeLocation", 0x01, 0x2c }, /* since r1.0 */
2649 { "OtherCity", 0x01, 0x2d }, /* since r1.0 */
2650 { "OtherCountry", 0x01, 0x2e }, /* since r1.0 */
2651 { "OtherPostalCode", 0x01, 0x2f }, /* since r1.0 */
2652 { "OtherState", 0x01, 0x30 }, /* since r1.0 */
2653 { "OtherStreet", 0x01, 0x31 }, /* since r1.0 */
2654 { "PagerNumber", 0x01, 0x32 }, /* since r1.0 */
2655 { "RadioPhoneNumber", 0x01, 0x33 }, /* changed in r8.0, r1.0: BusinessTelephoneNumber */
2656 { "Spouse", 0x01, 0x34 }, /* since r1.0 */
2657 { "Suffix", 0x01, 0x35 }, /* since r1.0 */
2658 { "Title", 0x01, 0x36 }, /* since r1.0 */
2659 { "WebPage", 0x01, 0x37 }, /* since r1.0 */
2660 { "YomiCompanyName", 0x01, 0x38 }, /* since r1.0 */
2661 { "YomiFirstName", 0x01, 0x39 }, /* since r1.0 */
2662 { "YomiLastName", 0x01, 0x3a }, /* since r1.0 */
2663 { "CompressedRTF", 0x01, 0x3b }, /* corrected in libwbxml 0.11.0, not defined in r8.0 but in r1.0 */
2664 { "Picture", 0x01, 0x3c }, /* since r1.0 */
2665 { "Alias", 0x01, 0x3d }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2666 { "WeightedRank", 0x01, 0x3e }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2667
2668 /* Code Page: Email (since v2.5 and r1.0) */
2669 { "Attachment", 0x02, 0x05 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2670 { "Attachments", 0x02, 0x06 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2671 { "AttName", 0x02, 0x07 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2672 { "AttSize", 0x02, 0x08 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2673 { "AttOId", 0x02, 0x09 }, /* corrected in libwbxml 0.11.0, not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2674 { "AttMethod", 0x02, 0x0a }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2675 { "AttRemoved", 0x02, 0x0b }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2676 { "Body", 0x02, 0x0c }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2677 { "BodySize", 0x02, 0x0d }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2678 { "BodyTruncated", 0x02, 0x0e }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2679 { "DateReceived", 0x02, 0x0f }, /* supported since v2.5 */
2680 { "DisplayName", 0x02, 0x10 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2681 { "DisplayTo", 0x02, 0x11 }, /* supported since v2.5 */
2682 { "Importance", 0x02, 0x12 }, /* supported since v2.5 */
2683 { "MessageClass", 0x02, 0x13 }, /* supported since v2.5 */
2684 { "Subject", 0x02, 0x14 }, /* supported since v2.5 */
2685 { "Read", 0x02, 0x15 }, /* supported since v2.5 */
2686 { "To", 0x02, 0x16 }, /* supported since v2.5 */
2687 { "Cc", 0x02, 0x17 }, /* supported since v2.5 */
2688 { "From", 0x02, 0x18 }, /* supported since v2.5 */
2689 { "Reply-To", 0x02, 0x19 }, /* supported since v2.5 */
2690 { "AllDayEvent", 0x02, 0x1a }, /* supported since v2.5 */
2691 { "Categories", 0x02, 0x1b }, /* r1.0: supported by v2.5, v12.0 and 12.1; BUT r8.0: not supported by 12.1 */
2692 { "Category", 0x02, 0x1c }, /* r1.0: supported by v2.5, v12.0 and 12.1; BUT r8.0: not supported by 12.1 */
2693 { "DTStamp", 0x02, 0x1d }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2694 { "EndTime", 0x02, 0x1e }, /* supported since v2.5 */
2695 { "InstanceType", 0x02, 0x1f }, /* supported since v2.5 */
2696 { "BusyStatus", 0x02, 0x20 }, /* supported since v2.5 */
2697 { "Location", 0x02, 0x21 }, /* supported since v2.5 */
2698 { "MeetingRequest", 0x02, 0x22 }, /* supported since v2.5 */
2699 { "Organizer", 0x02, 0x23 }, /* supported since v2.5 */
2700 { "RecurrenceId", 0x02, 0x24 }, /* supported since v2.5 */
2701 { "Reminder", 0x02, 0x25 }, /* supported since v2.5 */
2702 { "ResponseRequested", 0x02, 0x26 }, /* supported since v2.5 */
2703 { "Recurrences", 0x02, 0x27 }, /* supported since v2.5 */
2704 { "Recurrence", 0x02, 0x28 }, /* supported since v2.5 */
2705 { "Recurrence_Type", 0x02, 0x29 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2706 { "Recurrence_Until", 0x02, 0x2a }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2707 { "Recurrence_Occurrences", 0x02, 0x2b }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2708 { "Recurrence_Interval", 0x02, 0x2c }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2709 { "Recurrence_DayOfWeek", 0x02, 0x2d }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2710 { "Recurrence_DayOfMonth", 0x02, 0x2e }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2711 { "Recurrence_WeekOfMonth", 0x02, 0x2f }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2712 { "Recurrence_MonthOfYear", 0x02, 0x30 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2713 { "StartTime", 0x02, 0x31 }, /* supported since v2.5 */
2714 { "Sensitivity", 0x02, 0x32 }, /* supported since v2.5 */
2715 { "TimeZone", 0x02, 0x33 }, /* supported since v2.5 */
2716 { "GlobalObjId", 0x02, 0x34 }, /* supported since v2.5 */
2717 { "ThreadTopic", 0x02, 0x35 }, /* supported since v2.5 */
2718 { "MIMEData", 0x02, 0x36 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2719 { "MIMETruncated", 0x02, 0x37 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2720 { "MIMESize", 0x02, 0x38 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2721 { "InternetCPID", 0x02, 0x39 }, /* supported since v2.5 */
2722 { "Flag", 0x02, 0x3a }, /* supported since v12.0 */
2723 { "FlagStatus", 0x02, 0x3b }, /* supported since v12.0 */
2724 { "ContentClass", 0x02, 0x3c }, /* supported since v12.0 */
2725 { "FlagType", 0x02, 0x3d }, /* supported since v12.0 */
2726 { "CompleteTime", 0x02, 0x3e }, /* supported since v12.0 */
2727 { "DisallowNewTimeProposal",0x02, 0x3f }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2728
2729 /* Code Page: AirNotify */
2730
2731 /* There are conflicting version informations.
2732 *
2733 * r1.0: supported by v2.5, v12.0 and v12.1
2734 * r8.0: This code page is no longer in use.
2735 * r8.0: Tokens 05 to 17 have been defined.
2736 */
2737
2738 { "Notify", 0x03, 0x05 }, /* not defined in r8.0 but in r1.0, only supported by v2.0 and v2.5 */
2739 { "Notification", 0x03, 0x06 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2740 { "Version", 0x03, 0x07 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2741 { "LifeTime", 0x03, 0x08 }, /* corrected in libwbxml 0.11.0, not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2742 { "DeviceInfo", 0x03, 0x09 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2743 { "Enable", 0x03, 0x0a }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2744 { "Folder", 0x03, 0x0b }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2745 { "ServerId", 0x03, 0x0c }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2746 { "DeviceAddress", 0x03, 0x0d }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2747 { "ValidCarrierProfiles", 0x03, 0x0e }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2748 { "CarrierProfile", 0x03, 0x0f }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2749 { "Status", 0x03, 0x10 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2750 { "Responses", 0x03, 0x11 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2751 { "Devices", 0x03, 0x12 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2752 { "Device", 0x03, 0x13 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2753 { "Id", 0x03, 0x14 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2754 { "Expiry", 0x03, 0x15 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2755 { "NotifyGUID", 0x03, 0x16 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2756 { "DeviceFriendlyName", 0x03, 0x17 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2757
2758 /* Code Page: Calendar (since v2.5 and r1.0) */
2759 { "TimeZone", 0x04, 0x05 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2760 { "AllDayEvent", 0x04, 0x06 }, /* supported since v2.5 */
2761 { "Attendees", 0x04, 0x07 }, /* supported since v2.5 */
2762 { "Attendee", 0x04, 0x08 }, /* supported since v2.5 */
2763 { "Attendee_Email", 0x04, 0x09 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2764 { "Attendee_Name", 0x04, 0x0a }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2765 { "Body", 0x04, 0x0b }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2766 { "BodyTruncated", 0x04, 0x0c }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2767 { "BusyStatus", 0x04, 0x0d }, /* supported since v2.5 */
2768 { "Categories", 0x04, 0x0e }, /* supported since v2.5 */
2769 { "Category", 0x04, 0x0f }, /* supported since v2.5 */
2770 { "Compressed_RTF", 0x04, 0x10 }, /* corrected in libwbxml 0.11.0, not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2771 { "DTStamp", 0x04, 0x11 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2772 { "EndTime", 0x04, 0x12 }, /* supported since v2.5 */
2773 { "Exception", 0x04, 0x13 }, /* supported since v2.5 */
2774 { "Exceptions", 0x04, 0x14 }, /* supported since v2.5 */
2775 { "Exception_Deleted", 0x04, 0x15 }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: Exception_IsDeleted */
2776 { "Exception_StartTime", 0x04, 0x16 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2777 { "Location", 0x04, 0x17 }, /* supported since v2.5 */
2778 { "MeetingStatus", 0x04, 0x18 }, /* supported since v2.5 */
2779 { "Organizer_Email", 0x04, 0x19 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2780 { "Organizer_Name", 0x04, 0x1a }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2781 { "Recurrence", 0x04, 0x1b }, /* supported since v2.5 */
2782 { "Recurrence_Type", 0x04, 0x1c }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2783 { "Recurrence_Until", 0x04, 0x1d }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2784 { "Recurrence_Occurrences", 0x04, 0x1e }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2785 { "Recurrence_Interval", 0x04, 0x1f }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2786 { "Recurrence_DayOfWeek", 0x04, 0x20 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2787 { "Recurrence_DayOfMonth", 0x04, 0x21 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2788 { "Recurrence_WeekOfMonth", 0x04, 0x22 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2789 { "Recurrence_MonthOfYear", 0x04, 0x23 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2790 { "Reminder", 0x04, 0x24 }, /* supported since v2.5 */
2791 { "Sensitivity", 0x04, 0x25 }, /* supported since v2.5 */
2792 { "Subject", 0x04, 0x26 }, /* supported since v2.5 */
2793 { "StartTime", 0x04, 0x27 }, /* supported since v2.5 */
2794 { "UID", 0x04, 0x28 }, /* supported since v2.5 */
2795 { "Attendee_Status", 0x04, 0x29 }, /* corrected in libwbxml 0.11.0, supported since v12.0 */
2796 { "Attendee_Type", 0x04, 0x2a }, /* corrected in libwbxml 0.11.0, supported since v12.0 */
2797 { "DisallowNewTimeProposal",0x04, 0x33 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2798 { "ResponseRequested", 0x04, 0x34 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2799 { "AppointmentReplyTime", 0x04, 0x35 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2800 { "ResponseType", 0x04, 0x36 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2801 { "CalendarType", 0x04, 0x37 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2802 { "IsLeapMonth", 0x04, 0x38 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2803 { "FirstDayOfWeek", 0x04, 0x39 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
2804 { "OnlineMeetingConfLink", 0x04, 0x3a }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
2805 { "OnlineMeetingExternalLink",0x04, 0x3b }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
2806 { "ClientUid", 0x04, 0x3c }, /* since 16.0 */
2807
2808 /* Code Page: Move (since v2.5 and r1.0) */
2809 { "MoveItems", 0x05, 0x05 }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2810 { "Move", 0x05, 0x06 }, /* since r1.0 */
2811 { "SrcMsgId", 0x05, 0x07 }, /* since r1.0 */
2812 { "SrcFldId", 0x05, 0x08 }, /* since r1.0 */
2813 { "DstFldId", 0x05, 0x09 }, /* since r1.0 */
2814 { "Response", 0x05, 0x0a }, /* since r1.0 */
2815 { "Status", 0x05, 0x0b }, /* since r1.0 */
2816 { "DstMsgId", 0x05, 0x0c }, /* since r1.0 */
2817
2818 /* Code Page: ItemEstimate (since v2.5 and r1.0) */
2819 { "GetItemEstimate", 0x06, 0x05 }, /* since r1.0 */
2820 { "Version", 0x06, 0x06 }, /* r8.0: only supported when the MS-ASProtocolVersion header is set to 12.1 */
2821 { "Collections", 0x06, 0x07 }, /* since r1.0 */
2822 { "Collection", 0x06, 0x08 }, /* since r1.0 */
2823 { "Class", 0x06, 0x09 }, /* r8.0: only supported when the MS-ASProtocolVersion header is set to 12.1 */
2824 { "CollectionId", 0x06, 0x0a }, /* since r1.0 */
2825 { "DateTime", 0x06, 0x0b }, /* r8.0: only supported when the MS-ASProtocolVersion header is set to 12.1 */
2826 { "Estimate", 0x06, 0x0c }, /* since r1.0 */
2827 { "Response", 0x06, 0x0d }, /* since r1.0 */
2828 { "Status", 0x06, 0x0e }, /* since r1.0 */
2829
2830 /* Code Page: FolderHierarchy (since v2.5 and r1.0) */
2831 { "Folders", 0x07, 0x05 }, /* not defined in r8.0 but in r1.0 */
2832 { "Folder", 0x07, 0x06 }, /* not defined in r8.0 but in r1.0 */
2833 { "DisplayName", 0x07, 0x07 }, /* since r1.0 */
2834 { "ServerId", 0x07, 0x08 }, /* since r1.0 */
2835 { "ParentId", 0x07, 0x09 }, /* since r1.0 */
2836 { "Type", 0x07, 0x0a }, /* since r1.0 */
2837 { "Response", 0x07, 0x0b }, /* not defined in r8.0 but in r1.0 */
2838 { "Status", 0x07, 0x0c }, /* since r1.0 */
2839 { "ContentClass", 0x07, 0x0d }, /* not defined in r8.0 but in r1.0 */
2840 { "Changes", 0x07, 0x0e }, /* since r1.0 */
2841 { "Add", 0x07, 0x0f }, /* since r1.0 */
2842 { "Delete", 0x07, 0x10 }, /* since r1.0 */
2843 { "Update", 0x07, 0x11 }, /* since r1.0 */
2844 { "SyncKey", 0x07, 0x12 }, /* since r1.0 */
2845 { "FolderCreate", 0x07, 0x13 }, /* since r1.0 */
2846 { "FolderDelete", 0x07, 0x14 }, /* since r1.0 */
2847 { "FolderUpdate", 0x07, 0x15 }, /* since r1.0 */
2848 { "FolderSync", 0x07, 0x16 }, /* since r1.0 */
2849 { "Count", 0x07, 0x17 }, /* since r1.0 */
2850 { "Version", 0x07, 0x18 }, /* not defined in r8.0 but in r1.0 */
2851
2852 /* Code Page: MeetingResponse (since v2.5 and r1.0) */
2853 { "CalendarId", 0x08, 0x05 }, /* changed in r8.0, r1.0: CallID */
2854 { "CollectionId", 0x08, 0x06 }, /* since r1.0 */
2855 { "MeetingResponse", 0x08, 0x07 }, /* since r1.0 */
2856 { "RequestId", 0x08, 0x08 }, /* changed in r8.0, r1.0: ReqId */
2857 { "Request", 0x08, 0x09 }, /* since r1.0 */
2858 { "Result", 0x08, 0x0a }, /* since r1.0 */
2859 { "Status", 0x08, 0x0b }, /* since r1.0 */
2860 { "UserResponse", 0x08, 0x0c }, /* since r1.0 */
2861 { "Version", 0x08, 0x0d }, /* not defined in r8.0 but in r1.0 */
2862 { "InstanceId", 0x08, 0x0e }, /* since r8.0? */
2863 { "SendResponse", 0x08, 0x12 }, /* since 16.0 */
2864
2865 /* Code Page: Tasks (since v2.5 and r1.0) */
2866 { "Body", 0x09, 0x05 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2867 { "BodySize", 0x09, 0x06 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2868 { "BodyTruncated", 0x09, 0x07 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2869 { "Categories", 0x09, 0x08 }, /* supported since v2.5 */
2870 { "Category", 0x09, 0x09 }, /* supported since v2.5 */
2871 { "Complete", 0x09, 0x0a }, /* supported since v2.5 */
2872 { "DateCompleted", 0x09, 0x0b }, /* supported since v2.5 */
2873 { "DueDate", 0x09, 0x0c }, /* supported since v2.5 */
2874 { "UTCDueDate", 0x09, 0x0d }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2875 { "Importance", 0x09, 0x0e }, /* supported since v2.5 */
2876 { "Recurrence", 0x09, 0x0f }, /* supported since v2.5 */
2877 { "Recurrence_Type", 0x09, 0x10 }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: RecurrenceType */
2878 { "Recurrence_Start", 0x09, 0x11 }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: RecurrenceStart */
2879 { "Recurrence_Until", 0x09, 0x12 }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: RecurrenceUntil */
2880 { "Recurrence_Occurrences", 0x09, 0x13 }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: RecurrenceOccurrences */
2881 { "Recurrence_Interval", 0x09, 0x14 }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: RecurrenceInterval */
2882 { "Recurrence_DayOfMonth", 0x09, 0x15 }, /* supported since v2.5, changed in r8.0, r1.0: RecurrenceDayOfMonth */
2883 { "Recurrence_DayOfWeek", 0x09, 0x16 }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: RecurrenceDayOfWeek */
2884 { "Recurrence_DayOfMonth", 0x09, 0x15 }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: RecurrenceDayOfMonth */
2885 { "Recurrence_WeekOfMonth", 0x09, 0x17 }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: RecurrenceWeekOfMonth */
2886 { "Recurrence_MonthOfYear", 0x09, 0x18 }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: RecurrenceMonthOfYear */
2887 { "Recurrence_Regenerate", 0x09, 0x19 }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: RecurrenceRegenerate */
2888 { "Recurrence_DeadOccur", 0x09, 0x1a }, /* corrected in libwbxml 0.11.0, supported since v2.5, changed in r8.0, r1.0: RecurrenceDeadOccour */
2889 { "ReminderSet", 0x09, 0x1b }, /* supported since v2.5 */
2890 { "ReminderTime", 0x09, 0x1c }, /* supported since v2.5 */
2891 { "Sensitivity", 0x09, 0x1d }, /* supported since v2.5 */
2892 { "StartDate", 0x09, 0x1e }, /* supported since v2.5 */
2893 { "UTCStartDate", 0x09, 0x1f }, /* corrected in libwbxml 0.11.0, supported since v2.5 */
2894 { "Subject", 0x09, 0x20 }, /* supported since v2.5 */
2895 { "CompressedRTF", 0x09, 0x21 }, /* corrected in libwbxml 0.11.0, not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
2896 { "OrdinalDate", 0x09, 0x22 }, /* supported since v12.0 */
2897 { "SubOrdinalDate", 0x09, 0x23 }, /* supported since v12.0 */
2898 { "CalendarType", 0x09, 0x24 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2899 { "IsLeapMonth", 0x09, 0x25 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2900 { "FirstDayOfWeek", 0x09, 0x26 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
2901
2902 /* Code Page: ResolveRecipients (since v2.5 and r1.0) */
2903 { "ResolveRecipients", 0x0a, 0x05 }, /* since r1.0 */
2904 { "Response", 0x0a, 0x06 }, /* since r1.0 */
2905 { "Status", 0x0a, 0x07 }, /* since r1.0 */
2906 { "Type", 0x0a, 0x08 }, /* since r1.0 */
2907 { "Recipient", 0x0a, 0x09 }, /* since r1.0 */
2908 { "DisplayName", 0x0a, 0x0a }, /* since r1.0 */
2909 { "EmailAddress", 0x0a, 0x0b }, /* since r1.0 */
2910 { "Certificates", 0x0a, 0x0c }, /* since r1.0 */
2911 { "Certificate", 0x0a, 0x0d }, /* since r1.0 */
2912 { "MiniCertificate", 0x0a, 0x0e }, /* since r1.0 */
2913 { "Options", 0x0a, 0x0f }, /* since r1.0 */
2914 { "To", 0x0a, 0x10 }, /* since r1.0 */
2915 { "CertificateRetrieval", 0x0a, 0x11 }, /* since r1.0 */
2916 { "RecipientCount", 0x0a, 0x12 }, /* since r1.0 */
2917 { "MaxCertificates", 0x0a, 0x13 }, /* since r1.0 */
2918 { "MaxAmbiguousRecipients", 0x0a, 0x14 }, /* since r1.0 */
2919 { "CertificateCount", 0x0a, 0x15 }, /* since r1.0 */
2920 { "Availability", 0x0a, 0x16 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2921 { "StartTime", 0x0a, 0x17 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2922 { "EndTime", 0x0a, 0x18 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2923 { "MergedFreeBusy", 0x0a, 0x19 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
2924 { "Picture", 0x0a, 0x1a }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
2925 { "MaxSize", 0x0a, 0x1b }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
2926 { "Data", 0x0a, 0x1c, WBXML_TAG_OPTION_BINARY }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
2927 { "MaxPictures", 0x0a, 0x1d }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
2928
2929 /* Code Page: ValidateCert (since v2.5 and r1.0) */
2930 { "ValidateCert", 0x0b, 0x05 }, /* since r1.0 */
2931 { "Certificates", 0x0b, 0x06 }, /* since r1.0 */
2932 { "Certificate", 0x0b, 0x07 }, /* since r1.0 */
2933 { "CertificateChain", 0x0b, 0x08 }, /* since r1.0 */
2934 { "CheckCRL", 0x0b, 0x09 }, /* since r1.0 */
2935 { "Status", 0x0b, 0x0a }, /* since r1.0 */
2936
2937 /* Code Page: Contacts2 (since v2.5 and r1.0) */
2938 { "CustomerId", 0x0c, 0x05 }, /* since r1.0 */
2939 { "GovernmentId", 0x0c, 0x06 }, /* since r1.0 */
2940 { "IMAddress", 0x0c, 0x07 }, /* since r1.0 */
2941 { "IMAddress2", 0x0c, 0x08 }, /* since r1.0 */
2942 { "IMAddress3", 0x0c, 0x09 }, /* since r1.0 */
2943 { "ManagerName", 0x0c, 0x0a }, /* since r1.0 */
2944 { "CompanyMainPhone", 0x0c, 0x0b }, /* since r1.0 */
2945 { "AccountName", 0x0c, 0x0c }, /* since r1.0 */
2946 { "NickName", 0x0c, 0x0d }, /* since r1.0 */
2947 { "MMS", 0x0c, 0x0e }, /* since r1.0 */
2948
2949 /* Code Page: Ping (since v2.5 and r1.0) */
2950 { "Ping", 0x0d, 0x05 }, /* since r1.0 */
2951 { "AutdState", 0x0d, 0x06 }, /* not used by protocol */
2952 { "Status", 0x0d, 0x07 }, /* since r1.0 */
2953 { "HeartbeatInterval", 0x0d, 0x08 }, /* since r1.0 */
2954 { "Folders", 0x0d, 0x09 }, /* since r1.0 */
2955 { "Folder", 0x0d, 0x0a }, /* since r1.0 */
2956 { "Id", 0x0d, 0x0b }, /* since r1.0 */
2957 { "Class", 0x0d, 0x0c }, /* since r1.0 */
2958 { "MaxFolders", 0x0d, 0x0d }, /* since r1.0 */
2959
2960 /* Code Page: Provision (since v2.5 and r1.0) */
2961 { "Provision", 0x0e, 0x05 }, /* supported since v2.5 */
2962 { "Policies", 0x0e, 0x06 }, /* supported since v2.5 */
2963 { "Policy", 0x0e, 0x07 }, /* supported since v2.5 */
2964 { "PolicyType", 0x0e, 0x08 }, /* supported since v2.5 */
2965 { "PolicyKey", 0x0e, 0x09 }, /* supported since v2.5 */
2966 { "Data", 0x0e, 0x0a }, /* supported since v2.5 */
2967 { "Status", 0x0e, 0x0b }, /* supported since v2.5 */
2968 { "RemoteWipe", 0x0e, 0x0c }, /* supported since v2.5 */
2969 { "EASProvisionDoc", 0x0e, 0x0d }, /* supported since v12.0 */
2970 { "DevicePasswordEnabled", 0x0e, 0x0e }, /* supported since v12.0 */
2971 { "AlphanumericDevicePasswordRequired", 0x0e, 0x0f }, /* supported since v12.0 */
2972 { "DeviceEncryptionEnabled", 0x0e, 0x10 }, /* r1.0: supported since v12.0 */
2973 { "RequireStorageCardEncryption", 0x0e, 0x10 }, /* r1.0: supported by v2.0 and v2.5 */
2974 { "PasswordRecoveryEnabled", 0x0e, 0x11 }, /* supported since v12.0 */
2975 { "DocumentBrowseEnabled", 0x0e, 0x12 }, /* supported since v12.0, not defined in r8.0 but in r1.0 */
2976 { "AttachmentsEnabled", 0x0e, 0x13 }, /* supported since v12.0 */
2977 { "MinDevicePasswordLength", 0x0e, 0x14 }, /* supported since v12.0 */
2978 { "MaxInactivityTimeDeviceLock", 0x0e, 0x15 }, /* supported since v12.0 */
2979 { "MaxDevicePasswordFailedAttempts", 0x0e, 0x16 }, /* supported since v12.0 */
2980 { "MaxAttachmentSize", 0x0e, 0x17 }, /* supported since v12.0 */
2981 { "AllowSimpleDevicePassword", 0x0e, 0x18 }, /* supported since v12.0 */
2982 { "DevicePasswordExpiration", 0x0e, 0x19 }, /* supported since v12.0 */
2983 { "DevicePasswordHistory", 0x0e, 0x1a }, /* supported since v12.0 */
2984 { "AllowStorageCard", 0x0e, 0x1b }, /* supported since v12.1 */
2985 { "AllowCamera", 0x0e, 0x1c }, /* supported by v2.0 and v2.5 */
2986 { "RequireDeviceEncryption", 0x0e, 0x1d }, /* supported by v2.0 and v2.5 */
2987 { "AllowUnsignedApplications", 0x0e, 0x1e }, /* supported by v2.0 and v2.5 */
2988 { "AllowUnsignedInstallationPackages", 0x0e, 0x1f }, /* supported by v2.0 and v2.5 */
2989 { "MinDevicePasswordComplexCharacters", 0x0e, 0x20 }, /* supported by v2.0 and v2.5 */
2990 { "AllowWiFi", 0x0e, 0x21 }, /* supported by v2.0 and v2.5 */
2991 { "AllowTextMessaging", 0x0e, 0x22 }, /* supported by v2.0 and v2.5 */
2992 { "AllowPOPIMAPEmail", 0x0e, 0x23 }, /* supported by v2.0 and v2.5 */
2993 { "AllowBluetooth", 0x0e, 0x24 }, /* supported by v2.0 and v2.5 */
2994 { "AllowIrDA", 0x0e, 0x25 }, /* supported by v2.0 and v2.5 */
2995 { "RequireManualSyncWhenRoaming", 0x0e, 0x26 }, /* supported by v2.0 and v2.5 */
2996 { "AllowDesktopSync", 0x0e, 0x27 }, /* supported by v2.0 and v2.5 */
2997 { "MaxCalendarAgeFilter", 0x0e, 0x28 }, /* supported by v2.0 and v2.5 */
2998 { "AllowHTMLEmail", 0x0e, 0x29 }, /* supported by v2.0 and v2.5 */
2999 { "MaxEmailAgeFilter", 0x0e, 0x2a }, /* supported by v2.0 and v2.5 */
3000 { "MaxEmailBodyTruncationSize", 0x0e, 0x2b }, /* supported by v2.0 and v2.5 */
3001 { "MaxEmailHTMLBodyTruncationSize", 0x0e, 0x2c }, /* supported by v2.0 and v2.5 */
3002 { "RequireSignedSMIMEMessages", 0x0e, 0x2d }, /* supported by v2.0 and v2.5 */
3003 { "RequireEncryptedSMIMEMessages", 0x0e, 0x2e }, /* supported by v2.0 and v2.5 */
3004 { "RequireSignedSMIMEAlgorithm", 0x0e, 0x2f }, /* supported by v2.0 and v2.5 */
3005 { "RequireEncryptionSMIMEAlgorithm", 0x0e, 0x30 }, /* supported by v2.0 and v2.5 */
3006 { "AllowSMIMEEncryptionAlgorithmNegotiation", 0x0e, 0x31 }, /* supported by v2.0 and v2.5 */
3007 { "AllowSMIMESoftCerts", 0x0e, 0x32 }, /* supported by v2.0 and v2.5 */
3008 { "AllowBrowser", 0x0e, 0x33 }, /* supported by v2.0 and v2.5 */
3009 { "AllowConsumerEmail", 0x0e, 0x34 }, /* supported by v2.0 and v2.5 */
3010 { "AllowRemoteDesktop", 0x0e, 0x35 }, /* supported by v2.0 and v2.5 */
3011 { "AllowInternetSharing", 0x0e, 0x36 }, /* supported by v2.0 and v2.5 */
3012 { "UnapprovedInROMApplicationList", 0x0e, 0x37 }, /* supported by v2.0 and v2.5 */
3013 { "ApplicationName", 0x0e, 0x38 }, /* supported by v2.0 and v2.5 */
3014 { "ApprovedApplicationList", 0x0e, 0x39 }, /* supported by v2.0 and v2.5 */
3015 { "Hash", 0x0e, 0x3a }, /* supported by v2.0 and v2.5 */
3016
3017 /* Code Page: Search (since v2.5 and r1.0) */
3018 /* Token 0x06 and 0x16 are not supported. */
3019 { "Search", 0x0f, 0x05 }, /* supported since v2.5 */
3020 { "Store", 0x0f, 0x07 }, /* supported since v2.5 */
3021 { "Name", 0x0f, 0x08 }, /* supported since v2.5 */
3022 { "Query", 0x0f, 0x09 }, /* supported since v2.5 */
3023 { "Options", 0x0f, 0x0a }, /* supported since v2.5 */
3024 { "Range", 0x0f, 0x0b }, /* supported since v2.5 */
3025 { "Status", 0x0f, 0x0c }, /* supported since v2.5 */
3026 { "Response", 0x0f, 0x0d }, /* supported since v2.5 */
3027 { "Result", 0x0f, 0x0e }, /* supported since v2.5 */
3028 { "Properties", 0x0f, 0x0f }, /* supported since v2.5 */
3029 { "Total", 0x0f, 0x10 }, /* supported since v2.5 */
3030 { "EqualTo", 0x0f, 0x11 }, /* supported since v12.0 */
3031 { "Value", 0x0f, 0x12 }, /* supported since v12.0 */
3032 { "And", 0x0f, 0x13 }, /* supported since v12.0 */
3033 { "Or", 0x0f, 0x14 }, /* supported since v12.0, r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
3034 { "FreeText", 0x0f, 0x15 }, /* supported since v12.0 */
3035 { "DeepTraversal", 0x0f, 0x17 }, /* supported since v12.0 */
3036 { "LongId", 0x0f, 0x18 }, /* supported since v12.0 */
3037 { "RebuildResults", 0x0f, 0x19 }, /* supported since v12.0 */
3038 { "LessThan", 0x0f, 0x1a }, /* supported since v12.0 */
3039 { "GreaterThan", 0x0f, 0x1b }, /* supported since v12.0 */
3040 { "Schema", 0x0f, 0x1c }, /* supported since v12.0, r8.0: not defined in r8.0 but in r1.0 */
3041 { "Supported", 0x0f, 0x1d }, /* supported since v12.0, r8.0: not defined in r8.0 but in r1.0 */
3042 { "UserName", 0x0f, 0x1e }, /* since 8.0? */
3043 { "Password", 0x0f, 0x1f }, /* since 8.0? */
3044 { "ConversationId", 0x0f, 0x20, WBXML_TAG_OPTION_BINARY }, /* since 8.0? */
3045 { "Picture", 0x0f, 0x21 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3046 { "MaxSize", 0x0f, 0x22 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3047 { "MaxPictures", 0x0f, 0x23 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3048
3049 /* Code Page: GAL (since v2.5 and r1.0) */
3050 { "DisplayName", 0x10, 0x05 }, /* since r1.0 */
3051 { "Phone", 0x10, 0x06 }, /* since r1.0 */
3052 { "Office", 0x10, 0x07 }, /* since r1.0 */
3053 { "Title", 0x10, 0x08 }, /* since r1.0 */
3054 { "Company", 0x10, 0x09 }, /* since r1.0 */
3055 { "Alias", 0x10, 0x0a }, /* since r1.0 */
3056 { "FirstName", 0x10, 0x0b }, /* since r1.0 */
3057 { "LastName", 0x10, 0x0c }, /* since r1.0 */
3058 { "HomePhone", 0x10, 0x0d }, /* since r1.0 */
3059 { "MobilePhone", 0x10, 0x0e }, /* since r1.0 */
3060 { "EmailAddress", 0x10, 0x0f }, /* since r1.0 */
3061 { "Picture", 0x10, 0x10 }, /* not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3062 { "Status", 0x10, 0x11 }, /* not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3063 { "Data", 0x10, 0x12, WBXML_TAG_OPTION_BINARY }, /* not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3064
3065 /* Code Page: AirSyncBase (since v12.0 and r1.0) */
3066 { "BodyPreference", 0x11, 0x05 }, /* since r1.0 */
3067 { "Type", 0x11, 0x06 }, /* since r1.0 */
3068 { "TruncationSize", 0x11, 0x07 }, /* since r1.0 */
3069 { "AllOrNone", 0x11, 0x08 }, /* since r1.0 */
3070 { "Body", 0x11, 0x0a }, /* since r1.0 */
3071 { "Data", 0x11, 0x0b }, /* since r1.0 */
3072 { "EstimatedDataSize", 0x11, 0x0c }, /* since r1.0 */
3073 { "Truncated", 0x11, 0x0d }, /* since r1.0 */
3074 { "Attachments", 0x11, 0x0e }, /* since r1.0 */
3075 { "Attachment", 0x11, 0x0f }, /* since r1.0 */
3076 { "DisplayName", 0x11, 0x10 }, /* since r1.0 */
3077 { "FileReference", 0x11, 0x11 }, /* since r1.0 */
3078 { "Method", 0x11, 0x12 }, /* since r1.0 */
3079 { "ContentId", 0x11, 0x13 }, /* since r1.0 */
3080 { "ContentLocation", 0x11, 0x14 }, /* r8.0: not used */
3081 { "IsInline", 0x11, 0x15 }, /* since r1.0 */
3082 { "NativeBodyType", 0x11, 0x16 }, /* since r1.0 */
3083 { "ContentType", 0x11, 0x17 }, /* since r1.0 */
3084 { "Preview", 0x11, 0x18 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
3085 { "BodyPartPreference", 0x11, 0x19 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 or 14 */
3086 { "BodyPart", 0x11, 0x1a }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 or 14 */
3087 { "Status", 0x11, 0x1b }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 or 14 */
3088 { "Add", 0x11, 0x1c }, /* since 16.0 */
3089 { "Delete", 0x11, 0x1d }, /* since 16.0 */
3090 { "ClientId", 0x11, 0x1e }, /* since 16.0 */
3091 { "Content", 0x11, 0x1f, WBXML_TAG_OPTION_BINARY }, /* since 16.0 */
3092 { "Location", 0x11, 0x20 }, /* since 16.0 */
3093 { "Annotation", 0x11, 0x21 }, /* since 16.0 */
3094 { "Street", 0x11, 0x22 }, /* since 16.0 */
3095 { "City", 0x11, 0x23 }, /* since 16.0 */
3096 { "State", 0x11, 0x24 }, /* since 16.0 */
3097 { "Country", 0x11, 0x25 }, /* since 16.0 */
3098 { "PostalCode", 0x11, 0x26 }, /* since 16.0 */
3099 { "Latitude", 0x11, 0x27 }, /* since 16.0 */
3100 { "Longitude", 0x11, 0x28 }, /* since 16.0 */
3101 { "Accuracy", 0x11, 0x29 }, /* since 16.0 */
3102 { "Altitude", 0x11, 0x2a }, /* since 16.0 */
3103 { "AltitudeAccuracy", 0x11, 0x2b }, /* since 16.0 */
3104 { "LocationUri", 0x11, 0x2c }, /* since 16.0 */
3105 { "InstanceId", 0x11, 0x2d }, /* since 16.0 */
3106
3107 /* Code Page: Settings (since v12.1 and r1.0) */
3108 { "Settings", 0x12, 0x05 }, /* since r1.0 */
3109 { "Status", 0x12, 0x06 }, /* since r1.0 */
3110 { "Get", 0x12, 0x07 }, /* since r1.0 */
3111 { "Set", 0x12, 0x08 }, /* since r1.0 */
3112 { "Oof", 0x12, 0x09 }, /* since r1.0 */
3113 { "OofState", 0x12, 0x0a }, /* since r1.0 */
3114 { "StartTime", 0x12, 0x0b }, /* since r1.0 */
3115 { "EndTime", 0x12, 0x0c }, /* since r1.0 */
3116 { "OofMessage", 0x12, 0x0d }, /* since r1.0 */
3117 { "AppliesToInternal", 0x12, 0x0e }, /* since r1.0 */
3118 { "AppliesToExternalKnown", 0x12, 0x0f }, /* since r1.0 */
3119 { "AppliesToExternalUnknown", 0x12, 0x10 }, /* since r1.0 */
3120 { "Enabled", 0x12, 0x11 }, /* since r1.0 */
3121 { "ReplyMessage", 0x12, 0x12 }, /* since r1.0 */
3122 { "BodyType", 0x12, 0x13 }, /* since r1.0 */
3123 { "DevicePassword", 0x12, 0x14 }, /* since r1.0 */
3124 { "Password", 0x12, 0x15 }, /* since r1.0 */
3125 { "DeviceInformation", 0x12, 0x16 }, /* since r1.0 */
3126 { "Model", 0x12, 0x17 }, /* since r1.0 */
3127 { "IMEI", 0x12, 0x18 }, /* since r1.0 */
3128 { "FriendlyName", 0x12, 0x19 }, /* since r1.0 */
3129 { "OS", 0x12, 0x1a }, /* since r1.0 */
3130 { "OSLanguage", 0x12, 0x1b }, /* since r1.0 */
3131 { "PhoneNumber", 0x12, 0x1c }, /* since r1.0 */
3132 { "UserInformation", 0x12, 0x1d }, /* since r1.0 */
3133 { "EmailAddresses", 0x12, 0x1e }, /* since r1.0 */
3134 { "SmtpAddress", 0x12, 0x1f }, /* since r1.0 */
3135 { "UserAgent", 0x12, 0x20 }, /* since r8.0? */
3136 { "EnableOutboundSMS", 0x12, 0x21 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
3137 { "MobileOperator", 0x12, 0x22 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
3138 { "PrimarySmtpAddress", 0x12, 0x23 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3139 { "Accounts", 0x12, 0x24 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3140 { "Account", 0x12, 0x25 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3141 { "AccountId", 0x12, 0x26 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3142 { "AccountName", 0x12, 0x27 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3143 { "UserDisplayName", 0x12, 0x28 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3144 { "SendDisabled", 0x12, 0x29 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3145 { "ihsManagementInformation", 0x12, 0x2b }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3146
3147 /* Code Page: DocumentLibrary (since v12.1 and r1.0) */
3148 { "LinkId", 0x13, 0x05 }, /* since r1.0 */
3149 { "DisplayName", 0x13, 0x06 }, /* since r1.0 */
3150 { "IsFolder", 0x13, 0x07 }, /* since r1.0 */
3151 { "CreationDate", 0x13, 0x08 }, /* since r1.0 */
3152 { "LastModifiedDate", 0x13, 0x09 }, /* since r1.0 */
3153 { "IsHidden", 0x13, 0x0a }, /* since r1.0 */
3154 { "ContentLength", 0x13, 0x0b }, /* since r1.0 */
3155 { "ContentType", 0x13, 0x0c }, /* since r1.0 */
3156
3157 /* Code Page: ItemOperations (since v12.1 and r1.0) */
3158 { "ItemOperations", 0x14, 0x05 }, /* since r1.0 */
3159 { "Fetch", 0x14, 0x06 }, /* since r1.0 */
3160 { "Store", 0x14, 0x07 }, /* since r1.0 */
3161 { "Options", 0x14, 0x08 }, /* since r1.0 */
3162 { "Range", 0x14, 0x09 }, /* since r1.0 */
3163 { "Total", 0x14, 0x0a }, /* since r1.0 */
3164 { "Properties", 0x14, 0x0b }, /* since r1.0 */
3165 { "Data", 0x14, 0x0c }, /* since r1.0 */
3166 { "Status", 0x14, 0x0d }, /* since r1.0 */
3167 { "Response", 0x14, 0x0e }, /* since r1.0 */
3168 { "Version", 0x14, 0x0f }, /* since r1.0 */
3169 { "Schema", 0x14, 0x10 }, /* since r1.0 */
3170 { "Part", 0x14, 0x11 }, /* since r1.0 */
3171 { "EmptyFolderContents", 0x14, 0x12 }, /* since r1.0 */
3172 { "DeleteSubFolders", 0x14, 0x13 }, /* since r1.0 */
3173 { "UserName", 0x14, 0x14 }, /* since r8.0? */
3174 { "Password", 0x14, 0x15 }, /* since r8.0? */
3175 { "Move", 0x14, 0x16 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
3176 { "DstFldId", 0x14, 0x17 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
3177 { "ConversationId", 0x14, 0x18, WBXML_TAG_OPTION_BINARY }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
3178 { "MoveAlways", 0x14, 0x19 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
3179
3180 /* Code Page: ComposeMail (since v14.0 and r8.0?) */
3181 /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
3182 { "SendMail", 0x15, 0x05 }, /* since r8.0? */
3183 { "SmartForward", 0x15, 0x06 }, /* since r8.0? */
3184 { "SmartReply", 0x15, 0x07 }, /* since r8.0? */
3185 { "SaveInSentItems", 0x15, 0x08 }, /* since r8.0? */
3186 { "ReplaceMime", 0x15, 0x09 }, /* since r8.0? */
3187 { "Source", 0x15, 0x0b }, /* since r8.0? */
3188 { "FolderId", 0x15, 0x0c }, /* since r8.0? */
3189 { "ItemId", 0x15, 0x0d }, /* since r8.0? */
3190 { "LongId", 0x15, 0x0e }, /* since r8.0? */
3191 { "InstanceId", 0x15, 0x0f }, /* since r8.0? */
3192 { "MIME", 0x15, 0x10, WBXML_TAG_OPTION_BINARY }, /* since r8.0? */
3193 { "ClientId", 0x15, 0x11 }, /* since r8.0? */
3194 { "Status", 0x15, 0x12 }, /* since r8.0? */
3195 { "AccountId", 0x15, 0x13 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3196 { "Forwardees", 0x15, 0x15 }, /* since 16.0 */
3197 { "Forwardee", 0x15, 0x16 }, /* since 16.0 */
3198 { "ForwardeeName", 0x15, 0x17 }, /* since 16.0 */
3199 { "ForwardeeEmail", 0x15, 0x18 }, /* since 16.0 */
3200
3201 /* Code Page: Email2 (since v14.0 and r8.0?) */
3202 /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
3203 { "UmCallerID", 0x16, 0x05 }, /* since r8.0? */
3204 { "UmUserNotes", 0x16, 0x06 }, /* since r8.0? */
3205 { "UmAttDuration", 0x16, 0x07 }, /* since r8.0? */
3206 { "UmAttOrder", 0x16, 0x08 }, /* since r8.0? */
3207 { "ConversationId", 0x16, 0x09, WBXML_TAG_OPTION_BINARY }, /* since r8.0? */
3208 { "ConversationIndex", 0x16, 0x0a, WBXML_TAG_OPTION_BINARY }, /* since r8.0? */
3209 { "LastVerbExecuted", 0x16, 0x0b }, /* since r8.0? */
3210 { "LastVerbExecutionTime", 0x16, 0x0c }, /* since r8.0? */
3211 { "ReceivedAsBcc", 0x16, 0x0d }, /* since r8.0? */
3212 { "Sender", 0x16, 0x0e }, /* since r8.0? */
3213 { "CalendarType", 0x16, 0x0f }, /* since r8.0? */
3214 { "IsLeapMonth", 0x16, 0x10 }, /* since r8.0? */
3215 { "AccountId", 0x16, 0x11 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3216 { "FirstDayOfWeek", 0x16, 0x12 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3217 { "MeetingMessageType", 0x16, 0x13 }, /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3218 { "IsDraft", 0x16, 0x15 }, /* since 16.0 */
3219 { "Bcc", 0x16, 0x16 }, /* since 16.0 */
3220 { "Send", 0x16, 0x17 }, /* since 16.0 */
3221
3222 /* Code Page: Notes (since v14.0 and r8.0?) */
3223 /* r8.0: not supported when the MS-ASProtocolVersion header is set to 12.1 */
3224 { "Subject", 0x17, 0x05 }, /* since r8.0? */
3225 { "MessageClass", 0x17, 0x06 }, /* since r8.0? */
3226 { "LastModifiedDate", 0x17, 0x07 }, /* since r8.0? */
3227 { "Categories", 0x17, 0x08 }, /* since r8.0? */
3228 { "Category", 0x17, 0x09 }, /* since r8.0? */
3229
3230 /* Code Page: RightsManagement (since r8.0?) */
3231 /* r8.0: not supported when the MS-ASProtocolVersion header is set to 14.0 or 12.1 */
3232 { "RightsManagementSupport",0x18, 0x05 }, /* since r8.0? */
3233 { "RightsManagementTemplates",0x18, 0x06 }, /* since r8.0? */
3234 { "RightsManagementTemplate",0x18, 0x07 }, /* since r8.0? */
3235 { "RightsManagementLicense",0x18, 0x08 }, /* since r8.0? */
3236 { "EditAllowed", 0x18, 0x09 }, /* since r8.0? */
3237 { "ReplyAllowed", 0x18, 0x0a }, /* since r8.0? */
3238 { "ReplyAllAllowed", 0x18, 0x0b }, /* since r8.0? */
3239 { "ForwardAllowed", 0x18, 0x0c }, /* since r8.0? */
3240 { "ModifyRecipientsAllowed",0x18, 0x0d }, /* since r8.0? */
3241 { "ExtractAllowed", 0x18, 0x0e }, /* since r8.0? */
3242 { "PrintAllowed", 0x18, 0x0f }, /* since r8.0? */
3243 { "ExportAllowed", 0x18, 0x10 }, /* since r8.0? */
3244 { "ProgrammaticAccessAllowed",0x18, 0x11 }, /* since r8.0? */
3245 { "RMOwner", 0x18, 0x12 }, /* since r8.0? */
3246 { "ContentExpiryDate", 0x18, 0x13 }, /* since r8.0? */
3247 { "TemplateID", 0x18, 0x14 }, /* since r8.0? */
3248 { "TemplateName", 0x18, 0x15 }, /* since r8.0? */
3249 { "TemplateDescription", 0x18, 0x16 }, /* since r8.0? */
3250 { "ContentOwner", 0x18, 0x17 }, /* since r8.0? */
3251 { "RemoveRightsManagementDistribution",0x18, 0x18 }, /* since r8.0? */
3252
3253 { NULL, 0x00, 0x00 }
3254 };
3255
3256 const WBXMLAttrEntry sv_airsync_attr_table[] = {
3257 { "Version", "1.1", 0x03, 0x05 }, /* not defined in r8.0 but in r1.0, supported by v2.5, v12.0 and v12.1 */
3258 { NULL, NULL, 0x00, 0x00 }
3259 };
3260
3261 /* NOTE:
3262 * These namespace names differ from the Microsoft-assigned namespaces. The
3263 * reason for the difference is that the Microsoft-assigned names are not
3264 * valid URI's and hence produce warning messages when processed by some
3265 * libraries. The mapping is as follows:
3266 *
3267 * Microsoft Ours
3268 * --------- ----
3269 * AirSync: http://synce.org/formats/airsync_wm5/airsync
3270 * Contacts: http://synce.org/formats/airsync_wm5/contacts
3271 * Email: http://synce.org/formats/airsync_wm5/email
3272 * AirNotify: http://synce.org/formats/airsync_wm5/airnotify
3273 * Calendar: http://synce.org/formats/airsync_wm5/calendar
3274 * Move: http://synce.org/formats/airsync_wm5/move
3275 * ItemEstimate: http://synce.org/formats/airsync_wm5/itemestimate
3276 * FolderHierarchy: http://synce.org/formats/airsync_wm5/folderhierarchy
3277 * MeetingResponse: http://synce.org/formats/airsync_wm5/meetingresponse
3278 * Tasks: http://synce.org/formats/airsync_wm5/tasks
3279 * ResolveRecipients: http://synce.org/formats/airsync_wm5/resolverecipients
3280 * ValidateCert: http://synce.org/formats/airsync_wm5/validatecert
3281 * Contacts2: http://synce.org/formats/airsync_wm5/contacts2
3282 * Ping: http://synce.org/formats/airsync_wm5/ping
3283 * Provision: http://synce.org/formats/airsync_wm5/provision
3284 * Search: http://synce.org/formats/airsync_wm5/search
3285 * Gal: http://synce.org/formats/airsync_wm5/gal
3286 * AirSyncBase: http://synce.org/formats/airsync_wm5/airsyncbase
3287 * Settings: http://synce.org/formats/airsync_wm5/settings
3288 * DocumentLibrary: http://synce.org/formats/airsync_wm5/documentlibrary
3289 * ItemOperations: http://synce.org/formats/airsync_wm5/itemoperations
3290 * ComposeMail: http://synce.org/formats/airsync_wm5/composemail
3291 * Email2: http://synce.org/formats/airsync_wm5/email2
3292 * Notes: http://synce.org/formats/airsync_wm5/notes
3293 * RightsManagement: http://synce.org/formats/airsync_wm5/rightsmanagement
3294 *
3295 */
3296 const WBXMLNameSpaceEntry sv_airsync_ns_table[] = {
3297 { "http://synce.org/formats/airsync_wm5/airsync", 0x00 }, /**< Code Page 0 */
3298 { "http://synce.org/formats/airsync_wm5/contacts", 0x01 }, /**< Code Page 1 */
3299 { "http://synce.org/formats/airsync_wm5/email", 0x02 }, /**< Code Page 2 */
3300 { "http://synce.org/formats/airsync_wm5/airnotify", 0x03 }, /**< Code Page 3 */
3301 { "http://synce.org/formats/airsync_wm5/calendar", 0x04 }, /**< Code Page 4 */
3302 { "http://synce.org/formats/airsync_wm5/move", 0x05 }, /**< Code Page 5 */
3303 { "http://synce.org/formats/airsync_wm5/itemestimate", 0x06 }, /**< Code Page 6 */
3304 { "http://synce.org/formats/airsync_wm5/folderhierarchy", 0x07 }, /**< Code Page 7 */
3305 { "http://synce.org/formats/airsync_wm5/meetingresponse", 0x08 }, /**< Code Page 8 */
3306 { "http://synce.org/formats/airsync_wm5/tasks", 0x09 }, /**< Code Page 9 */
3307 { "http://synce.org/formats/airsync_wm5/resolverecipients", 0x0a }, /**< Code Page 10 */
3308 { "http://synce.org/formats/airsync_wm5/validatecert", 0x0b }, /**< Code Page 11 */
3309 { "http://synce.org/formats/airsync_wm5/contacts2", 0x0c }, /**< Code Page 12 */
3310 { "http://synce.org/formats/airsync_wm5/ping", 0x0d }, /**< Code Page 13 */
3311 { "http://synce.org/formats/airsync_wm5/provision", 0x0e }, /**< Code Page 14 */
3312 { "http://synce.org/formats/airsync_wm5/search", 0x0f }, /**< Code Page 15 */
3313 { "http://synce.org/formats/airsync_wm5/gal", 0x10 }, /**< Code Page 16 */
3314 { "http://synce.org/formats/airsync_wm5/airsyncbase", 0x11 }, /**< Code Page 17 */
3315 { "http://synce.org/formats/airsync_wm5/settings", 0x12 }, /**< Code Page 18 */
3316 { "http://synce.org/formats/airsync_wm5/documentlibrary", 0x13 }, /**< Code Page 19 */
3317 { "http://synce.org/formats/airsync_wm5/itemoperations", 0x14 }, /**< Code Page 20 */
3318 { "http://synce.org/formats/airsync_wm5/composemail", 0x15 }, /**< Code Page 21 */
3319 { "http://synce.org/formats/airsync_wm5/email2", 0x16 }, /**< Code Page 22 */
3320 { "http://synce.org/formats/airsync_wm5/notes", 0x17 }, /**< Code Page 23 */
3321 { "http://synce.org/formats/airsync_wm5/rightsmanagement", 0x18 }, /**< Code Page 24 */
3322 { NULL, 0x00 }
3323 };
3324
3325 const WBXMLNameSpaceEntry sv_activesync_ns_table[] = {
3326 { "AirSync:", 0x00 }, /**< Code Page 0 */
3327 { "Contacts:", 0x01 }, /**< Code Page 1 */
3328 { "Email:", 0x02 }, /**< Code Page 2 */
3329 { "AirNotify:", 0x03 }, /**< Code Page 3 */
3330 { "Calendar:", 0x04 }, /**< Code Page 4 */
3331 { "Move:", 0x05 }, /**< Code Page 5 */
3332 { "GetItemEstimate:", 0x06 }, /**< Code Page 6 */
3333 { "FolderHierarchy:", 0x07 }, /**< Code Page 7 */
3334 { "MeetingResponse:", 0x08 }, /**< Code Page 8 */
3335 { "Tasks:", 0x09 }, /**< Code Page 9 */
3336 { "ResolveRecipients:", 0x0a }, /**< Code Page 10 */
3337 { "ValidateCert:", 0x0b }, /**< Code Page 11 */
3338 { "Contacts2:", 0x0c }, /**< Code Page 12 */
3339 { "Ping:", 0x0d }, /**< Code Page 13 */
3340 { "Provision:", 0x0e }, /**< Code Page 14 */
3341 { "Search:", 0x0f }, /**< Code Page 15 */
3342 { "Gal:", 0x10 }, /**< Code Page 16 */
3343 { "AirSyncBase:", 0x11 }, /**< Code Page 17 */
3344 { "Settings:", 0x12 }, /**< Code Page 18 */
3345 { "DocumentLibrary:", 0x13 }, /**< Code Page 19 */
3346 { "ItemOperations:", 0x14 }, /**< Code Page 20 */
3347 { "ComposeMail:", 0x15 }, /**< Code Page 21 */
3348 { "Email2:", 0x16 }, /**< Code Page 22 */
3349 { "Notes:", 0x17 }, /**< Code Page 23 */
3350 { "RightsManagement:", 0x18 }, /**< Code Page 24 */
3351 { NULL, 0x00 }
3352 };
3353
3354 #endif /* WBXML_SUPPORT_AIRSYNC */
3355
3356
3357 #if defined( WBXML_SUPPORT_CONML )
3358
3359 /*************************************************
3360 * Nokia ConML
3361 *
3362 * This is no official markup language from Nokia.
3363 * It is used for example by Nokia PC Suite to install software.
3364 */
3365
3366 const WBXMLTagEntry sv_conml_tag_table[] = {
3367 /* Code Page: "ConML" */
3368 { "All", 0x00, 0x05 },
3369 { "Application", 0x00, 0x06 },
3370 { "Applications", 0x00, 0x07 },
3371 { "Unknown_0x08", 0x00, 0x08 },
3372 { "Cancel", 0x00, 0x09 },
3373 { "Complete", 0x00, 0x0a },
3374 { "ConML", 0x00, 0x0b },
3375 { "Data", 0x00, 0x0c },
3376 /* Candidates from SyncML:
3377 DataType *
3378 DefaultValue
3379 Delete
3380 Description *
3381 DevID *
3382 */
3383 { "Unknown_0x0d", 0x00, 0x0d },
3384 { "Unknown_0x0e", 0x00, 0x0e },
3385 { "Unknown_0x0f", 0x00, 0x0f },
3386 { "DeviceInfo", 0x00, 0x10 },
3387 /* Candidates from SyncML:
3388 DevTyp
3389 */
3390 { "Unknown_0x11", 0x00, 0x11 },
3391 { "Drives", 0x00, 0x12 },
3392 { "Execute", 0x00, 0x13 },
3393 /* Candidates from SyncML:
3394 Final
3395 */
3396 { "Unknown_0x14", 0x00, 0x14 },
3397 { "Unknown_0x15", 0x00, 0x15 },
3398 { "Unknown_0x16", 0x00, 0x16 },
3399 { "GetDataSize", 0x00, 0x17 },
3400 { "GetStatus", 0x00, 0x18 },
3401 { "HasFiles", 0x00, 0x19 },
3402 { "ID", 0x00, 0x1a },
3403 { "IncType", 0x00, 0x1b },
3404 { "Install", 0x00, 0x1c },
3405 { "InstParams", 0x00, 0x1d },
3406 { "ListInstalledApps", 0x00, 0x1f },
3407 /* Candidates from SyncML:
3408 MaxMsgSize
3409 */
3410 { "Unknown_0x20", 0x00, 0x20 },
3411 { "MaxObjectSize", 0x00, 0x21 },
3412 { "Modified", 0x00, 0x22 },
3413 { "MoreData", 0x00, 0x23 },
3414 /* The content of the element Name is originally encoded as opaque data.
3415 The mobiles accepts the element data also as a normal string.
3416 Therefore the data will be encoded as a string.
3417 If there is a requirement for the original behavior
3418 then it is necessary to add some code to wbxml_encoder.c.
3419 */
3420 { "Name", 0x00, 0x24 },
3421 { "PackageInfo", 0x00, 0x25 },
3422 { "Param", 0x00, 0x26 },
3423 { "PartialType", 0x00, 0x27 },
3424 { "Progress", 0x00, 0x28 },
3425 { "Reboot", 0x00, 0x29 },
3426 /* Candidates from SyncML:
3427 Replace
3428 RespURI
3429 */
3430 { "Unknown_0x2a", 0x00, 0x2a },
3431 { "Unknown_0x2b", 0x00, 0x2b },
3432 { "Results", 0x00, 0x2c },
3433 /* Candidates from SyncML:
3434 Search
3435 Sequence
3436 SessionID
3437 SftDel
3438 Source
3439 SourceRef
3440 */
3441 { "Unknown_0x2d", 0x00, 0x2d },
3442 { "Unknown_0x2e", 0x00, 0x2e },
3443 { "Unknown_0x2f", 0x00, 0x2f },
3444 { "Unknown_0x30", 0x00, 0x30 },
3445 { "Status", 0x00, 0x31 },
3446 /* Candidates from SyncML:
3447 Target
3448 TargetRef
3449 */
3450 { "Unknown_0x32", 0x00, 0x32 },
3451 { "Unknown_0x33", 0x00, 0x33 },
3452 { "Unknown_0x34", 0x00, 0x34 },
3453 { "Task", 0x00, 0x35 },
3454 /* Candidates from SyncML:
3455 Time
3456 TStamp
3457 Title
3458 */
3459 { "Unknown_0x36", 0x00, 0x36 },
3460 { "Type", 0x00, 0x37 },
3461 { "UID", 0x00, 0x38 },
3462 { "UnInstall", 0x00, 0x39 },
3463 /* Candidates from SyncML:
3464 ValEnum
3465 */
3466 { "Unknown_0x3a", 0x00, 0x3a },
3467 { "Unknown_0x3b", 0x00, 0x3b },
3468 { "Value", 0x00, 0x3c },
3469 { "Version", 0x00, 0x3d },
3470 { NULL, 0x00, 0x00 }
3471 };
3472
3473 #endif /* WBXML_SUPPORT_CONML */
3474
3475
3476 /******************************
3477 * Main Table
3478 */
3479
3480 const WBXMLLangEntry sv_table_entry[] = {
3481 #if defined( WBXML_SUPPORT_WML )
3482 #ifdef WBXML_TABLES_SEPARATE_WML_VERSIONS
3483 { WBXML_LANG_WML10, &sv_wml10_public_id, sv_wml10_tag_table, NULL, sv_wml10_attr_table, sv_wml10_attr_value_table, NULL },
3484 { WBXML_LANG_WML11, &sv_wml11_public_id, sv_wml11_tag_table, NULL, sv_wml11_attr_table, sv_wml11_attr_value_table, NULL },
3485 { WBXML_LANG_WML12, &sv_wml12_public_id, sv_wml12_tag_table, NULL, sv_wml12_attr_table, sv_wml12_attr_value_table, NULL },
3486 #else /* WBXML_TABLES_SEPARATE_WML_VERSIONS */
3487 { WBXML_LANG_WML10, &sv_wml10_public_id, sv_wml13_tag_table, NULL, sv_wml13_attr_table, sv_wml13_attr_value_table, NULL },
3488 { WBXML_LANG_WML11, &sv_wml11_public_id, sv_wml13_tag_table, NULL, sv_wml13_attr_table, sv_wml13_attr_value_table, NULL },
3489 { WBXML_LANG_WML12, &sv_wml12_public_id, sv_wml13_tag_table, NULL, sv_wml13_attr_table, sv_wml13_attr_value_table, NULL },
3490 #endif /* WBXML_TABLES_SEPARATE_WML_VERSIONS */
3491 { WBXML_LANG_WML13, &sv_wml13_public_id, sv_wml13_tag_table, NULL, sv_wml13_attr_table, sv_wml13_attr_value_table, NULL },
3492 #endif /* WBXML_SUPPORT_WML */
3493
3494 #if defined( WBXML_SUPPORT_WTA )
3495 { WBXML_LANG_WTA10, &sv_wta10_public_id, sv_wta10_tag_table, NULL, sv_wta10_attr_table, NULL, NULL },
3496 { WBXML_LANG_WTAWML12, &sv_wtawml12_public_id, sv_wtawml12_tag_table, NULL, sv_wtawml12_attr_table, sv_wtawml12_attr_value_table, NULL },
3497 { WBXML_LANG_CHANNEL11, &sv_channel11_public_id, sv_channel11_tag_table, NULL, sv_channel11_attr_table, NULL, NULL },
3498 { WBXML_LANG_CHANNEL12, &sv_channel12_public_id, sv_channel12_tag_table, NULL, sv_channel12_attr_table, NULL, NULL },
3499 #endif /* WBXML_SUPPORT_WTA */
3500
3501 #if defined( WBXML_SUPPORT_SI )
3502 { WBXML_LANG_SI10, &sv_si10_public_id, sv_si10_tag_table, NULL, sv_si10_attr_table, sv_si10_attr_value_table, NULL },
3503 #endif /* WBXML_SUPPORT_SI */
3504
3505 #if defined( WBXML_SUPPORT_SL )
3506 { WBXML_LANG_SL10, &sv_sl10_public_id, sv_sl10_tag_table, NULL, sv_sl10_attr_table, sv_sl10_attr_value_table, NULL },
3507 #endif /* WBXML_SUPPORT_SL */
3508
3509 #if defined( WBXML_SUPPORT_CO )
3510 { WBXML_LANG_CO10, &sv_co10_public_id, sv_co10_tag_table, NULL, sv_co10_attr_table, sv_co10_attr_value_table, NULL },
3511 #endif /* WBXML_SUPPORT_CO */
3512
3513 #if defined( WBXML_SUPPORT_PROV )
3514 { WBXML_LANG_PROV10, &sv_prov10_public_id, sv_prov10_tag_table, NULL, sv_prov10_attr_table, sv_prov10_attr_value_table, NULL },
3515 #endif /* WBXML_SUPPORT_PROV */
3516
3517 #if defined( WBXML_SUPPORT_EMN )
3518 { WBXML_LANG_EMN10, &sv_emn10_public_id, sv_emn10_tag_table, NULL, sv_emn10_attr_table, sv_emn10_attr_value_table, NULL },
3519 #endif /* WBXML_SUPPORT_EMN */
3520
3521 #if defined( WBXML_SUPPORT_DRMREL )
3522 { WBXML_LANG_DRMREL10, &sv_drmrel10_public_id, sv_drmrel10_tag_table, NULL, sv_drmrel10_attr_table, sv_drmrel10_attr_value_table, NULL },
3523 #endif /* WBXML_SUPPORT_DRMREL */
3524
3525 #if defined( WBXML_SUPPORT_OTA_SETTINGS )
3526 { WBXML_LANG_OTA_SETTINGS, &sv_ota_settings_public_id, sv_ota_settings_tag_table, NULL, sv_ota_settings_attr_table, NULL, NULL },
3527 #endif /* WBXML_SUPPORT_OTA_SETTINGS */
3528
3529 #if defined( WBXML_SUPPORT_SYNCML )
3530 /* SyncML 1.2 */
3531 { WBXML_LANG_SYNCML_SYNCML12, &sv_syncml_syncml12_public_id, sv_syncml_syncml12_tag_table, sv_syncml_syncml12_ns_table, NULL, NULL, NULL },
3532 { WBXML_LANG_SYNCML_DEVINF12, &sv_syncml_devinf12_public_id, sv_syncml_devinf12_tag_table, sv_syncml_devinf12_ns_table, NULL, NULL, NULL },
3533 { WBXML_LANG_SYNCML_METINF12, &sv_syncml_metinf12_public_id, sv_syncml_metinf12_tag_table, NULL, NULL, NULL, NULL },
3534 { WBXML_LANG_SYNCML_DMDDF12, &sv_syncml_dmddf12_public_id, sv_syncml_dmddf12_tag_table, sv_syncml_dmddf12_ns_table, NULL, NULL, NULL },
3535
3536 /* SyncML 1.1 */
3537 { WBXML_LANG_SYNCML_SYNCML11, &sv_syncml_syncml11_public_id, sv_syncml_syncml11_tag_table, sv_syncml_syncml11_ns_table, NULL, NULL, NULL },
3538 { WBXML_LANG_SYNCML_DEVINF11, &sv_syncml_devinf11_public_id, sv_syncml_devinf11_tag_table, sv_syncml_devinf11_ns_table, NULL, NULL, NULL },
3539 { WBXML_LANG_SYNCML_METINF11, &sv_syncml_metinf11_public_id, sv_syncml_metinf11_tag_table, NULL, NULL, NULL, NULL },
3540
3541 /** @todo Check if Tag Tables are exactly with SyncML 1.0 */
3542 { WBXML_LANG_SYNCML_SYNCML10, &sv_syncml_syncml10_public_id, sv_syncml_syncml11_tag_table, sv_syncml_syncml10_ns_table, NULL, NULL, NULL },
3543 { WBXML_LANG_SYNCML_DEVINF10, &sv_syncml_devinf10_public_id, sv_syncml_devinf11_tag_table, sv_syncml_devinf11_ns_table, NULL, NULL, NULL },
3544 #endif /* WBXML_SUPPORT_SYNCML */
3545
3546 #if defined( WBXML_SUPPORT_WV )
3547 { WBXML_LANG_WV_CSP11, &sv_wv_csp11_public_id, sv_wv_csp_tag_table, NULL, sv_wv_csp_attr_table, NULL, sv_wv_csp_ext_table },
3548 { WBXML_LANG_WV_CSP12, &sv_wv_csp12_public_id, sv_wv_csp_tag_table, NULL, sv_wv_csp_attr_table, NULL, sv_wv_csp_ext_table },
3549 #endif /* WBXML_SUPPORT_WV */
3550
3551 #if defined( WBXML_SUPPORT_AIRSYNC )
3552 { WBXML_LANG_AIRSYNC, &sv_airsync_public_id, sv_airsync_tag_table, sv_airsync_ns_table, sv_airsync_attr_table, NULL, NULL },
3553 { WBXML_LANG_ACTIVESYNC, &sv_activesync_public_id, sv_airsync_tag_table, sv_activesync_ns_table, sv_airsync_attr_table, NULL, NULL },
3554 #endif /* WBXML_SUPPORT_AIRSYNC */
3555
3556 #if defined( WBXML_SUPPORT_CONML )
3557 { WBXML_LANG_CONML, &sv_conml_public_id, sv_conml_tag_table, NULL, NULL, NULL, NULL },
3558 #endif /* WBXML_SUPPORT_CONML */
3559
3560 { WBXML_LANG_UNKNOWN, NULL, NULL, NULL, NULL, NULL, NULL }
3561 };
3562
3563
3564 /******************************
3565 * Public Functions
3566 */
3567
3568 /* Exported function to return pointer to WBXML Languages Main Table */
wbxml_tables_get_main(void)3569 WBXML_DECLARE(const WBXMLLangEntry *) wbxml_tables_get_main(void)
3570 {
3571 return sv_table_entry;
3572 }
3573
3574
wbxml_tables_get_table(WBXMLLanguage lang)3575 WBXML_DECLARE(const WBXMLLangEntry *) wbxml_tables_get_table(WBXMLLanguage lang)
3576 {
3577 const WBXMLLangEntry *main_table = NULL;
3578 WB_ULONG index = 0;
3579
3580 /* Get main tables array*/
3581 if ((lang == WBXML_LANG_UNKNOWN) || ((main_table = wbxml_tables_get_main()) == NULL))
3582 return NULL;
3583
3584 /* Search language table */
3585 while (main_table[index].langID != WBXML_LANG_UNKNOWN) {
3586 if (main_table[index].langID == lang)
3587 return &main_table[index];
3588 index++;
3589 }
3590
3591 return NULL;
3592 }
3593
3594
wbxml_tables_search_table(const WBXMLLangEntry * main_table,const WB_UTINY * public_id,const WB_UTINY * system_id,const WB_UTINY * root)3595 WBXML_DECLARE(const WBXMLLangEntry *) wbxml_tables_search_table(const WBXMLLangEntry *main_table,
3596 const WB_UTINY *public_id,
3597 const WB_UTINY *system_id,
3598 const WB_UTINY *root)
3599 {
3600 WB_ULONG index;
3601 const WB_UTINY *sep = NULL;
3602
3603 if (main_table == NULL)
3604 return NULL;
3605
3606 /* Search by XML Public ID */
3607 if (public_id != NULL) {
3608 index = 0;
3609
3610 while (main_table[index].publicID != NULL) {
3611 if (main_table[index].publicID->xmlPublicID && WBXML_STRCASECMP(main_table[index].publicID->xmlPublicID, public_id) == 0)
3612 return &main_table[index];
3613 index++;
3614 }
3615 }
3616
3617 /* Search by XML System ID */
3618 if (system_id != NULL) {
3619 index = 0;
3620
3621 while (main_table[index].publicID != NULL) {
3622 if (main_table[index].publicID->xmlDTD && WBXML_STRCMP(main_table[index].publicID->xmlDTD, system_id) == 0)
3623 return &main_table[index];
3624 index++;
3625 }
3626 }
3627
3628 /* Search by XML Root Element */
3629 if (root != NULL) {
3630 index = 0;
3631
3632 /* table scan for matching namespace element */
3633 sep = (WB_UTINY *)strrchr((const WB_TINY *) root, WBXML_NAMESPACE_SEPARATOR);
3634 if (sep != NULL) {
3635 /* There is a namespace (from root to sep). */
3636 while (main_table[index].publicID != NULL) {
3637 /* It is only possible to evaluate the first entry in the table
3638 * because the second code page has often no unique name space name.
3639 * Example: SyncML Meta Information => syncml:metinf
3640 */
3641 if (main_table[index].nsTable != NULL &&
3642 main_table[index].nsTable[0].xmlNameSpace &&
3643 WBXML_STRNCASECMP(main_table[index].nsTable[0].xmlNameSpace, root, WBXML_STRLEN(main_table[index].nsTable[0].xmlNameSpace)) == 0)
3644 return &main_table[index];
3645 index++;
3646 }
3647 }
3648
3649 /* table scan for matching root element */
3650 while (main_table[index].publicID != NULL) {
3651 if (main_table[index].publicID->xmlRootElt && WBXML_STRCMP(main_table[index].publicID->xmlRootElt, root) == 0)
3652 return &main_table[index];
3653 index++;
3654 }
3655 }
3656
3657 return NULL;
3658 }
3659
3660
wbxml_tables_get_wbxml_publicid(const WBXMLLangEntry * main_table,WBXMLLanguage lang_id)3661 WBXML_DECLARE(WB_ULONG) wbxml_tables_get_wbxml_publicid(const WBXMLLangEntry *main_table, WBXMLLanguage lang_id)
3662 {
3663 WB_ULONG i = 0;
3664
3665 if (main_table == NULL)
3666 return WBXML_PUBLIC_ID_UNKNOWN;
3667
3668 while (main_table[i].langID != WBXML_LANG_UNKNOWN) {
3669 if (main_table[i].langID == lang_id) {
3670 if (main_table[i].publicID != NULL)
3671 return main_table[i].publicID->wbxmlPublicID;
3672 else
3673 return WBXML_PUBLIC_ID_UNKNOWN;
3674 }
3675 i++;
3676 }
3677
3678 return WBXML_PUBLIC_ID_UNKNOWN;
3679 }
3680
3681
wbxml_tables_get_tag_from_xml(const WBXMLLangEntry * lang_table,const int cur_code_page,const WB_UTINY * xml_name)3682 WBXML_DECLARE(const WBXMLTagEntry *) wbxml_tables_get_tag_from_xml(const WBXMLLangEntry *lang_table,
3683 const int cur_code_page,
3684 const WB_UTINY *xml_name)
3685 {
3686 WB_ULONG i;
3687 WB_BOOL found_current = FALSE;
3688
3689 if ((lang_table == NULL) || (lang_table->tagTable == NULL) || (xml_name == NULL))
3690 return NULL;
3691
3692 /* First off, try to find it in the current code page, if provided */
3693 for (i = 0; cur_code_page >= 0 && lang_table->tagTable[i].xmlName != NULL; i++) {
3694 const WBXMLTagEntry *entry = &lang_table->tagTable[i];
3695
3696 if (entry->wbxmlCodePage == cur_code_page) {
3697 found_current = TRUE;
3698
3699 if (WBXML_STRCMP(entry->xmlName, xml_name) == 0)
3700 return entry;
3701 } else {
3702 if (found_current)
3703 break;
3704 }
3705 }
3706
3707 /* Then try all others */
3708 for (i = 0; lang_table->tagTable[i].xmlName != NULL; i++) {
3709 const WBXMLTagEntry *entry = &lang_table->tagTable[i];
3710
3711 /* We've already searched the current code page */
3712 if (cur_code_page >= 0 && entry->wbxmlCodePage == cur_code_page)
3713 continue;
3714
3715 if (WBXML_STRCMP(entry->xmlName, xml_name) == 0)
3716 return entry;
3717 }
3718
3719 return NULL;
3720 }
3721
3722
wbxml_tables_get_attr_from_xml(const WBXMLLangEntry * lang_table,WB_UTINY * xml_name,WB_UTINY * xml_value,WB_UTINY ** value_left)3723 WBXML_DECLARE(const WBXMLAttrEntry *) wbxml_tables_get_attr_from_xml(const WBXMLLangEntry *lang_table,
3724 WB_UTINY *xml_name,
3725 WB_UTINY *xml_value,
3726 WB_UTINY **value_left)
3727 {
3728 WB_ULONG i = 0;
3729 WB_ULONG found_index = 0, found_comp = 0;
3730 WB_BOOL found = FALSE;
3731
3732 if ((lang_table == NULL) || (lang_table->attrTable == NULL) || (xml_name == NULL))
3733 return NULL;
3734
3735 if (value_left != NULL)
3736 *value_left = xml_value;
3737
3738 /* Iterate in Attribute Table */
3739 while (lang_table->attrTable[i].xmlName != NULL) {
3740 /* Search for Attribute Name */
3741 if (WBXML_STRCMP(lang_table->attrTable[i].xmlName, xml_name) == 0)
3742 {
3743 if (lang_table->attrTable[i].xmlValue == NULL) {
3744 /* This is the token with a NULL Attribute Value */
3745 if (xml_value == NULL) {
3746 /* Well, we got it */
3747 return &(lang_table->attrTable[i]);
3748 }
3749 else {
3750 if (!found) {
3751 /* We haven't found yet a better Attribute Token */
3752 found = TRUE;
3753 found_index = i;
3754 }
3755
3756 /* Else: We already have found a better Attribute Token, so let's forget this one */
3757 }
3758 }
3759 else {
3760 /* Check the Attribute Value */
3761 if (xml_value != NULL)
3762 {
3763 if (WBXML_STRCMP(lang_table->attrTable[i].xmlValue, xml_value) == 0)
3764 {
3765 /* We have found the EXACT Attribute Name / Value pair we are searching, well done boy */
3766 if (value_left != NULL)
3767 *value_left = NULL;
3768
3769 return &(lang_table->attrTable[i]);
3770 }
3771 else {
3772 if ((WBXML_STRLEN(lang_table->attrTable[i].xmlValue) < WBXML_STRLEN(xml_value)) &&
3773 (found_comp < WBXML_STRLEN(lang_table->attrTable[i].xmlValue)) &&
3774 (WBXML_STRNCMP(lang_table->attrTable[i].xmlValue, xml_value, WBXML_STRLEN(lang_table->attrTable[i].xmlValue)) == 0))
3775 {
3776 /* We have found a better Attribute Value */
3777 found = TRUE;
3778 found_index = i;
3779 found_comp = WBXML_STRLEN(lang_table->attrTable[i].xmlValue);
3780 }
3781 }
3782 }
3783
3784 /* Else: We are searching for the Attribute Token with a NULL Attribute Value associated, so forget this one */
3785 }
3786 }
3787 i++;
3788 }
3789
3790 /* Attribute Name / Value pair not found, but an entry with this Attribute Name,
3791 * and (maybe) start of this Attribute Value was found */
3792 if (found) {
3793 if (value_left != NULL)
3794 *value_left = xml_value + found_comp;
3795
3796 return &(lang_table->attrTable[found_index]);
3797 }
3798
3799 /* Attribute Name NOT found */
3800 return NULL;
3801 }
3802
3803
wbxml_tables_get_ext_from_xml(const WBXMLLangEntry * lang_table,WB_UTINY * xml_value)3804 WBXML_DECLARE(const WBXMLExtValueEntry *) wbxml_tables_get_ext_from_xml(const WBXMLLangEntry *lang_table,
3805 WB_UTINY *xml_value)
3806 {
3807 WB_ULONG i = 0;
3808
3809 if ((lang_table == NULL) || (lang_table->extValueTable == NULL) || (xml_value == NULL))
3810 return NULL;
3811
3812 while (lang_table->extValueTable[i].xmlName != NULL) {
3813 if (WBXML_STRCMP(lang_table->extValueTable[i].xmlName, xml_value) == 0)
3814 return &(lang_table->extValueTable[i]);
3815 i++;
3816 }
3817
3818 return NULL;
3819 }
3820
3821
wbxml_tables_contains_attr_value_from_xml(const WBXMLLangEntry * lang_table,WB_UTINY * xml_value)3822 WBXML_DECLARE(WB_BOOL) wbxml_tables_contains_attr_value_from_xml(const WBXMLLangEntry *lang_table,
3823 WB_UTINY *xml_value)
3824 {
3825 WB_ULONG i = 0;
3826
3827 if ((lang_table == NULL) || (lang_table->attrValueTable == NULL) || (xml_value == NULL))
3828 return FALSE;
3829
3830 while (lang_table->attrValueTable[i].xmlName != NULL)
3831 {
3832 /* Is this Attribute Value contained in this XML Buffer ? */
3833 if (WBXML_STRSTR(xml_value, lang_table->attrValueTable[i].xmlName) != NULL)
3834 return TRUE;
3835
3836 i++;
3837 }
3838
3839 return FALSE;
3840 }
3841
3842
wbxml_tables_get_xmlns(const WBXMLNameSpaceEntry * ns_table,WB_UTINY code_page)3843 WBXML_DECLARE(const WB_TINY *) wbxml_tables_get_xmlns(const WBXMLNameSpaceEntry *ns_table, WB_UTINY code_page)
3844 {
3845 WB_ULONG i = 0;
3846
3847 if (ns_table == NULL)
3848 return NULL;
3849
3850 while (ns_table[i].xmlNameSpace != NULL)
3851 {
3852 if (ns_table[i].wbxmlCodePage == code_page)
3853 return ns_table[i].xmlNameSpace;
3854
3855 i++;
3856 }
3857
3858 return NULL;
3859 }
3860
wbxml_tables_get_code_page(const WBXMLNameSpaceEntry * ns_table,const WB_TINY * xmlns)3861 WBXML_DECLARE(WB_UTINY) wbxml_tables_get_code_page(const WBXMLNameSpaceEntry *ns_table, const WB_TINY* xmlns)
3862 {
3863 WB_ULONG i = 0;
3864
3865 if (ns_table == NULL)
3866 return 0;
3867
3868 while (ns_table[i].xmlNameSpace != NULL)
3869 {
3870 if (strcmp(ns_table[i].xmlNameSpace, xmlns) == 0)
3871 return ns_table[i].wbxmlCodePage;
3872
3873 i++;
3874 }
3875
3876 return 0;
3877 }
3878
3879