dsmApi.h
5.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
#ifdef __MMI_DSM_NEW__
#ifndef __DSM_API_H__
#define __DSM_API_H__
#ifndef NULL
#define NULL 0
#endif
typedef unsigned char U8;
typedef int int32;
typedef unsigned int uint32;
typedef unsigned char uint8;
typedef unsigned char kal_uint8;
typedef unsigned short int kal_uint16;
typedef unsigned char BOOL;
typedef unsigned long int gunichar;
typedef char gchar;
typedef unsigned int guint;
typedef unsigned char guchar;
typedef unsigned short gushort;
typedef unsigned long gulong;
typedef unsigned int guint;
#define VOID void
#ifndef MAX
#define MAX(x, y) (((x) > (y))?(x):(y))
#endif
#ifndef MIN
#define MIN(x, y) (((x) < (y))?(x):(y))
#endif
#ifndef ABS
#define ABS(x) (((x)<0) ? -(x) : (x))
#endif
#ifndef DIV
#define DIV(x, y) ((x) / (y))
#endif
#ifndef MOD
#define MOD(x, y) ((x) % (y))
#endif
typedef enum DSM_HTTP_TYPE
{
DSM_HTTP_TYPE_CMNET,
DSM_HTTP_TYPE_CMWAP,
}DSM_HTTP_TYPE;
typedef enum
{
DSM_SOC_SUCCESS = 0, /* success */
DSM_SOC_ERROR = -1, /* error */
DSM_SOC_WOULDBLOCK = -2, /* not done yet */
}dsm_socket_state;
typedef enum
{
DSM_SOC_STATE_CONNECTING,
DSM_SOC_STATE_CONNECTED,
DSM_SOC_STATE_CLOSED,
DSM_SOC_STATE_CONNECT_FALIED = -1,
DSM_SOC_STATE_CONNECT_TIME_OUT = -2
}dsm_socket_connect_state;
#define DSM_SIM_NONE (0)
#define DSM_SIM_CARD1 (1<<0)
#define DSM_SIM_CARD2 (1<<1)
#define DSM_SIM_CARD3 (1<<2)
#define DSM_SIM_CARD4 (1<<3)
#define DSM_SIM_WIFI (1<<5)
/*
* 初始化SIM信息
*/
typedef void(*init_sim_info_cb)(int ret);
void dsm_init_sim_card_info(init_sim_info_cb cb);
/*
* 获取活动的SIM卡
*/
unsigned int dsm_get_action_sim();
/*
* 获取活动的SIM卡IMSI号
*/
char *dsm_get_action_sim_imsi();
/*
* 获取活动的SIM卡IMEI号
*/
char *dsm_get_action_sim_imei();
void dsm_get_manufactory(char *manufactory,int bufLen);
void dsm_get_type(char *type,int bufLen);
/*
* 获取活动的SIM卡plmn号
*/
char *dsm_get_action_sim_plmn(unsigned int *output_len);
/*
* 屏幕宽
*/
int dsm_get_screen_width();
/*
* 屏幕高
*/
int dsm_get_screen_height();
typedef void(*init_nwk_account_cb)(int ret);
/*
* 设置程序的网络账号
*/
BOOL dsm_init_nwk_account(DSM_HTTP_TYPE conntype,init_nwk_account_cb cb);
/*
* 释放程序的网络账号
*/
void dsm_free_nwk_account();
/*
* 创建一个socket
*/
signed char dsm_socket_create();
typedef unsigned char(*socket_connect_cb)(dsm_socket_connect_state state,int socId);
/*
* socket 连接
*/
int dsm_socket_connect(int s, int ip, unsigned short port,socket_connect_cb cb);
/*
* socket 接收
*/
int dsm_socket_recv(int s, const char *buf, int len);
/*
* socket 发送
*/
int dsm_socket_send(int s, const char *buf, int len);
/*
* socket 关闭
*/
int dsm_socket_close(int s);
typedef int(*dsm_dsn_cb)(int result);
/*
* 获取域名IP
*/
int dsm_get_host_by_name(const char *name, dsm_dsn_cb cb);
//////////////////////////////////////////////////
typedef void(*sh_timer_cb)(void *p);
#define DSM_MAX_TIMER_COUNT (20)
/*
* 创建一个timer
*/
int dsm_create_timerId();
/*
*删除一个timer
*/
void dsm_delete_timer(int timerId);
/*
*停止一个timer
*/
void dsm_stop_timer(int timerId);
/*
*启动一个timer
*/
void dsm_start_timer(int timerId,unsigned int delay,sh_timer_cb cb,void *userData);
/****************************************************
* 内存相关 *
*****************************************************/
void *dsm_malloc(unsigned int size);
void dsm_free(char **pptr);
/****************************************************
* 短信相关 *
*****************************************************/
/*
* 发送短信
*/
typedef void(*send_sms_cb)(int ret,void *userData);
int dsm_send_sms(char *pNumber,char *pContent, int active_sim,send_sms_cb cb,void *userData);
void dsm_sms_remove(unsigned short msg_id);
/****************************************************
* 文件相关 *
*****************************************************/
#define DSM_FILE_RDONLY 1 //以只读的方式打开文件。
#define DSM_FILE_WRONLY 2 //以只写的方式打开文件。
#define DSM_FILE_RDWR 4 //以读写的方式打开文件。
#define DSM_FILE_CREATE 8 //如果文件不存在,创建该文件。
#define DSM_FILE_SHARD 16
#define DSM_FILE_COMMITTED 32
enum
{
DSM_SEEK_SET,
DSM_SEEK_CUR,
DSM_SEEK_END
};
#define DSM_IS_FILE 1 //文件
#define DSM_IS_DIR 2 //目录
#define DSM_IS_INVALID 8 //无效(非文件、非目录)
void dsm_init_file_drv();
int dsm_file_create_dir(const char *dir,char isHidden);
int dsm_file_open(const char* filename,unsigned int mode);
int dsm_file_write(int f,void *p,unsigned int l);
int dsm_file_read(int f,void *p,unsigned int l);
int dsm_file_seek(int f,int pos,int method);
int dsm_file_close(int f);
int dsm_get_file_size(const char* filename);
int dsm_get_file_info(const char* filename);
int dsm_file_remove(const char* filename);
/*
* 背光灯是否开启
*/
char dsm_is_back_light_on();
/*
* 获取系统时间
*/
typedef struct dsm_mytimeSt
{
short nYear;
char nMonth;
char nDay;
char nHour;
char nMin;
char nSec;
char DayIndex; /* 0=Sunday */
} dsm_mytime;
void dsm_get_date_time(dsm_mytime *ptime);
/*
* 闹钟相关
*/
typedef enum
{
DSM_REMINDER_NOTIFY_INIT, //初始化(开机)
DSM_REMINDER_NOTIFY_EXPIRY, // 事件触发
DSM_REMINDER_NOTIFY_REINIT, // 重新初始化(比如:重置时间)
} dsm_reminder_notify_enum;
/*
* 闹钟事件回调
*/
void dsm_evt_cb(dsm_reminder_notify_enum status,unsigned int usr_data);
/*
* 适配层接口
*/
int dsm_event_set(const dsm_mytime *expiry_time,unsigned int usr_data);
int dsm_event_cance(unsigned int usr_data);
#endif // __DSM_API_H__
#endif // __MOSOFT_VVCAT_SUPPORT__