📄 wbxml.h
字号:
/* * libwbxml, the WBXML Library. * Copyright (C) 2002-2005 Aymerick Jehanne <aymerick@jehanne.org> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * * LGPL v2.1: http://www.gnu.org/copyleft/lesser.txt * * Contact: libwbxml@aymerick.com * Home: http://libwbxml.aymerick.com */ /** * @file wbxml.h * @ingroup wbxml * * @author Aymerick Jehanne <libwbxml@aymerick.com> * @date 02/11/11 * * @brief WBXML Library Main Header */#ifndef WBXML_H#define WBXML_H#if defined( __SYMBIAN32__ )/* For basic Symbian Types */#include <e32def.h>#endif /* __SYMBIAN32__ *//* * This sytem includes are here instead of the *.c files because * we want them to be included AFTER 'e32def.h' on Symbian. If not so, * a lot of Warnings are displayed ('NULL' : macro redefinition) */#include <stdlib.h>#include <string.h>/** @addtogroup wbxml * @{ *//** WBXML Parser Lib Version */#define WBXML_LIB_VERSION "0.9.2"/** Backward compatibility flag */#define WBXML_BACKWARD_COMPAT/* WBXML Lib basic types redefinition */#define WB_BOOL unsigned char#define WB_UTINY unsigned char#define WB_TINY char#define WB_ULONG unsigned int#define WB_LONG int#ifndef TRUE#define TRUE 1#endif#ifndef FALSE#define FALSE 0#endif#ifndef NULL#define NULL 0#endif/* Define NULL string */#define WBXML_UTINY_NULL_STRING ((WB_UTINY *)"")/* WBXML Lib string functions */#define WBXML_STRLEN(a) strlen((const WB_TINY*)a)#define WBXML_STRCMP(a,b) strcmp((const WB_TINY*)a,(const WB_TINY*)b)#define WBXML_STRNCMP(a,b,c) strncmp((const WB_TINY*)a,(const WB_TINY*)b,c)#define WBXML_STRSTR(a,b) strstr((const WB_TINY*)a,(const WB_TINY*)b)#if defined( WIN32 )#define WBXML_STRCASECMP(a,b) _stricmp((const WB_TINY*)a,(const WB_TINY*)b)#else#define WBXML_STRCASECMP(a,b) strcasecmp((const WB_TINY*)a,(const WB_TINY*)b)#endif /* WIN32 */#define WBXML_ISDIGIT(a) isdigit(a)/* For DLL exported functions */#if defined( __SYMBIAN32__ )#define WBXML_DECLARE(type) EXPORT_C type#define WBXML_DECLARE_NONSTD(type) EXPORT_C type#else /* __SYMBIAN32__ */#if defined( WIN32 )#define WBXML_DECLARE(type) __declspec(dllexport) type __stdcall#define WBXML_DECLARE_NONSTD(type) __declspec(dllexport) type#else /* WIN32 */#define WBXML_DECLARE(type) type#define WBXML_DECLARE_NONSTD(type) type#endif /* WIN32 */#endif /* __SYMBIAN32__ *//* WBXML Global Tokens */#define WBXML_SWITCH_PAGE 0x00#define WBXML_END 0x01#define WBXML_ENTITY 0x02#define WBXML_STR_I 0x03#define WBXML_LITERAL 0x04#define WBXML_EXT_I_0 0x40#define WBXML_EXT_I_1 0x41#define WBXML_EXT_I_2 0x42#define WBXML_PI 0x43#define WBXML_LITERAL_C 0x44#define WBXML_EXT_T_0 0x80#define WBXML_EXT_T_1 0x81#define WBXML_EXT_T_2 0x82#define WBXML_STR_T 0x83#define WBXML_LITERAL_A 0x84#define WBXML_EXT_0 0xC0#define WBXML_EXT_1 0xC1#define WBXML_EXT_2 0xC2#define WBXML_OPAQUE 0xC3#define WBXML_LITERAL_AC 0xC4/* WBXML Tokens Masks */#define WBXML_TOKEN_MASK 0x3F#define WBXML_TOKEN_WITH_ATTRS 0x80#define WBXML_TOKEN_WITH_CONTENT 0x40/* WBXML Versions (XML text) */#define WBXML_VERSION_TEXT_10 "1.0" /**< WBXML 1.0 */#define WBXML_VERSION_TEXT_11 "1.1" /**< WBXML 1.1 */#define WBXML_VERSION_TEXT_12 "1.2" /**< WBXML 1.2 */#define WBXML_VERSION_TEXT_13 "1.3" /**< WBXML 1.3 *//** WBXML Versions (WBXML tokens) */typedef enum WBXMLVersion_e { WBXML_VERSION_UNKNOWN = -1, /**< Unknown WBXML Version */ WBXML_VERSION_10 = 0x00, /**< WBXML 1.0 Token */ WBXML_VERSION_11 = 0x01, /**< WBXML 1.1 Token */ WBXML_VERSION_12 = 0x02, /**< WBXML 1.2 Token */ WBXML_VERSION_13 = 0x03 /**< WBXML 1.3 Token */} WBXMLVersion;/* * Possible Compilation Flags: * --------------------------- * * WBXML_SUPPORT_WML * WBXML_SUPPORT_WTA * WBXML_SUPPORT_SI * WBXML_SUPPORT_SL * WBXML_SUPPORT_CO * WBXML_SUPPORT_PROV * WBXML_SUPPORT_EMN * WBXML_SUPPORT_DRMREL * WBXML_SUPPORT_OTA_SETTINGS * WBXML_SUPPORT_SYNCML * WBXML_SUPPORT_WV *//** Supported WBXML Languages */typedef enum WBXMLLanguage_e { WBXML_LANG_UNKNOWN = 0, /**< Unknown / Not Specified */ /* WAP */#if defined( WBXML_SUPPORT_WML ) WBXML_LANG_WML10, /**< WML 1.0 */ WBXML_LANG_WML11, /**< WML 1.1 */ WBXML_LANG_WML12, /**< WML 1.2 */ WBXML_LANG_WML13, /**< WML 1.3 */#endif /* WBXML_SUPPORT_WML */#if defined( WBXML_SUPPORT_WTA ) WBXML_LANG_WTA10, /**< WTA 1.0 */ WBXML_LANG_WTAWML12, /**< WTAWML 1.2 */ WBXML_LANG_CHANNEL11, /**< CHANNEL 1.1 */ WBXML_LANG_CHANNEL12, /**< CHANNEL 1.2 */ #endif /* WBXML_SUPPORT_WTA */#if defined( WBXML_SUPPORT_SI ) WBXML_LANG_SI10, /**< SI 1.0 */#endif /* WBXML_SUPPORT_SI */#if defined( WBXML_SUPPORT_SL ) WBXML_LANG_SL10, /**< SL 1.0 */#endif /* WBXML_SUPPORT_SL */#if defined( WBXML_SUPPORT_CO ) WBXML_LANG_CO10, /**< CO 1.0 */#endif /* WBXML_SUPPORT_CO */#if defined( WBXML_SUPPORT_PROV ) WBXML_LANG_PROV10, /**< PROV 1.0 */#endif /* WBXML_SUPPORT_PROV */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -