www.pudn.com > wap2.0.rar > cms_wml_commondefines.h
#ifndef _COMMONDEFINES_H_
#define _COMMONDEFINES_H_
#include "cms_wml_config.h"
#include "cms_wml_typeswml.h"
/********************************************************************************************
* macro declare
********************************************************************************************/
#define True (Boolean)1
#define False (Boolean)0
#ifndef NULL
#define NULL (void*)0
#endif
#ifndef STRING_TABLE_POSITION
#define STRING_TABLE_POSITION 3 /*mb_u_int32 编码*/
#endif
#ifndef INPUT_MAX_LENGTH
#define INPUT_MAX_LENGTH 1024 /*输入框可以录入最大字符数*/
#endif
#ifndef URL_MAX_LENGTH
#define URL_MAX_LENGTH 1024 /*url地址的最大长度*/
#endif
#ifndef CARD_MAX_LENGTH
#define CARD_MAX_LENGTH 20 /*card名字的长度*/
#endif
#ifndef IS_IN_LOADING_STATE
#define IS_IN_LOADING_STATE 0 /*下载状态*/
#endif
#ifndef LOAD_OK_STATE
#define LOAD_OK_STATE 1 /*下载成功状态*/
#endif
#ifndef LOAD_SUCCEED
#define LOAD_SUCCEED 1 /*下载成功*/
#endif
#ifndef LOAD_FAIL
#define LOAD_FAIL 0 /*下载失败*/
#endif
#ifndef URL_HISTORY_LENGTH
#define URL_HISTORY_LENGTH 6 /*历史堆栈长度*/
#endif
#ifndef MAX_VARIABLE_NUMBER
#define MAX_VARIABLE_NUMBER 20 /*WBXML文档中能包含的最大变量数*/
#endif
#ifndef MAX_TAG_NUMBER
#define MAX_TAG_NUMBER 300 /*WBXML文档中能包含的最大TAG数*/
#endif
#ifndef MAX_ATTRIBUTE_NUMBER
#define MAX_ATTRIBUTE_NUMBER 400 /*WBXML文档中能包含的最大属性数*/
#endif
#ifndef MAX_CONTENT_NUMBER
#define MAX_CONTENT_NUMBER 300 /*WBXML文档中能包含的最大可显示TAG数*/
#endif
#ifndef MAX_IMAGE_NUMBER
#define MAX_IMAGE_NUMBER 20 /*WBXML文档中能包含的最大图片数*/
#endif
#ifndef MAX_TEXT_LINE
#define MAX_TEXT_LINE 500 /*当前卡的最大行数*/
#endif
#ifndef INDECK_HISTORY_LENGTH
#define INDECK_HISTORY_LENGTH 6 /*Deck内历史记录堆栈的最大长度*/
#endif
#ifndef MAX_STACK_NUMBER
#define MAX_STACK_NUMBER 50 /*存储堆栈数*/
#endif
#ifndef SMALLLEST_TIMEINTEVAL
#define SMALLLEST_TIMEINTEVAL 3 /*最小的时间间隔*/
#endif
#ifndef MAX_TAGNAME_LENGTH
#define MAX_TAGNAME_LENGTH 100 /*标签名字长度*/
#endif
#ifndef DOWNLOAD_TIMEOUT_TTL
#define DOWNLOAD_TIMEOUT_TTL 3000 /*下载时间长度*/
#endif
#ifndef MAX_SCRIPTBUF_LENGTH
#define MAX_SCRIPTBUF_LENGTH 1096 /*script 存储空间长度*/
#endif
#ifndef MAX_IMAGE_BUFFER_LENGTH
#define MAX_IMAGE_BUFFER_LENGTH 4096*3 /*图片的存储长度*/
#endif
#ifndef LENGTH_OF_VARIABLENAME
#define LENGTH_OF_VARIABLENAME 40 /*变量名字的长度*/
#endif
#ifndef VARIABLE_MAX_NUM
#define VARIABLE_MAX_NUM 12 /*最大变量数*/
#endif
#ifndef NAME_MAX_LEN
#define NAME_MAX_LEN 64 /*name属性的长度*/
#endif
#ifndef VALUE_MAX_LEN
#define VALUE_MAX_LEN INPUT_MAX_LENGTH /*value属性的长度*/
#endif
/********************************************************************************************
* struct declare
********************************************************************************************/
/*WAP BROWSER上下文信息结构 Add by Neil Jing For Spreadtrum*/
typedef struct _BrowserContext
{
UInt16 WapWidth; //wap页面显示区域的宽度
UInt16 WapHeight; //wap页面显示区域的高度
UInt16 CharWidth; //单字节字符的宽度
UInt16 CharsPerLine; //每行字符数
UInt16 LineHeight; //每行高度
UInt16 LinesPerPage; //每屏的行数
UInt16 WBXMLLength; //WBXML数据的长度
}BrowserContext;
/*变量*/
typedef struct _Variable
{
char Name[NAME_MAX_LEN]; /*变量名*/
char Value[VALUE_MAX_LEN]; /*变量值*/
} Variable;
/*变量结构*/
typedef struct _VariableStruct
{
Variable Var[VARIABLE_MAX_NUM]; /*变量结构*/
Int16 CurVar; /*当前变量*/
Int16 HeadVar; /*头变量*/
Int16 TailVar; /*尾变量*/
} VariableStruct;
/*标签信息树节点结构定义*/
typedef struct Tag_Info_Tree_Node_Tag
{
Int16 RealTag; /*Tag&0x3f,0xff表示纯文本*/
Int16 TagAttributesBegin; /*属性开始下标*/
Int16 TagAttributesEnd; /*属性结束下标*/
Int16 TagContentBegin; /*内容开始下标,对文本为在WBXML中的下标,对标签为其在TEXT_LIST中的下标*/
Int16 TagContentEnd; /*内容结束下标,对文本为在WBXML中的下标,对标签为其在TEXT_LIST中的下标*/
Int16 Parent; /*父节点下标*/
Int16 NextBrother; /*下一个兄弟节点的下标*/
Int16 FirstSon; /*第一个子节点的下标*/
char TagTextAttribute; /*字符串属性*/
/***********************************************
* char NotUse; *
* 7 6 5 4 3 2 1 0 *
* | | | | | | | | *
* br em strong i b u big small *
***********************************************/
char nouse;
short eventhappen; /*访问标记*/
} Tag_Info_Tree_Node;
/*文本信息结构定义*/
typedef struct Text_List_Item_Tag
{
Int16 RefElementIndex; /*相关连的ContentList下标*/
char TextAttribute; /*字符串属性*/
/***********************************************
* char NotUse; *
* 7 6 5 4 3 2 1 0 *
* | | | | | | | | *
* br em strong i b u big small *
***********************************************/
unsigned char *LineText; /*字符串*/
short PosX; /*读取位置*/
short LineNum; /*行数*/
} Text_List_Item;
/*文本信息结构定义*/
typedef struct Content_List_Item_Tag
{
Int16 TextAttribute; /*字符串属性*/
/***********************************************
* char NotUse; *
* 7 6 5 4 3 2 1 0 *
* | | | | | | | | *
* br em strong i b u big small *
***********************************************/
Int16 interval; /*时间间隔*/
Int16 ReferenceNode; /*相关连的树节点*/
} Content_List_Item;
/*文本信息结构定义*/
typedef struct Attribute_Item_Tag
{
Int16 AttributeTag; /*属性*/
Int16 AttributeBegin; /*字符串属性开始*/
Int16 AttributeEnd; /*字符串属性开始*/
} Attribute_Item;
/*历史地址结构定义*/
typedef struct URL_History_Item_Tag
{
char url[URL_MAX_LENGTH]; /*url地址*/
Int16 Node; /*相关节点*/
} URL_History_Item;
/*变量结构定义*/
typedef struct Variable_Item_Tag
{
Int16 VariableNameBegin; /*变量名开始*/
Int16 VariableNameEnd; /*变量名结束*/
char VariableValue[INPUT_MAX_LENGTH]; /*变量值字符串*/
} Variable_Item;
typedef struct Image_Data_Item_Tag
{
Int16 hrefbegin;
Int16 hrefend;
char hreftype;
/*0 orige 1 add http:// 2 add https:*/
char Loaded;
char nouse[2];
unsigned char* ImageData;
UInt16 tid;
UInt16 len;
} Image_Data_Item;
/*图像显示节点*/
typedef struct Image_Display_Item_Tag
{
char ImageTag; /*0x04图象标志*/
char ImageArrayIndex; /*图象数组的下标1字节*/
unsigned char ImageWidth; /*图像宽度1字节*/
unsigned char ImageHeight; /*图象高度1字节*/
unsigned char* ImageData; /*图象数据开始下标2字节*/
char StringEnd; /*0x00字符串进标志*/
char nouse[3];
} Image_Display_Item;
/*输入字符串结构*/
typedef struct{
char name[100];
Boolean texttype;
char value[INPUT_MAX_LENGTH];
char format[100];
Boolean emptyok;
short size;
short maxlength;
short tabindex;
char title[100];
char accesskey[100];
}inputattr;
#endif /*_COMMONDEFINES_H_*/