2c732398547c68a203c3419970f3e18260a2871f
[bcm963xx.git] / userapps / broadcom / cfm / inc / psixml.h
1 /*****************************************************************************
2 //
3 //  Copyright (c) 2004  Broadcom Corporation
4 //  All Rights Reserved
5 //  No portions of this material may be reproduced in any form without the
6 //  written permission of:
7 //          Broadcom Corporation
8 //          16215 Alton Parkway
9 //          Irvine, California 92619
10 //  All information contained in this document is Broadcom Corporation
11 //  company private, proprietary, and trade secret.
12 //
13 ******************************************************************************
14 //
15 //  Filename:       psixml.h
16 //  Author:         yt
17 //  Creation Date:  05/11/04
18 //
19 ******************************************************************************
20 //  Description:
21 //      Define the global types, enums. and constants for PSI in XML format
22 //
23 *****************************************************************************/
24
25 #ifndef __PSIXML_H__
26 #define __PSIXML_H__
27
28 #include "bcmtypes.h"
29 #include "psidefs.h"
30 #include "wldefs.h"
31 #include "nanoxml.h"
32
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 
39 #define PSX_VERIFY                     1
40 #define PSX_STORE                      0
41 #define PSX_TABLE_TYPE                 2
42 #define PSX_APP_TYPE                   1
43 #define PSX_OBJ_TYPE                   0
44
45 #define MONDAY        0x1
46 #define TUESDAY       0x2
47 #define WEDNSDAY      0x4
48 #define THURSDAY      0x8
49 #define FRIDAY        0x10
50 #define SATURDAY      0x20
51 #define SUNDAY        0x40
52
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. */
59
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" 
70
71 #define XML_PSI_START_TAG      "<psitree>"
72 #define XML_PSI_END_TAG        "</psitree>"
73
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
78
79 /* string  */
80 #define PSX_ATTRNAME_SET       1
81 #define PSX_ATTRSTR_SET        2
82
83 typedef enum {
84    PSX_STS_OK = 0,
85    PSX_STS_ERR_GENERAL,
86    PSX_STS_ERR_MEMORY,
87    PSX_STS_ERR_FIND_APP,
88    PSX_STS_ERR_FIND_OBJ,
89    PSX_STS_ERR_FIND_HDL_FNC,
90    PSX_STS_ERR_FATAL,
91    PSX_STS_ERR_MILD
92 } PSX_STATUS;
93
94 /* internal callback statemachine */
95 typedef enum {
96    state_start,
97    state_psi_begin,  
98    state_psi_end
99 } xml_state;
100
101
102 typedef struct xmlParseState {
103    xml_state state;
104    char appName[32];
105    PSI_HANDLE appHandle;
106    char objName[32];
107    char attrName[32];
108    char tableName[32];
109    int tableSize;
110    int tableIndex;
111    PSX_STATUS errorFlag;
112    int verify;                    /* verify=1 verifcation only, verfify=0 conversion only */
113 } XML_PARSE_STATE, *pXML_PARSE_STATE;
114
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,
118                                        char* attrValue);
119 typedef void (*PSX_SET_ATTR_FNC) (FILE *file, const char *name, const UINT16 id,
120                                   const PSI_VALUE value, const UINT16 length);
121
122 typedef PSX_STATUS (*PSX_GET_ATTR_FNC) (char *attrName, char *attrValue);
123 typedef PSX_STATUS (*PSX_OBJ_FNC) (char *appName,  char *objName);
124
125
126
127 typedef struct {
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;
134
135 typedef struct {
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;
142
143 /* object and attribute names definitions */
144 #define PSX_ATTR_STATE             "state"
145 /* system info */
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"
160
161
162 #define PSX_ATTR_DNS_PRIMARY       "primary"
163 #define PSX_ATTR_DNS_SECONDARY     "secondary"
164 #define PSX_ATTR_DNS_DYNAMIC       "dynamic"
165
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"
171
172 #define PSX_ATTR_PMAP_IFC_NAME        "pmapIfName"
173 #define PSX_ATTR_PMAP_IFC_STATUS      "pmapIfcStatus"
174
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"
196
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)
204 extern "C" {
205 #endif
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);
240
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);
321
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,
345                                       char* attrValue);
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,
350                                    char* attrValue);
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,
355                                    char* attrValue);
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,
396                                    char* attrValue);
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,
401                                    char* attrValue);
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,
406                                 char* attrValue);
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,
411                                         char* attrValue);
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);
435
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);
448
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,
457                                    char* attrValue);
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);
463
464 extern PSX_STATUS xmlGetAdslNode(char *appName, char *objName, char *attrName,
465                                  char* attrValue);
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);
469
470 extern PSX_STATUS xmlGetSntpNode(char *appName, char *objName, char *attrName,
471                                  char* attrValue);
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);
484
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);
498
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)
507 }
508 #endif
509
510 #endif /* __PSIXML_H__ */