blob: f337fd6662197dfae7d5663b1eb697006fd6500d [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
2 SHORT MESSAGES SERVICES(SMS) MODULE
3
4GENERAL DESCRIPTION
5 created by huojianlei for short messages services(SMS) module
6
7Author Date
8----------------------------------------------------------------------------------------------
9huojianlei 20120201
10
11*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/
12#ifndef _LIBZTE_WMS_H_
13#define _LIBZTE_WMS_H_
14/*===========================================================================
15 INCLUDES
16===========================================================================*/
17#include "softap_api.h"
18
19#define DCS_ASC 1
20#define DCS_USC 2
21#define DCS_UNKNOW 0
22#define DCS_UNICODE 2
23#define DCS_SPANISH 3
24#define DCS_GSM7_DEFAULT 4
25#define DCS_TURKISH 6
26
27
28// #include "zte_topsw_wms_type.h"
29typedef struct
30{
31 unsigned char year[5];
32 unsigned char month[3];
33 unsigned char day[3];
34 unsigned char hour[3];
35 unsigned char min[3];
36 unsigned char sec[3];
37 unsigned char timezone[4];
38}zte_wms_sms_date;
39
40/* gsdi card mode */
41typedef enum
42{
43 ZTE_WMS_GSDI_CARD_MODE_NONE=0X00,
44 ZTE_WMS_GSDI_CARD_MODE_UIM,
45 ZTE_WMS_GSDI_CARD_MODE_USIM
46} zte_wms_gsdi_card_mode_e_type;
47
48/*sleep and wakeup message */
49typedef enum
50{
51 ZTE_WMS_SLEEP_TYPE=0,
52 ZTE_WMS_WAKEUP_TYPE
53} zte_wms_sleep_wakeup_e_type;
54
55
56#define ZTE_WMS_DELETE_COUNT_MAX1 (100)
57typedef struct
58{
59 unsigned long nv_count;
60 unsigned long nv_index_count;
61 unsigned long nv_index;
62 unsigned long nv_id[ZTE_WMS_DELETE_COUNT_MAX1];
63
64 unsigned long sim_count;
65 unsigned long sim_index_count;
66 unsigned long sim_index;
67 unsigned long sim_id[ZTE_WMS_DELETE_COUNT_MAX1];
68 unsigned long sim_indices[ZTE_WMS_DELETE_COUNT_MAX1];
69}zte_wms_delete_msg_ui_rsp_s_type;
70
71typedef struct
72{
73 T_zUfiSms_CmdType cmd;
74 T_zUfiSms_CmdStatus cmd_status;
75 /*err_code can be used when sending msg, writting msg and setting sms parameters*/
76 T_zUfiSms_ErrorType err_code; /*reference to CMS error code */
77 unsigned int send_failed_count;
78 unsigned int delete_failed_count;
79
80 zte_wms_delete_msg_ui_rsp_s_type delete_result;
81}zte_wms_cmd_status_info_s_type;
82
83typedef struct
84{
85 unsigned int received_new_sms;
86 unsigned int sms_capacity;
87 unsigned int total_count;
88 unsigned int unread_count;
89 int is_full;
90}zte_wms_led_sms_info_s_type;
91
92
93/*-----------------------------------------------------------------------------
94 * This code must sync with the libzte_mc.h
95 *-----------------------------------------------------------------------------*/
96#ifndef ZTE_MC_WMS_TYPE
97#define ZTE_MC_WMS_TYPE
98
99#define ZTE_WMS_MESSAGE_LIST_MAX 255
100#define ZTE_WMS_DB_EXECSQL_LEN 1024
101#define ZTE_WMS_SEND_NUM_MAX (5)
102#define ZTE_WMS_ADDRESS_DIGIT_MAX_V01 21
103#define ZTE_WMS_ADDRESS_LEN_MAX 32
104#define ZTE_WMS_SMS_MSG_CONTENT_LEN_MAX (160)
105/*DELETE_COUNT_MAX*/
106#ifdef CONFIG_MIN_8M_VERSION
107#define ZTE_WMS_DELETE_COUNT_MAX (20)
108#else
109#define ZTE_WMS_DELETE_COUNT_MAX (100)
110#endif
111#define ZTE_WMS_DB_MSG_COUNT_MAX (ZTE_WMS_DELETE_COUNT_MAX)
112#define ZTE_WMS_CMD_DELETE_BUFFER_LEN_MAX (ZTE_WMS_DELETE_COUNT_MAX * 6)
113/*support MAX COUNT NUMBER*/
114#define ZTE_WMS_RECEIVER_NUM_MAX (50)
115#define ZTE_WMS_SMS_MSG_CHAR_MAX (140)
116#define ZTE_WMS_SMS_MSG_CONTENT_STORE_LEN_MAX (2 * ZTE_WMS_SMS_MSG_CONTENT_LEN_MAX)
117#define ZTE_WMS_SMS_COUNT_MAX (10)
118#ifdef CUSTOM_VERSION_MF253S2_CM_CN
119#define ZTE_WMS_CONCAT_SMS_COUNT_MAX (10)// 1-->5 liuqg for concat sms
120#else
121#define ZTE_WMS_CONCAT_SMS_COUNT_MAX (10)
122#endif
123#define ZTE_WMS_SMS_CONCAT_CONTENT_LEN_MAX (2 * ZTE_WMS_SMS_MSG_CONTENT_STORE_LEN_MAX * ZTE_WMS_CONCAT_SMS_COUNT_MAX)
124#define ZTE_WMS_SCA_LEN_MAX (32)
125
126#define ZTE_WMS_TP_SCTS_LEN_MAX (50) /*modified by crw*/
127#define ZTE_WMS_SMS_UD_HEADER_LEN_MAX (30)
128#define ZTE_WMS_SMS_CONCAT_ELEMNT_MAX (3)
129#define ZTE_WMS_SMS_CONCAT_ELEMNT_ASC_LEN (153)
130#define ZTE_WMS_SMS_CONCAT_ELEMNT_UCS_LEN (67)
131
132
133
134
135
136typedef unsigned char boolean; /* Boolean value type. */
137
138
139//typedef int wms_message_index_type;
140/*wms database*/
141typedef enum
142{
143 ZTE_WMS_TABLE_SIM = 0,
144 ZTE_WMS_TABLE_NV,
145
146 ZTE_WMS_TABLE_CMD_STATUS,
147 ZTE_WMS_TABLE_SMS_REPORT,
148 ZTE_WMS_TABLE_PAR,
149
150 ZTE_WMS_STORE_MAX
151}zte_wms_db_store_e_type;
152
153
154typedef struct
155{
156 unsigned char content[1024];
157} zte_wms_cell_bro_s_type;
158
159
160
161/*for sending msg req*/
162typedef struct
163{
164 unsigned char receiver_count;
165 unsigned char mem_store;
166 unsigned char dest_num[ZTE_WMS_SEND_NUM_MAX][ZTE_WMS_ADDRESS_LEN_MAX+1];
167 unsigned short msg_len; /*message length in byte */
168 //unsigned char msg_content[ZTE_WMS_SMS_MSG_CONTENT_LEN_MAX * ZTE_WMS_CONCAT_SMS_COUNT_MAX *2];
169 unsigned char msg_content[2]; // ÄÚÈÝͨ¹ýÊý¾Ý¿â´«µÝ£¬²»Ê¹ÓøòÎÊýÁË
170 unsigned char dcs; /*1-->ASCII, 2-->UNICODE, 3-->GSM7 SPANISH, 4-->GSM7 DEFAULT, 5-->GSM7 PORTUGUESE*/
171
172 unsigned char tags; /* for pc client */
173
174 boolean isReply;
175 boolean isDelete;
176
177 long id; // for reply
178 zte_wms_db_store_e_type db;
179 zte_wms_sms_date date;
180 unsigned char draft_group_id[32];
181} zte_wms_send_msg_ui_req_s_type;
182
183typedef zte_wms_send_msg_ui_req_s_type zte_wms_write_msg_info_s_type;
184
185#if 0
186typedef struct
187{
188 int id;
189} zte_wms_send_msg_ui_req_s_type;
190typedef zte_wms_send_msg_ui_req_s_type zte_wms_write_msg_info_s_type;
191#endif
192
193/*modify msg tag req */
194typedef struct
195{
196 zte_wms_db_store_e_type db;
197 unsigned long id_index;
198
199 unsigned short total_indices;
200 unsigned short num_of_indices; /* Total indices */
201 unsigned int indices[ZTE_WMS_MESSAGE_LIST_MAX];
202} zte_wms_modify_msg_tag_info_s_type;
203
204
205/*for deleting msg req*/
206typedef struct
207{
208 unsigned char tags;
209 unsigned int total_id;
210 unsigned int id[ZTE_WMS_DB_MSG_COUNT_MAX];
211} zte_wms_modify_tag_s_type;
212
213/*for deleting msg req*/
214typedef struct
215{
216 zte_wms_db_store_e_type db;
217 unsigned int all_or_count; /*all_or_count=0--->delete all,others--->delete partial sms*/
218 unsigned int id[ZTE_WMS_DELETE_COUNT_MAX];
219 unsigned char sql[2];// δÓõ½¸Ã²ÎÊý
220} zte_wms_del_msg_s_type;
221/*stucture for deleting cmd status report stored in db table */
222
223
224
225
226
227
228#endif // ZTE_MC_WMS_TYPE
229
230
231/*-----------------------------------------------------------------------------
232 * Sync data end
233 *-----------------------------------------------------------------------------*/
234typedef struct {
235 char id[10];
236 char number [ZTE_WMS_ADDRESS_LEN_MAX + 1];
237 char sms_content[2*ZTE_WMS_SMS_MSG_CONTENT_STORE_LEN_MAX * ZTE_WMS_CONCAT_SMS_COUNT_MAX + 1];
238 char tag[10];
239 zte_wms_sms_date date;
240 char draft_group_id[32];
241} zte_sms_data;
242#if 0 // Ô­À´²»Ö§³Ö¼¶Áª¶ÌÐŵĴúÂë
243typedef struct {
244 char id[10];
245 char number [ZTE_WMS_ADDRESS_LEN_MAX + 1];
246 char sms_content[2*ZTE_WMS_SMS_MSG_CONTENT_STORE_LEN_MAX *ZTE_WMS_CONCAT_SMS_COUNT_MAX + 1];
247 char tag[10];
248 zte_wms_sms_date date;
249 char draft_group_id[32];
250} zte_sms_data;
251#endif
252/* ---------- end of struct sms_data ---------- */
253
254typedef struct {
255 unsigned char page;
256 unsigned char data_per_page;
257 unsigned char mem_store;
258 unsigned char tags;
259 unsigned char order_by[256];
260} zte_sms_query_req ;
261/* ---------- end of struct sms_query_req ---------- */
262
263typedef struct {
264 unsigned char count;
265 zte_sms_data data[0];/*lint !e1501*/
266} zte_sms_query_result;
267
268typedef struct {
269 char id[10];
270 char bcm_srv_id [ZTE_WMS_ADDRESS_LEN_MAX + 1];
271 char total_pages[10];
272 char page_number[10];
273 char geo_scope[10];
274 char mesage_code[10];
275 char raw_serial_number[10];
276 char raw_dcs_data[10];
277 char update_number[10];
278 char alphabet[10];
279 char language[10];
280 char sm_len[10];
281 char sm_data[2*ZTE_WMS_SMS_MSG_CONTENT_STORE_LEN_MAX * ZTE_WMS_CONCAT_SMS_COUNT_MAX + 1];
282} zte_bcm_data;
283typedef struct {
284 unsigned char count;
285 zte_bcm_data data[0]; /*lint !e1501*//*lint !e43*/
286} zte_bcm_query_result;
287
288/*for deleting broadcast msg req*/
289typedef struct
290{
291 zte_wms_db_store_e_type db;
292 unsigned long all_or_count; /*all_or_count=0--->delete all,others--->delete partial cbm*/
293 unsigned long id[ZTE_WMS_DELETE_COUNT_MAX];
294 unsigned char sql[ZTE_WMS_DB_EXECSQL_LEN];
295} zte_wms_del_bcm_msg_s_type;
296/*===========================================================================
297 FUNCTIONS
298===========================================================================*/
299#if 0 //unused
300int zte_libwms_set_parameter
301(
302 zte_wms_parameter_info_s_type *para_ptr
303);
304
305int zte_libwms_send_msg
306(
307 zte_wms_send_msg_ui_req_s_type *msg_ptr
308);
309int zte_libwms_write_msg
310(
311 zte_wms_write_msg_info_s_type *msg_ptr
312);
313int zte_libwms_delete_msg
314(
315 zte_wms_del_msg_s_type *del_info_ptr
316);
317int zte_libwms_modify_tag
318(
319 zte_wms_modify_tag_s_type *modify_ptr
320);
321int zte_libwms_init_load_msg
322(
323 zte_wms_gsdi_card_mode_e_type card_mode
324);
325int zte_libwms_sleep_wakeup_msg
326(
327 zte_wms_sleep_wakeup_e_type sleep_wakeup_type
328);
329#endif
330int zte_libwms_get_cmd_status(zte_wms_cmd_status_info_s_type *cmd_status);
331
332int
333zte_libwms_get_sms_data (zte_sms_query_req *req, zte_sms_query_result *result);
334int
335zte_libwms_get_sms_report (zte_sms_query_req *req, zte_sms_query_result *result);
336
337int zte_libwms_get_parameter(zte_wms_parameter_info_s_type *para);
338
339
340int
341zte_libwms_get_sms_used (int mem_store,int tags);
342
343int
344zte_libwms_get_sms_capability (int mem_store);
345
346int
347zte_libwms_restore_sms(boolean isDelete);
348
349int zte_libwms_led_get_sms_received();
350int zte_libwms_led_get_sms_information(zte_wms_led_sms_info_s_type *sms_info);
351int zte_libwms_get_cell_bro(zte_wms_cell_bro_s_type *para);
352int zte_libwms_db_write_send_msg_content_data (char *content);
353int zte_libwms_setSmsCmdStatus(zte_wms_cmd_status_info_s_type *ptSetStatus);
354
355//for traffic sms
356int zte_libwms_get_traffic_sms_body(long id, char *body);
357
358typedef struct
359{
360 int count;
361 char id[10][20];
362} zte_wms_traffic_sms_id;
363int zte_libwms_get_traffic_sms_id(char *str_id, int *count);
364
365#endif /*_LIBZTE_WMS_H_*/
366