⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common_api.h

📁 在MTK下开发的一个词典项目
💻 H
📖 第 1 页 / 共 2 页
字号:
#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 + -