00001
00002
00003
00020
00021
00022
00023
00024 #ifndef XML_H
00025 #define XML_H
00026
00028
00030
00031 #ifdef XML_C
00032 #define PROTO
00033 #else
00034 #define PROTO extern
00035 #endif
00036
00037 #define XML_CONFIG_HANDLE 0
00038 #define XML_RR_HANDLE 1
00039
00040
00042
00044
00045
00046 typedef enum
00047 {
00048 XMLEXT_NEED_MORE_DATA = 0,
00049 XMLEXT_SM_ROOT_FOUND,
00050 XMLEXT_SM_ERROR
00051 } SM_EXTXML;
00052
00053 typedef enum
00054 {
00055 XML_SEARCHING_START_OF_TAG = 0,
00056 XML_SEARCHING_END_OF_TAG,
00057 XML_SEARCHING_NEXT_TAG,
00058 XML_ROOT_LEAVED,
00059 XML_LEVEL_LEAVED,
00060 XML_READY
00061 } XML_STATES;
00062
00065
00066
00068
00070
00071 PROTO void InitXMLParser(void);
00072 PROTO void InitXMLProcessor(BYTE u8Handle, BYTE u8Socket);
00073 PROTO BOOL bXMLWalkTheTree(BYTE u8Socket);
00074 PROTO XML_STATES eXMLGetState(BYTE u8Handle);
00075 PROTO WORD u16XMLGetProcessedBytes(BYTE u8Handle);
00076 PROTO BOOL bXMLIsLevelLeaved(BYTE u8ProcessorHandle, BYTE u8TreeDepth);
00077 PROTO BOOL bXMLCheckForNode(BYTE u8Handle, BYTE u8TreeDepth,
00078 ROM char * pNodeName);
00079 BOOL bXMLCheckForNodeWithoutDepth(BYTE u8Handle, ROM char * pNodeName);
00080
00081 PROTO BOOL bXMLSearchAttribute(BYTE u8Handle, ROM char * pu8Name,
00082 BYTE * pu8Value, BYTE u8ValueBufferSize);
00083 PROTO BOOL bXMLSearchAttributeU16(BYTE u8Handle, ROM char * pu8Name,
00084 WORD * pu16Val);
00085
00086 PROTO BOOL bXMLGetNextAttribute(BYTE u8Handle,
00087 char * pu8Name, BYTE u8NameBufferSize,
00088 char * pu8Value, BYTE u8ValueBufferSize);
00089
00090 PROTO void XMLPutString(BYTE u8Socket, BYTE * au8String);
00091 PROTO void XMLCopyString(BYTE * au8DestString, BYTE * au8SrcString);
00092
00096
00097
00099
00100 #undef PROTO
00101
00102 #endif // #ifndef XML_H