1 /*****************************************************************************
3 // Copyright (c) 2004 Broadcom Corporation
5 // No portions of this material may be reproduced in any form without the
6 // written permission of:
7 // Broadcom Corporation
9 // Irvine, California 92619
10 // All information contained in this document is Broadcom Corporation
11 // company private, proprietary, and trade secret.
13 ******************************************************************************
17 // Creation Date: 05/11/04
19 ******************************************************************************
21 // Define the global types, enums. and constants for PSI in XML format
23 *****************************************************************************/
33 #define PSX_NAME_LEN 16
34 #define PSX_MAGIC_LEN 16
35 #define PSX_MAGIC_VALUE "-$-PSI-$02.12r01"
36 #define PSX_CRC32_INIT_VALUE 0xffffffff /* Initial CRC32 checksum value */
37 #define PSX_CRC32_GOOD_VALUE 0xdebb20e3 /* Good final CRC32 checksum value */
38 #define PSX_STR_LEN 50
41 #define PSX_TABLE_TYPE 2
42 #define PSX_APP_TYPE 1
43 #define PSX_OBJ_TYPE 0
53 /* important limitation: when adding the appName or objectName in either direction, it is
54 important not to have appName and objName having the same prefix. The table entry search
55 only compare strings up to the prefix length, case not sensitive, to cover situation
56 such as APP_ID wan_vpi_vci, only wan is searched in the table. Therefore, it is not
57 okay to have Lan as the appId, and objectName as lanSomethingSomething. The search
58 entry would think lanSomethingSomething is an appId name. */
60 #define APPNAME_WAN_PREFIX "wan"
61 #define APPNAME_IPSRV_PREFIX "ipsrv"
62 #define APPNAME_PPPSRV_PREFIX "pppsrv"
63 #define APPNAME_PPP_FORMAT "pppsrv_%d_%d"
64 #define APPNAME_IPSRV_ENTRY_FORMAT "ipsrv_%d_%d"
65 #define OBJNAME_LAN_ENTRY_FORMAT "entry%d" /* cannot be lan, need to change */
66 #define OBJNAME_PPP_ENTRY_FORMAT "ppp_conId%d"
67 #define OBJNAME_IPSRV_ENTRY_FORMAT "dhcpc_conId%d"
68 #define OBJNAME_WAN_ENTRY_FORMAT "entry%d" /* cannot be wan, need to change */
69 #define OBJNAME_GEN_ENTRY_FORMAT "entry"
71 #define XML_PSI_START_TAG "<psitree>"
72 #define XML_PSI_END_TAG "</psitree>"
74 #define XML_PORT_RANGE_MIN 1
75 #define XML_PORT_RANGE_MAX 65535
76 #define XML_MAX_SNMP_STR_LEN 15
77 #define XML_MAX_TOD_ENTRY 16
80 #define PSX_ATTRNAME_SET 1
81 #define PSX_ATTRSTR_SET 2
89 PSX_STS_ERR_FIND_HDL_FNC,
94 /* internal callback statemachine */
102 typedef struct xmlParseState {
105 PSI_HANDLE appHandle;
111 PSX_STATUS errorFlag;
112 int verify; /* verify=1 verifcation only, verfify=0 conversion only */
113 } XML_PARSE_STATE, *pXML_PARSE_STATE;
115 typedef PSX_STATUS (*PSX_SET_OBJ_FNC) (FILE *file, const char *appName, const UINT16 id,
116 const PSI_VALUE value, const UINT16 length);
117 typedef PSX_STATUS (*PSX_GET_OBJ_FNC) (char *appName, char *objName, char *attrName,
119 typedef void (*PSX_SET_ATTR_FNC) (FILE *file, const char *name, const UINT16 id,
120 const PSI_VALUE value, const UINT16 length);
122 typedef PSX_STATUS (*PSX_GET_ATTR_FNC) (char *attrName, char *attrValue);
123 typedef PSX_STATUS (*PSX_OBJ_FNC) (char *appName, char *objName);
128 char appName[PSX_NAME_LEN];
129 PSX_SET_OBJ_FNC setObjFnc;
130 PSX_GET_OBJ_FNC getObjFnc; /* base on appName, find the object's getObjFnc */
131 PSX_OBJ_FNC startObjFnc; /* base on appName, find the object's startObjFnc */
132 PSX_OBJ_FNC endObjFnc; /* base on appName, find the object's endObjFnc */
133 } PSX_APP_ITEM, *PPSX_APP_ITEM;
136 char objName[PSX_NAME_LEN];
137 PSX_SET_ATTR_FNC setAttrFnc;
138 PSX_GET_ATTR_FNC getAttrFnc; /* getting object from XML file, do verification/store */
139 PSX_OBJ_FNC startObjFnc; /* beginning of object, resource allocated */
140 PSX_OBJ_FNC endObjFnc; /* end of object, do verification/storeToPSI, oresource deallocated */
141 } PSX_OBJ_ITEM, *PPSX_OBJ_ITEM;
143 /* object and attribute names definitions */
144 #define PSX_ATTR_STATE "state"
146 #define PSX_OBJ_SYS_USER_NAME "sysUserName"
147 #define PSX_OBJ_SYS_PASSWORD "sysPassword"
148 #define PSX_OBJ_SPT_USER_NAME "sptUserName"
149 #define PSX_OBJ_SPT_PASSWORD "sptPassword"
150 #define PSX_OBJ_USR_USER_NAME "usrUserName"
151 #define PSX_OBJ_USR_PASSWORD "usrPassword"
152 #define PSX_OBJ_DEF_GATEWAY "defaultGateway"
153 #define PSX_OBJ_DNS "dns"
154 #define PSX_OBJ_SYSLOG "sysLog"
155 #define PSX_OBJ_SNMP "snmp"
156 #define PSX_OBJ_PROTOCOL "protocol"
157 #define PSX_OBJ_ETHCFG "ethCfg"
158 #define PSX_OBJ_MGCP_CFG "mgcpCfg"
159 #define PSX_OBJ_SIP_CFG "sipCfg"
162 #define PSX_ATTR_DNS_PRIMARY "primary"
163 #define PSX_ATTR_DNS_SECONDARY "secondary"
164 #define PSX_ATTR_DNS_DYNAMIC "dynamic"
166 #define PSX_ATTR_SYSLOG_DISPLAY_LEVEL "displayLevel"
167 #define PSX_ATTR_SYSLOG_LOG_LEVEL "logLevel"
168 #define PSX_ATTR_SYSLOG_OPTION "option"
169 #define PSX_ATTR_SYSLOG_SERVER_IP "serverIP"
170 #define PSX_ATTR_SYSLOG_SERVER_PORT "serverPort"
172 #define PSX_ATTR_PMAP_IFC_NAME "pmapIfName"
173 #define PSX_ATTR_PMAP_IFC_STATUS "pmapIfcStatus"
175 #define PSX_ATTR_VOICE_MGCP_TAG "mgcpCfg"
176 #define PSX_ATTR_VOICE_MGCP_CA_ADDR "caAddr"
177 #define PSX_ATTR_VOICE_MGCP_GW_NAME "gwName"
178 #define PSX_ATTR_VOICE_MGCP_IF_NAME "ifName"
179 #define PSX_ATTR_VOICE_MGCP_PREF_CODEC "prefCodec"
180 #define PSX_ATTR_VOICE_SIP_TAG "sipCfg"
181 #define PSX_ATTR_VOICE_SIP_PROXY_ADDR "proxyAddr"
182 #define PSX_ATTR_VOICE_SIP_PROXY_PORT "proxyPort"
183 #define PSX_ATTR_VOICE_SIP_REGISTRAR_ADDR "registrarAddr"
184 #define PSX_ATTR_VOICE_SIP_REGISTRAR_PORT "registrarPort"
185 #define PSX_ATTR_VOICE_SIP_LOG_ADDR "logAddr"
186 #define PSX_ATTR_VOICE_SIP_LOG_PORT "logPort"
187 #define PSX_ATTR_VOICE_SIP_EXT1 "ext1"
188 #define PSX_ATTR_VOICE_SIP_PASSWORD1 "password1"
189 #define PSX_ATTR_VOICE_SIP_EXT2 "ext2"
190 #define PSX_ATTR_VOICE_SIP_PASSWORD2 "password2"
191 #define PSX_ATTR_VOICE_SIP_EXT3 "ext3"
192 #define PSX_ATTR_VOICE_SIP_PASSWORD3 "password3"
193 #define PSX_ATTR_VOICE_SIP_EXT4 "ext4"
194 #define PSX_ATTR_VOICE_SIP_PASSWORD4 "password4"
195 #define PSX_ATTR_VOICE_SIP_IF_NAME "ifName"
197 #define PSX_ATTR_ETH_CFG_SPEED "speed"
198 #define PSX_ATTR_ETH_CFG_TYPE "type"
199 #define PSX_ATTR_ETH_CFG_MTU "MTU"
200 #define PSX_ATTR_IPP_MAKE "make"
201 #define PSX_ATTR_IPP_DEV "dev"
202 #define PSX_ATTR_IPP_NAME "name"
203 #if defined(__cplusplus)
206 extern PSX_STATUS xmlSetObjNode(FILE* file, const char *appName, const UINT16 id,
207 const PSI_VALUE value, const UINT16 length);
208 extern PSX_STATUS xmlSetSysObjNode(FILE* file, const char *appName, const UINT16 id,
209 const PSI_VALUE value, const UINT16 length);
210 extern PSX_STATUS xmlSetRouteObjNode(FILE* file, const char *appName, const UINT16 id,
211 const PSI_VALUE value, const UINT16 length);
212 extern PSX_STATUS xmlSetPMapObjNode(FILE* file, const char *appName, const UINT16 id,
213 const PSI_VALUE value, const UINT16 length);
214 extern PSX_STATUS xmlSetLanNode(FILE* file, const char *appName, const UINT16 id,
215 const PSI_VALUE value, const UINT16 length);
216 extern PSX_STATUS xmlSetWirelessNode(FILE* file, const char *appName, const UINT16 id,
217 const PSI_VALUE value, const UINT16 length);
218 extern PSX_STATUS xmlSetWanNode(FILE* file, const char *appName, const UINT16 id,
219 const PSI_VALUE value, const UINT16 length);
220 extern PSX_STATUS xmlSetAtmTdNode(FILE* file, const char *appName, const UINT16 id,
221 const PSI_VALUE value, const UINT16 length);
222 extern PSX_STATUS xmlSetAtmVccNode(FILE* file, const char *appName, const UINT16 id,
223 const PSI_VALUE value, const UINT16 length);
224 extern PSX_STATUS xmlSetAtmCfgNode(FILE* file, const char *appName, const UINT16 id,
225 const PSI_VALUE value, const UINT16 length);
226 extern PSX_STATUS xmlSetSecObjNode(FILE* file, const char *appName, const UINT16 id,
227 const PSI_VALUE value, const UINT16 length);
228 extern PSX_STATUS xmlSetAdslObjNode(FILE* file, const char *appName, const UINT16 id,
229 const PSI_VALUE value, const UINT16 length);
230 extern PSX_STATUS xmlSetSntpNode(FILE* file, const char *appName, const UINT16 id,
231 const PSI_VALUE value, const UINT16 length);
232 extern PSX_STATUS xmlSetToDNode(FILE* file, const char *appName, const UINT16 id,
233 const PSI_VALUE value, const UINT16 length);
234 extern PSX_STATUS xmlSetDhcpClntNode(FILE* file, const char *appName, const UINT16 id,
235 const PSI_VALUE value, const UINT16 length);
236 extern PSX_STATUS xmlSetPppNode(FILE* file, const char *appName, const UINT16 id,
237 const PSI_VALUE value, const UINT16 length);
238 extern PSX_STATUS xmlSetDdnsNode(FILE* file, const char *appName, const UINT16 id,
239 const PSI_VALUE value, const UINT16 length);
241 extern void xmlSetStrObjAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
242 const UINT16 length);
243 extern void xmlSetSysLogAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
244 const UINT16 length);
245 extern void xmlSetDftGwAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
246 const UINT16 length);
247 extern void xmlSetDnsAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
248 const UINT16 length);
249 extern void xmlSetOtherSysAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
250 const UINT16 length);
251 extern void xmlSetSnmpAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
252 const UINT16 length);
253 extern void xmlSetRouteAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
254 const UINT16 length);
255 extern void xmlSetRipIfcAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
256 const UINT16 length);
257 extern void xmlSetRipAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
258 const UINT16 length);
259 extern void xmlSetPMapAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
260 const UINT16 length);
261 extern void xmlSetLanAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
262 const UINT16 length);
263 extern void xmlWlSetWebAttr(FILE *file, PWIRELESS_VAR wlVars);
264 extern void xmlWlSetEncrytionAttr(FILE *file, PWIRELESS_VAR wlVars);
265 extern void xmlWlSetEncryptionStrengthAttr(FILE *file, PWIRELESS_VAR wlVars);
266 extern void xmlWlSetRadiusServerAttr(FILE *file, PWIRELESS_VAR wlVars);
267 extern void xmlSetWirelessVarsAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
268 const UINT16 length);
269 extern void xmlSetWirelessMacFilterAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
270 const UINT16 length);
271 extern void xmlSetAtmInitAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
272 const UINT16 length);
273 extern void xmlSetAtmPortAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
274 const UINT16 length);
275 extern void xmlSetAtmTdNumAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
276 const UINT16 length);
277 extern void xmlSetAtmTdTblAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
278 const UINT16 length);
279 extern void xmlSetAtmIfcAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
280 const UINT16 length);
281 extern void xmlSetAtmVccNumAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
282 const UINT16 length);
283 extern void xmlSetAtmVccTblAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
284 const UINT16 length);
285 extern void xmlSetDmzHostAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
286 const UINT16 length);
287 extern void xmlSetServiceCtrlAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
288 const UINT16 length);
289 extern void xmlSetVirtualSrvAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
290 const UINT16 length);
291 extern void xmlSetIpFilterAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
292 const UINT16 length);
293 extern void xmlSetPrtTriggerAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
294 const UINT16 length);
295 extern void xmlSetMacFilterAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
296 const UINT16 length);
297 extern void xmlSetAccessControlAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
298 const UINT16 length);
299 extern void xmlSetAccessControlModeAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
300 const UINT16 length);
301 extern void xmlSetQosAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
302 const UINT16 length);
303 extern void xmlSetToDCntrlAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
304 const UINT16 length);
305 extern void xmlSetDdnsAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
306 const UINT16 length);
307 extern void xmlSetEthAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
308 const UINT16 length);
309 extern PSX_STATUS xmlParse(char *xmlBuffer, int xmlSize, int verify);
310 extern void xmlTagBegin(nxml_t handle, const char *tag_name, unsigned len);
311 extern void xmlTagEnd(nxml_t handle, const char *tag_name, unsigned len);
312 extern void xmlAttrBegin(nxml_t handle, const char *tag_name, unsigned len);
313 extern void xmlAttrValue(nxml_t handle, const char *tag_name, unsigned len);
314 extern void xmlData(nxml_t handle, const char *tag_name, unsigned len);
315 extern PSX_STATUS xmlGetObjNode(char *appName, char *objTagName,
316 char *attrName, char *value);
317 extern PSX_STATUS xmlVerifyObjNode(char *appName, char *objTagName,
318 char *attrName, char *value);
319 extern PSX_STATUS xmlStartObjNode(char *appName, char *objTagName);
320 extern PSX_STATUS xmlEndObjNode(char *appName, char *objTagName);
322 extern PSX_STATUS xmlGetSysObjNode(char *appName, char *objName, char *attrName, char* attrValue);
323 extern PSX_STATUS xmlStartSysObjNode(char *appName, char *objName);
324 extern PSX_STATUS xmlEndSysObjNode(char *appName, char *objName);
325 extern PSX_STATUS xmlGetSysUserNameAttr(char *attrName, char* attrValue);
326 extern PSX_STATUS xmlGetSysPasswordAttr(char *attrName, char* attrValue);
327 extern PSX_STATUS xmlStartSysUserNamePasswordObj(char *appName, char *objName);
328 extern PSX_STATUS xmlEndSysUserNamePasswordObj(char *appName, char *objName);
329 extern PSX_STATUS xmlGetDftGwAttr(char *attrName, char* attrValue);
330 extern PSX_STATUS xmlStartDftGwObj(char *appName, char *objName);
331 extern PSX_STATUS xmlEndDftGwObj(char *appName, char *objName);
332 extern PSX_STATUS xmlGetDnsAttr(char *attrName, char* attrValue);
333 extern PSX_STATUS xmlStartDnsObj(char *appName, char *objName);
334 extern PSX_STATUS xmlEndDnsObj(char *appName, char *objName);
335 extern PSX_STATUS xmlGetSyslogAttr(char *attrName, char* attrValue);
336 extern PSX_STATUS xmlStartSyslogObj(char *appName, char *objName);
337 extern PSX_STATUS xmlEndSyslogObj(char *appName, char *objName);
338 extern PSX_STATUS xmlGetSnmpAttr(char *attrName, char* attrValue);
339 extern PSX_STATUS xmlStartSnmpObj(char *appName, char *objName);
340 extern PSX_STATUS xmlEndSnmpObj(char *appName, char *objName);
341 extern PSX_STATUS xmlGetOtherSysAttr(char *attrName, char* attrValue);
342 extern PSX_STATUS xmlStartOtherSysObj(char *appName, char *objName);
343 extern PSX_STATUS xmlEndOtherSysObj(char *appName, char *objName);
344 extern PSX_STATUS xmlGetAtmVccObjNode(char *appName, char *objName, char *attrName,
346 extern PSX_STATUS xmlGetAtmVccAttr(char *attrName, char* attrValue);
347 extern PSX_STATUS xmlStartAtmVccObjNode(char *appName, char *objName);
348 extern PSX_STATUS xmlEndAtmVccObjNode(char *appName, char *objName);
349 extern PSX_STATUS xmlGetWanObjNode(char *appName, char *objName, char *attrName,
351 extern PSX_STATUS xmlGetWanAttr(char *attrName, char* attrValue);
352 extern PSX_STATUS xmlStartWanObjNode(char *appName, char *objName);
353 extern PSX_STATUS xmlEndWanObjNode(char *appName, char *objName);
354 extern PSX_STATUS xmlGetPppObjNode(char *appName, char *objName, char *attrName,
356 extern PSX_STATUS xmlGetPppAttr(char *attrName, char* attrValue);
357 extern PSX_STATUS xmlStartPppObjNode(char *appName, char *objName);
358 extern PSX_STATUS xmlEndPppObjNode(char *appName, char *objName);
359 extern PSX_STATUS xmlGetSecObjNode(char *appName, char *objName, char *attrName, char* attrValue);
360 extern PSX_STATUS xmlStartSecObjNode(char *appName, char *objName);
361 extern PSX_STATUS xmlEndSecObjNode(char *appName, char *objName);
362 extern PSX_STATUS xmlGetVrtSrvAttr(char *attrName, char* attrValue);
363 extern PSX_STATUS xmlEndVrtSrvObj(char *appName, char *objName);
364 extern PSX_STATUS xmlGetVrtSrvEntryAttr(char *attrName, char* attrValue);
365 extern PSX_STATUS xmlEndVrtSrvEntryObj(char *appName, char *objName);
366 extern PSX_STATUS xmlGetIpFilterAttr(char *attrName, char* attrValue);
367 extern PSX_STATUS xmlEndIpFilterObj(char *appName, char *objName);
368 extern PSX_STATUS xmlGetIpFilterEntryAttr(char *attrName, char* attrValue);
369 extern PSX_STATUS xmlEndIpFilterEntryObj(char *appName, char *objName);
370 extern PSX_STATUS xmlGetPrtTriggerAttr(char *attrName, char* attrValue);
371 extern PSX_STATUS xmlEndPrtTriggerObj(char *appName, char *objName);
372 extern PSX_STATUS xmlGetPrtTriggerEntryAttr(char *attrName, char* attrValue);
373 extern PSX_STATUS xmlEndPrtTriggerEntryObj(char *appName, char *objName);
374 extern PSX_STATUS xmlGetMacFilterAttr(char *attrName, char* attrValue);
375 extern PSX_STATUS xmlEndMacFilterObj(char *appName, char *objName);
376 extern PSX_STATUS xmlGetMacFilterEntryAttr(char *attrName, char* attrValue);
377 extern PSX_STATUS xmlEndMacFilterEntryObj(char *appName, char *objName);
378 extern PSX_STATUS xmlGetQosClsAttr(char *attrName, char* attrValue);
379 extern PSX_STATUS xmlEndQosClsObj(char *appName, char *objName);
380 extern PSX_STATUS xmlGetQosClsEntryAttr(char *attrName, char* attrValue);
381 extern PSX_STATUS xmlEndQosClsEntryObj(char *appName, char *objName);
382 extern PSX_STATUS xmlGetAccCntrlAttr(char *attrName, char* attrValue);
383 extern PSX_STATUS xmlEndAccCntrlObj(char *appName, char *objName);
384 extern PSX_STATUS xmlGetAccCntrlEntryAttr(char *attrName, char* attrValue);
385 extern PSX_STATUS xmlEndAccCntrlEntryObj(char *appName, char *objName);
386 extern PSX_STATUS xmlGetAccCntrlModeAttr(char *attrName, char* attrValue);
387 extern PSX_STATUS xmlStartAccCntrlModeObj(char *appName, char *objName);
388 extern PSX_STATUS xmlEndAccCntrlModeObj(char *appName, char *objName);
389 extern PSX_STATUS xmlGetDmzHostAttr(char *attrName, char* attrValue);
390 extern PSX_STATUS xmlStartDmzHostObj(char *appName, char *objName);
391 extern PSX_STATUS xmlEndDmzHostObj(char *appName, char *objName);
392 extern PSX_STATUS xmlGetServiceCtrlAttr(char *attrName, char* attrValue);
393 extern PSX_STATUS xmlStartServiceCtrlObj(char *appName, char *objName);
394 extern PSX_STATUS xmlEndServiceCtrlObj(char *appName, char *objName);
395 extern PSX_STATUS xmlGetDhcpClntNode(char *appName, char *objName, char *attrName,
397 extern PSX_STATUS xmlGetDhcpClntAttr(char *attrName, char* attrValue);
398 extern PSX_STATUS xmlStartDhcpClntNode(char *appName, char *objName);
399 extern PSX_STATUS xmlEndDhcpClntNode(char *appName, char *objName);
400 extern PSX_STATUS xmlGetAtmTdObjNode(char *appName, char *objName, char *attrName,
402 extern PSX_STATUS xmlGetAtmTdAttr(char *attrName, char* attrValue);
403 extern PSX_STATUS xmlStartAtmTdObjNode(char *appName, char *objName);
404 extern PSX_STATUS xmlEndAtmTdObjNode(char *appName, char *objName);
405 extern PSX_STATUS xmlGetLanNode(char *appName, char *objName, char *attrName,
407 extern PSX_STATUS xmlGetLanAttr(char *attrName, char* attrValue);
408 extern PSX_STATUS xmlStartLanObj(char *appName, char *objName);
409 extern PSX_STATUS xmlEndLanObj(char *appName, char *objName);
410 extern PSX_STATUS xmlGetWirelessObjNode(char *appName, char *objName, char *attrName,
412 extern PSX_STATUS xmlStartWirelessObjNode(char *appName, char *objName);
413 extern PSX_STATUS xmlEndWirelessObjNode(char *appName, char *objName);
414 extern PSX_STATUS xmlGetWirelessVarsAttr(char *attrName, char* attrValue);
415 extern PSX_STATUS xmlStartWirelessVarsObj(char *appName, char *objName);
416 extern PSX_STATUS xmlEndWirelessVarsObj(char *appName, char *objName);
417 extern PSX_STATUS xmlGetWirelessMacFilterEntryAttr(char *attrName, char* attrValue);
418 extern PSX_STATUS xmlEndWirelessMacFilterEntryObj(char *appName, char *objName);
419 extern PSX_STATUS xmlGetWirelessMacFilterAttr(char *attrName, char* attrValue);
420 extern PSX_STATUS xmlEndWirelessMacFilterObj(char *appName, char *objName);
421 extern PSX_STATUS xmlGetRouteObjNode(char *appName, char *objName, char *attrName, char* attrValue);
422 extern PSX_STATUS xmlStartRouteObjNode(char *appName, char *objName);
423 extern PSX_STATUS xmlEndRouteObjNode(char *appName, char *objName);
424 extern PSX_STATUS xmlGetRouteAttr(char *attrName, char* attrValue);
425 extern PSX_STATUS xmlEndRouteObj(char *appName, char *objName);
426 extern PSX_STATUS xmlGetRouteEntryAttr(char *attrName, char* attrValue);
427 extern PSX_STATUS xmlEndRouteEntryObj(char *appName, char *objName);
428 extern PSX_STATUS xmlGetRipAttr(char *attrName, char* attrValue);
429 extern PSX_STATUS xmlStartRipObj(char *appName, char *objName);
430 extern PSX_STATUS xmlEndRipObj(char *appName, char *objName);
431 extern PSX_STATUS xmlGetRipIfcAttr(char *attrName, char* attrValue);
432 extern PSX_STATUS xmlEndRipIfcObj(char *appName, char *objName);
433 extern PSX_STATUS xmlGetRipIfcEntryAttr(char *attrName, char* attrValue);
434 extern PSX_STATUS xmlEndRipIfcEntryObj(char *appName, char *objName);
436 extern PSX_STATUS xmlGetPMapObjNode(char *appName, char *objName, char *attrName, char* attrValue);
437 extern PSX_STATUS xmlStartPMapObjNode(char *appName, char *objName);
438 extern PSX_STATUS xmlEndPMapObjNode(char *appName, char *objName);
439 extern PSX_STATUS xmlGetPMapAttr(char *attrName, char* attrValue);
440 extern PSX_STATUS xmlEndPMapObj(char *appName, char *objName);
441 extern PSX_STATUS xmlGetPMapEntryAttr(char *attrName, char* attrValue);
442 extern void xmlSetPMapIfcCfgAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
443 const UINT16 length);
444 extern PSX_STATUS xmlGetPMapIfcCfgAttr(char *attrName, char* attrValue);
445 extern PSX_STATUS xmlStartPMapIfcCfgObj(char *appName, char *objName);
446 extern PSX_STATUS xmlEndPMapIfcCfgObj(char *appName, char *objName);
447 extern PSX_STATUS xmlEndPMapEntryObj(char *appName, char *objName);
449 extern PSX_STATUS xmlGetDdnsObjNode(char *appName, char *objName, char *attrName, char* attrValue);
450 extern PSX_STATUS xmlStartDdnsObjNode(char *appName, char *objName);
451 extern PSX_STATUS xmlEndDdnsObjNode(char *appName, char *objName);
452 extern PSX_STATUS xmlGetDdnsAttr(char *attrName, char* attrValue);
453 extern PSX_STATUS xmlEndDdnsObj(char *appName, char *objName);
454 extern PSX_STATUS xmlGetDdnsEntryAttr(char *attrName, char* attrValue);
455 extern PSX_STATUS xmlEndDdnsEntryObj(char *appName, char *objName);
456 extern PSX_STATUS xmlGetAtmCfgNode(char *appName, char *objName, char *attrName,
458 extern PSX_STATUS xmlStartAtmCfgNode(char *appName, char *objName);
459 extern PSX_STATUS xmlEndAtmCfgNode(char *appName, char *objName);
460 extern PSX_STATUS xmlGetAtmInitAttr(char *attrName, char* attrValue);
461 extern PSX_STATUS xmlStartAtmInitObj(char *appName, char *objName);
462 extern PSX_STATUS xmlEndAtmInitObj(char *appName, char *objName);
464 extern PSX_STATUS xmlGetAdslNode(char *appName, char *objName, char *attrName,
466 extern PSX_STATUS xmlGetAdslAttr(char *attrName, char* attrValue);
467 extern PSX_STATUS xmlStartAdslObj(char *appName, char *objName);
468 extern PSX_STATUS xmlEndAdslObj(char *appName, char *objName);
470 extern PSX_STATUS xmlGetSntpNode(char *appName, char *objName, char *attrName,
472 extern PSX_STATUS xmlGetSntpAttr(char *attrName, char* attrValue);
473 extern PSX_STATUS xmlStartSntpObj(char *appName, char *objName);
474 extern PSX_STATUS xmlEndSntpObj(char *appName, char *objName);
475 extern PSX_STATUS xmlGetToDObjNode(char *appName, char *objName, char *attrName, char* attrValue);
476 extern PSX_STATUS xmlStartToDObjNode(char *appName, char *objName);
477 extern PSX_STATUS xmlEndToDObjNode(char *appName, char *objName);
478 extern PSX_STATUS xmlGetToDAttr(char *attrName, char* attrValue);
479 extern PSX_STATUS xmlEndToDObj(char *appName, char *objName);
480 extern PSX_STATUS xmlGetToDEntryAttr(char *attrName, char* attrValue);
481 extern PSX_STATUS xmlEndToDEntryObj(char *appName, char *objName);
482 extern PSX_STATUS xmlSetVoiceNode(FILE* file, const char *appName, const UINT16 id,
483 const PSI_VALUE value, const UINT16 length);
485 extern PSX_STATUS xmlGetVoiceNode(char *appName, char *objName, char *attrName, char* attrValue);
486 extern PSX_STATUS xmlStartVoiceNode(char *appName, char *objName);
487 extern PSX_STATUS xmlEndVoiceNode(char *appName, char *objName);
488 extern void xmlSetMgcpAttr(FILE *file, const char *name, const UINT16 id, const PSI_VALUE value,
489 const UINT16 length);
490 extern void xmlSetSipAttr(FILE* file, const char *appName, const UINT16 id,
491 const PSI_VALUE value, const UINT16 length);
492 extern PSX_STATUS xmlStartMgcpObjNode(char *appName, char *objName);
493 extern PSX_STATUS xmlEndMgcpObjNode(char *appName, char *objName);
494 extern PSX_STATUS xmlGetMgcpAttr(char *attrName, char* attrValue);
495 extern PSX_STATUS xmlStartSipObjNode(char *appName, char *objName);
496 extern PSX_STATUS xmlEndSipObjNode(char *appName, char *objName);
497 extern PSX_STATUS xmlGetSipAttr(char *attrName, char* attrValue);
499 extern PSX_STATUS xmlGetEthAttr(char *attrName, char* attrValue);
500 extern PSX_STATUS xmlSetIppNode(FILE* file, const char *appName, const UINT16 id,
501 const PSI_VALUE value, const UINT16 length);
502 extern PSX_STATUS xmlGetIppNode(char *appName, char *objName, char *attrName, char* attrValue);
503 extern PSX_STATUS xmlGetIppAttr(char *attrName, char* attrValue);
504 extern PSX_STATUS xmlStartIppObj(char *appName, char *objName);
505 extern PSX_STATUS xmlEndIppObj(char *appName, char *objName);
506 #if defined(__cplusplus)
510 #endif /* __PSIXML_H__ */