zte's code,first commit

Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/ap/lib/libzte_pbm/libzte_wms.h b/ap/lib/libzte_pbm/libzte_wms.h
new file mode 100755
index 0000000..f337fd6
--- /dev/null
+++ b/ap/lib/libzte_pbm/libzte_wms.h
@@ -0,0 +1,366 @@
+/*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*

+                                                      SHORT MESSAGES SERVICES(SMS) MODULE

+

+GENERAL DESCRIPTION

+    created by huojianlei for short messages services(SMS) module

+

+Author                Date

+----------------------------------------------------------------------------------------------

+huojianlei            20120201

+

+*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/

+#ifndef _LIBZTE_WMS_H_

+#define _LIBZTE_WMS_H_

+/*===========================================================================

+                            INCLUDES

+===========================================================================*/

+#include "softap_api.h"

+

+#define DCS_ASC 1

+#define DCS_USC 2

+#define DCS_UNKNOW 0

+#define DCS_UNICODE 2

+#define DCS_SPANISH  3

+#define DCS_GSM7_DEFAULT  4

+#define DCS_TURKISH    6

+

+

+// #include "zte_topsw_wms_type.h"

+typedef struct

+{

+    unsigned char year[5];

+    unsigned char month[3];

+    unsigned char day[3];

+    unsigned char hour[3];

+    unsigned char min[3];

+    unsigned char sec[3];

+    unsigned char timezone[4];

+}zte_wms_sms_date;

+

+/* gsdi card mode */

+typedef enum

+{

+    ZTE_WMS_GSDI_CARD_MODE_NONE=0X00,

+    ZTE_WMS_GSDI_CARD_MODE_UIM,

+    ZTE_WMS_GSDI_CARD_MODE_USIM

+} zte_wms_gsdi_card_mode_e_type;

+

+/*sleep and wakeup message */

+typedef enum

+{

+    ZTE_WMS_SLEEP_TYPE=0,

+    ZTE_WMS_WAKEUP_TYPE

+} zte_wms_sleep_wakeup_e_type;

+

+

+#define ZTE_WMS_DELETE_COUNT_MAX1                  (100)

+typedef struct

+{   

+    unsigned long nv_count;

+    unsigned long nv_index_count;

+    unsigned long nv_index;

+    unsigned long nv_id[ZTE_WMS_DELETE_COUNT_MAX1];

+    

+    unsigned long sim_count;

+    unsigned long sim_index_count;

+    unsigned long sim_index;

+    unsigned long sim_id[ZTE_WMS_DELETE_COUNT_MAX1];

+    unsigned long sim_indices[ZTE_WMS_DELETE_COUNT_MAX1];

+}zte_wms_delete_msg_ui_rsp_s_type;

+

+typedef struct

+{

+    T_zUfiSms_CmdType cmd;

+    T_zUfiSms_CmdStatus cmd_status;                    

+    /*err_code can be used when sending msg, writting msg and setting sms parameters*/    

+    T_zUfiSms_ErrorType err_code;        /*reference to CMS error code */    

+    unsigned int send_failed_count;

+    unsigned int delete_failed_count;

+

+    zte_wms_delete_msg_ui_rsp_s_type delete_result;

+}zte_wms_cmd_status_info_s_type;

+

+typedef struct

+{

+    unsigned int received_new_sms;

+    unsigned int sms_capacity;

+    unsigned int total_count;

+    unsigned int unread_count;    

+    int               is_full;    

+}zte_wms_led_sms_info_s_type;

+

+

+/*-----------------------------------------------------------------------------

+ *  This code must sync with the libzte_mc.h

+ *-----------------------------------------------------------------------------*/

+#ifndef ZTE_MC_WMS_TYPE

+#define ZTE_MC_WMS_TYPE

+

+#define ZTE_WMS_MESSAGE_LIST_MAX 255

+#define ZTE_WMS_DB_EXECSQL_LEN 1024

+#define ZTE_WMS_SEND_NUM_MAX                 (5)

+#define ZTE_WMS_ADDRESS_DIGIT_MAX_V01 21

+#define ZTE_WMS_ADDRESS_LEN_MAX 32

+#define ZTE_WMS_SMS_MSG_CONTENT_LEN_MAX             (160)

+/*DELETE_COUNT_MAX*/

+#ifdef CONFIG_MIN_8M_VERSION

+#define ZTE_WMS_DELETE_COUNT_MAX                  (20)

+#else

+#define ZTE_WMS_DELETE_COUNT_MAX                  (100)

+#endif

+#define ZTE_WMS_DB_MSG_COUNT_MAX                       (ZTE_WMS_DELETE_COUNT_MAX)

+#define ZTE_WMS_CMD_DELETE_BUFFER_LEN_MAX        (ZTE_WMS_DELETE_COUNT_MAX * 6)

+/*support MAX COUNT NUMBER*/

+#define ZTE_WMS_RECEIVER_NUM_MAX                 (50)

+#define ZTE_WMS_SMS_MSG_CHAR_MAX                    (140)

+#define ZTE_WMS_SMS_MSG_CONTENT_STORE_LEN_MAX     (2 * ZTE_WMS_SMS_MSG_CONTENT_LEN_MAX)

+#define ZTE_WMS_SMS_COUNT_MAX                         (10)

+#ifdef CUSTOM_VERSION_MF253S2_CM_CN

+#define ZTE_WMS_CONCAT_SMS_COUNT_MAX                         (10)//  1-->5   liuqg for concat sms

+#else

+#define ZTE_WMS_CONCAT_SMS_COUNT_MAX                         (10)

+#endif

+#define ZTE_WMS_SMS_CONCAT_CONTENT_LEN_MAX  (2 * ZTE_WMS_SMS_MSG_CONTENT_STORE_LEN_MAX * ZTE_WMS_CONCAT_SMS_COUNT_MAX)

+#define ZTE_WMS_SCA_LEN_MAX                             (32)

+

+#define ZTE_WMS_TP_SCTS_LEN_MAX                         (50)        /*modified by crw*/

+#define ZTE_WMS_SMS_UD_HEADER_LEN_MAX                (30)

+#define ZTE_WMS_SMS_CONCAT_ELEMNT_MAX                (3)

+#define ZTE_WMS_SMS_CONCAT_ELEMNT_ASC_LEN            (153)

+#define ZTE_WMS_SMS_CONCAT_ELEMNT_UCS_LEN            (67)

+

+

+

+

+

+typedef  unsigned char      boolean;     /* Boolean value type. */

+

+

+//typedef int wms_message_index_type;

+/*wms database*/

+typedef enum

+{

+    ZTE_WMS_TABLE_SIM = 0,    

+    ZTE_WMS_TABLE_NV,

+    

+    ZTE_WMS_TABLE_CMD_STATUS,

+    ZTE_WMS_TABLE_SMS_REPORT,

+    ZTE_WMS_TABLE_PAR,

+    

+    ZTE_WMS_STORE_MAX

+}zte_wms_db_store_e_type;

+

+

+typedef struct

+{

+    unsigned char content[1024];    

+} zte_wms_cell_bro_s_type;

+

+

+

+/*for sending msg req*/

+typedef struct

+{

+    unsigned char receiver_count;

+    unsigned char mem_store;

+    unsigned char dest_num[ZTE_WMS_SEND_NUM_MAX][ZTE_WMS_ADDRESS_LEN_MAX+1];

+    unsigned short msg_len;        /*message length in byte */

+    //unsigned char msg_content[ZTE_WMS_SMS_MSG_CONTENT_LEN_MAX * ZTE_WMS_CONCAT_SMS_COUNT_MAX *2]; 

+    unsigned char msg_content[2]; // ÄÚÈÝͨ¹ýÊý¾Ý¿â´«µÝ£¬²»Ê¹ÓøòÎÊýÁË

+    unsigned char dcs;                /*1-->ASCII, 2-->UNICODE, 3-->GSM7 SPANISH, 4-->GSM7 DEFAULT, 5-->GSM7 PORTUGUESE*/

+

+    unsigned char tags; /* for pc client */

+    

+    boolean isReply;

+    boolean isDelete;

+

+    long id; // for reply

+    zte_wms_db_store_e_type db;

+    zte_wms_sms_date date;    

+    unsigned char draft_group_id[32];

+} zte_wms_send_msg_ui_req_s_type;

+

+typedef zte_wms_send_msg_ui_req_s_type zte_wms_write_msg_info_s_type;

+

+#if 0

+typedef struct

+{

+    int id;

+} zte_wms_send_msg_ui_req_s_type;

+typedef zte_wms_send_msg_ui_req_s_type zte_wms_write_msg_info_s_type;

+#endif

+

+/*modify msg tag req */

+typedef struct

+{

+    zte_wms_db_store_e_type db;

+    unsigned long id_index;

+

+    unsigned short total_indices;

+    unsigned short  num_of_indices;     /* Total indices          */

+    unsigned int indices[ZTE_WMS_MESSAGE_LIST_MAX];

+} zte_wms_modify_msg_tag_info_s_type;

+

+

+/*for deleting msg req*/

+typedef struct

+{

+    unsigned char tags;

+    unsigned int total_id;  

+    unsigned int id[ZTE_WMS_DB_MSG_COUNT_MAX];

+} zte_wms_modify_tag_s_type;

+
+/*for deleting msg req*/

+typedef struct

+{

+    zte_wms_db_store_e_type db;

+    unsigned int all_or_count;                        /*all_or_count=0--->delete all,others--->delete partial sms*/

+    unsigned int id[ZTE_WMS_DELETE_COUNT_MAX];

+    unsigned char sql[2];// δÓõ½¸Ã²ÎÊý

+} zte_wms_del_msg_s_type;

+/*stucture for deleting cmd status report stored in db table */

+

+

+

+

+

+

+#endif // ZTE_MC_WMS_TYPE

+

+

+/*-----------------------------------------------------------------------------

+ *  Sync data end

+ *-----------------------------------------------------------------------------*/

+typedef struct {

+    char id[10];

+    char number [ZTE_WMS_ADDRESS_LEN_MAX + 1];

+    char sms_content[2*ZTE_WMS_SMS_MSG_CONTENT_STORE_LEN_MAX * ZTE_WMS_CONCAT_SMS_COUNT_MAX + 1];   

+    char tag[10];

+    zte_wms_sms_date date;

+    char draft_group_id[32];

+} zte_sms_data;

+#if 0  // Ô­À´²»Ö§³Ö¼¶Áª¶ÌÐŵĴúÂë

+typedef struct {

+    char id[10];

+    char number [ZTE_WMS_ADDRESS_LEN_MAX + 1];

+    char sms_content[2*ZTE_WMS_SMS_MSG_CONTENT_STORE_LEN_MAX *ZTE_WMS_CONCAT_SMS_COUNT_MAX + 1];   

+    char tag[10];

+    zte_wms_sms_date date;

+    char draft_group_id[32];

+} zte_sms_data;

+#endif

+/* ----------  end of struct sms_data ---------- */

+

+typedef struct {

+    unsigned char page;

+    unsigned char data_per_page;

+    unsigned char mem_store;

+    unsigned char tags;

+    unsigned char order_by[256];

+} zte_sms_query_req ;				

+/* ----------  end of struct sms_query_req  ---------- */

+

+typedef struct {

+    unsigned char count;

+    zte_sms_data  data[0];/*lint !e1501*/

+} zte_sms_query_result;

+

+typedef struct {

+    char id[10];

+    char bcm_srv_id [ZTE_WMS_ADDRESS_LEN_MAX + 1];

+    char total_pages[10];

+    char page_number[10];

+    char geo_scope[10];

+    char mesage_code[10];

+    char raw_serial_number[10];

+    char raw_dcs_data[10];

+    char update_number[10];

+    char alphabet[10];

+    char language[10];

+    char sm_len[10];

+    char sm_data[2*ZTE_WMS_SMS_MSG_CONTENT_STORE_LEN_MAX * ZTE_WMS_CONCAT_SMS_COUNT_MAX + 1];   

+} zte_bcm_data;

+typedef struct {

+    unsigned char count;

+    zte_bcm_data  data[0];  /*lint !e1501*//*lint !e43*/

+} zte_bcm_query_result;

+

+/*for deleting  broadcast msg  req*/

+typedef struct

+{

+    zte_wms_db_store_e_type db;

+    unsigned long all_or_count;                        /*all_or_count=0--->delete all,others--->delete partial cbm*/

+    unsigned long id[ZTE_WMS_DELETE_COUNT_MAX];

+    unsigned char sql[ZTE_WMS_DB_EXECSQL_LEN];

+} zte_wms_del_bcm_msg_s_type;

+/*===========================================================================

+                            FUNCTIONS

+===========================================================================*/

+#if 0 //unused

+int zte_libwms_set_parameter

+(

+    zte_wms_parameter_info_s_type *para_ptr

+);

+

+int zte_libwms_send_msg

+(

+    zte_wms_send_msg_ui_req_s_type *msg_ptr

+);

+int zte_libwms_write_msg

+(

+    zte_wms_write_msg_info_s_type *msg_ptr

+);

+int zte_libwms_delete_msg

+(

+    zte_wms_del_msg_s_type *del_info_ptr

+);

+int zte_libwms_modify_tag

+(

+    zte_wms_modify_tag_s_type *modify_ptr

+);

+int zte_libwms_init_load_msg

+(

+    zte_wms_gsdi_card_mode_e_type card_mode

+);

+int zte_libwms_sleep_wakeup_msg

+(

+    zte_wms_sleep_wakeup_e_type sleep_wakeup_type

+);

+#endif

+int zte_libwms_get_cmd_status(zte_wms_cmd_status_info_s_type *cmd_status);

+

+int

+zte_libwms_get_sms_data (zte_sms_query_req *req, zte_sms_query_result *result);

+int

+zte_libwms_get_sms_report (zte_sms_query_req *req, zte_sms_query_result *result);

+

+int zte_libwms_get_parameter(zte_wms_parameter_info_s_type *para);

+

+

+int 

+zte_libwms_get_sms_used (int mem_store,int tags);

+

+int 

+zte_libwms_get_sms_capability (int mem_store);

+

+int 

+zte_libwms_restore_sms(boolean isDelete);

+

+int zte_libwms_led_get_sms_received();

+int zte_libwms_led_get_sms_information(zte_wms_led_sms_info_s_type *sms_info);

+int zte_libwms_get_cell_bro(zte_wms_cell_bro_s_type *para);

+int zte_libwms_db_write_send_msg_content_data (char *content);

+int zte_libwms_setSmsCmdStatus(zte_wms_cmd_status_info_s_type *ptSetStatus);

+

+//for traffic sms

+int zte_libwms_get_traffic_sms_body(long id, char *body);

+

+typedef struct

+{

+    int count;

+    char id[10][20];

+} zte_wms_traffic_sms_id;

+int zte_libwms_get_traffic_sms_id(char *str_id,  int *count);

+

+#endif /*_LIBZTE_WMS_H_*/

+