📄 common_api.h
字号:
#include "PixtelDatatypes.h"
#include "gui_data_types.h"
#include "GlobalMenuItems.h"
#include "CustDataProts.h"
#include "CustDataRes.h"
#include "CalendarDef.h"
#include "EventsGprot.h"
#include "wgui_categories_util.h"
#include "GlobalDefs.h"
#include "HistoryGprot.h"
#include "CommonScreens.h"
#include "wgui_categories_inputsenum.h"
#include "wgui_categories_inputs.h"
#include "wgui_inputs.h"
#include "gui.h"
#include "TimerEvents.h"
#include "UnicodeStrgprot.h"
#include "ProtocolEvents.h"
//#include "scroll_bar.h"
#ifndef MYCOMMON_API_H
#define MYCOMMON_API_H
//共用接口的特征宏
///////////////////////////////////////////////////////
//////////////////////////////////////////////////
#define DISK_TYPE 1
#define MY_SOCK_ACCOUNT_ID 14
#define MY_FILENAME_LEN 128
///////////////////////
//FS_Open Parameter
#define FS_READ_WRITE 0x00000000L
#define FS_READ_ONLY 0x00000100L
#define FS_OPEN_SHARED 0x00000200L
#define FS_OPEN_NO_DIR 0x00000400L
#define FS_OPEN_DIR 0x00000800L
#define FS_CREATE 0x00010000L
#define FS_CREATE_ALWAYS 0x00020000L
#define FS_COMMITTED 0x01000000L
#define FS_CACHE_DATA 0x02000000L
#define FS_LAZY_DATA 0x04000000L
#define FS_NONBLOCK_MODE 0x10000000L
#define FS_PROTECTION_MODE 0x20000000L
//FS_GetDrive Parameter
#define FS_NO_ALT_DRIVE 0x00000001
#define FS_ONLY_ALT_SERIAL 0x00000002
#define FS_DRIVE_I_SYSTEM 0x00000004
#define FS_DRIVE_V_NORMAL 0x00000008
#define FS_DRIVE_V_REMOVABLE 0x00000010
#define FS_DRIVE_V_EXTERNAL 0x00000020
//FS_Seek Parameter
#define FS_FILE_BEGIN 0
#define FS_FILE_CURRENT 1
#define FS_FILE_END 2
typedef enum
{
BIG_5_ENCODING_TYPE,
GB2312_ENCODING_TYPE,
NO_OF_TEXT_ENCODING
}TextEncodingEnum;
/* Define the audio play style. */
#ifdef MMI_ON_WIN32
typedef enum
{
DEVICE_AUDIO_PLAY_CRESCENDO = 0 , /* Play sound for crescendo. */
DEVICE_AUDIO_PLAY_INFINITE , /* Play sound for infinite. */
DEVICE_AUDIO_PLAY_ONCE , /* Play sound for once. */
DEVICE_AUDIO_PLAY_DESCENDO /* Play sound for descendo. */
}audio_play_style_enum;
#endif
typedef struct
{
kal_uint8 ref_count;
kal_uint16 msg_len;
kal_int8 socket_id; /* socket ID */
kal_uint8 event_type; /* soc_event_enum */
kal_bool result;
kal_int8 error_cause; /* used only when EVENT is close/connect */
kal_int32 detail_cause; /* refer to cm_cause_enum if error_cause is SOC_BEARER_FAIL */
}app_soc_notify_ind_struct;
typedef struct
{
kal_uint8 ref_count;
kal_uint16 msg_len;
kal_bool result;
kal_int32 request_id;
kal_uint8 addr[16];
kal_uint8 addr_len;
kal_uint8 access_id;
/* New for DNS query reply for reporting bearer fali */
kal_int8 error_cause; /* bearer fail */
kal_int32 detail_cause; /* refer to ps_cause_enum if error_cause is SOC_BEARER_FAIL */
}app_soc_get_host_by_name_ind_struct;
typedef enum
{
HTTP,
DNS,
DAYTIME,
ECHO
} mmi_soc_demo_app_enum;
////短信-----------------------
#define MAX_CC_ADDR_LEN 41
#define SMSAL_MAX_MSG_LEN (160)
#define MMI_FRM_SMS_INVALID_INDEX 0xffff
#define CSMCC_DEFAULT_ADDR_TYPE 129
#define CSMCC_INTERNATIONAL_ADDR 145
/* This value is to define the maximun segment number of EMS short message. */
#ifdef __EMS_REL5__
#define MMI_SMS_MAX_MSG_SEG 8
#else
#define MMI_SMS_MAX_MSG_SEG 4
#endif
#ifdef MMI_ON_WIN32
typedef struct
{
kal_uint8 type;
kal_uint8 length;
kal_uint8 number[MAX_CC_ADDR_LEN];
}l4c_number_struct;
#endif
typedef struct
{
unsigned char totalSegments;
unsigned char presentSegments; /* use for send waiting response */
unsigned char nextSegment; /* use for save one by one */
unsigned char dcs;
unsigned char udhi;
unsigned char mti;
unsigned char st;
/* Params for Sending only */
char *phNumber;
unsigned char number[(20 + 2) *2];
unsigned char status;
unsigned char timestamp[6];
/* prepare for new interface, 0416 */
unsigned short msgboxindex;
/* Take a contiguous buffer so that we can re-use! */
unsigned char TPUD[MMI_SMS_MAX_MSG_SEG *160];
unsigned char *TPUD_p[MMI_SMS_MAX_MSG_SEG];
unsigned char TPUDLen[MMI_SMS_MAX_MSG_SEG];
/* MTK Joy added for error SIM handler, 10/07 */
unsigned char TPUD_udhi[MMI_SMS_MAX_MSG_SEG];
unsigned short l4index[MMI_SMS_MAX_MSG_SEG];
} PendingSaveSendDataStruct;
/////////////////////////////////////////////
#define MAX_SOCK_ADDR_LEN (16)
#define PF_INET (0)
typedef struct
{
kal_int16 addr_len;
kal_uint8 addr[MAX_SOCK_ADDR_LEN];
kal_uint16 port;
}sockaddr_struct;
typedef enum
{
SOCK_STREAM =0, /* stream socket, TCP */
SOCK_DGRAM, /* datagram socket, UDP */
SOCK_SMS, /* SMS bearer */
SOCK_RAW /* raw socket */
}socket_type_enum;
/*
* event
*/
typedef enum
{
SOC_READ = 0x01, /* Notify for read */
SOC_WRITE = 0x02, /* Notify for write */
SOC_ACCEPT = 0x04, /* Notify for accept */
SOC_CONNECT = 0x08, /* Notify for connect */
SOC_CLOSE = 0x10 /* Notify for close */
}soc_event_enum;
/*
* Socket Options
*/
typedef enum
{
SOC_OOBINLINE = 0x01, /* not support yet */
SOC_LINGER = 0x02, /* linger on close */
SOC_NBIO = 0x04, /* Nonblocking */
SOC_ASYNC = 0x08, /* Asynchronous notification */
SOC_NODELAY = 0x10, /* disable Nagle algorithm or not */
SOC_KEEPALIVE = 0x20,
SOC_RCVBUF = 0x40,
SOC_SENDBUF = 0x80,
SOC_NREAD = 0x0100, /* no. of bytes for read, only for soc_getsockopt */
SOC_PKT_SIZE = 0x0200, /* datagram max packet size */
SOC_SILENT_LISTEN = 0x0400 /* SOCK_SMS property */
}soc_option_enum;
typedef struct
{
short start;
short end;
}key_index_t;
typedef struct
{
kal_uint16 gb_code_high;
kal_uint16 gb_code_low;
kal_uint16 ucs2_code;
} mmi_chset_gb18030_ucs2_4_byte_struct;
typedef struct
{
kal_uint16 gb_code;
kal_uint16 ucs2_code;
} mmi_chset_gb18030_ucs2_2_byte_struct;
#endif
//COMMON_API_H
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//以下是通用全局变量和常用函数的声明
extern unsigned char LM_disable_softkey_flag; ////控制 softkey 的重画
extern GDI_HANDLE MainWin_anim; //播放动画时共用ID
extern int desk_top_mode;
extern char gHomePLMNNum[]; //判断联通还是移动
extern PendingSaveSendDataStruct PendingSaveSendData;
////系统的数组
extern const key_index_t *g_chset_encode_to_ucs2_key_LSB_index[NO_OF_TEXT_ENCODING];
extern const kal_uint8 *g_chset_encode_to_ucs2_key_MSB[NO_OF_TEXT_ENCODING];
extern const kal_uint16 *g_chset_encode_to_ucs2_table[NO_OF_TEXT_ENCODING];
extern const kal_uint16 g_chset_unknown_encode_char[];
extern const key_index_t g_chset_gb2312_to_ucs2_key_LSB_index[];
extern const unsigned short g_chset_gb2312_to_ucs2_table[];
extern const unsigned char g_chset_gb2312_to_ucs2_key_MSB[];
extern const unsigned short g_chset_big5_to_ucs2_table[];
extern const key_index_t g_chset_big5_to_ucs2_key_LSB_index[];
extern const key_index_t *g_chset_ucs2_to_encode_key_LSB_index[NO_OF_TEXT_ENCODING];
extern const kal_uint8 *g_chset_ucs2_to_encode_key_MSB[NO_OF_TEXT_ENCODING];
extern const kal_uint16 *g_chset_ucs2_to_encode_table[NO_OF_TEXT_ENCODING];
extern const key_index_t g_chset_ucs2_to_gb2312_key_LSB_index[];
extern const unsigned char g_chset_ucs2_to_gb2312_key_MSB[];
extern const unsigned short g_chset_ucs2_to_gb2312_table[];
extern const unsigned char g_chset_big5_to_ucs2_key_MSB[];
extern const unsigned char g_chset_ucs2_to_big5_key_MSB[];
extern const key_index_t g_chset_ucs2_to_big5_key_LSB_index[];
extern const unsigned short g_chset_ucs2_to_big5_table[];
extern const mmi_chset_gb18030_ucs2_2_byte_struct g_chset_gb18030_to_ucs2_2_byte_tbl[];
extern const mmi_chset_gb18030_ucs2_4_byte_struct g_chset_gb18030_to_ucs2_4_byte_tbl[];
extern const mmi_chset_gb18030_ucs2_2_byte_struct g_chset_ucs2_to_gb18030_2_byte_tbl[];
extern const mmi_chset_gb18030_ucs2_4_byte_struct g_chset_ucs2_to_gb18030_4_byte_tbl[];
///////////////////////////////////////////////////////////////
//函数
extern kal_int16 mmi_chset_binary_search
(
const kal_uint8 key,
const kal_uint8 *lookup_table,
kal_int16 start,
kal_int16 end
);
extern kal_uint16 mmi_chset_ucs2_to_text_str
(
unsigned char *dest,
unsigned short dest_size,
unsigned char *src,
TextEncodingEnum encoding
);
extern kal_bool mmi_chset_gb18030_to_ucs2_2_byte_search(kal_uint16 src, kal_uint16 *dest);
extern kal_bool mmi_chset_gb18030_to_ucs2_4_byte_search(kal_uint32 src, kal_uint16 *dest);
extern kal_bool mmi_chset_ucs2_to_gb18030_2_byte_search(kal_uint16 src, kal_uint32 *dest);
extern kal_bool mmi_chset_ucs2_to_gb18030_4_byte_search(kal_uint16 src, kal_uint32 *dest);
extern kal_uint32 mmi_chset_gb18030_ucs2_4byte_size(void);
extern kal_uint32 mmi_chset_gb18030_ucs2_2byte_size(void);
extern kal_uint32 mmi_chset_ucs2_gb18030_2byte_size(void);
extern kal_uint32 mmi_chset_ucs2_gb18030_4byte_size(void);
extern void mmi_frm_sms_send_sms_seg(void);
//原函数为静态函数,此函数在原函数所在文件中调用原函数,避开静态函数不能在文件外调用的问题
extern void MY_SMSMSG_mmi_frm_sms_free_sendsms_data(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -