blob: e7916df35d8e28b448d2800d5ed21937c5da7e1d [file] [log] [blame]
liubin281ac462023-07-19 14:22:54 +08001#ifndef MBTK_INFO_INCLUDE
2#define MBTK_INFO_INCLUDE
3#include <netinet/in.h>
4
5#include "mbtk_type.h"
6#include "mbtk_list.h"
7#include "mbtk_log.h"
8#include "mbtk_utils.h"
9#include "mbtk_info_api.h"
10
11#define MBTK_INFO_PACKET_FLAG 0x5F6F7F8F
12#define SOCK_INFO_PATH "/tmp/info_sock"
13#define SOCK_MSG_LEN_MAX 2048
14
15// Tag(4) + Packet_Length(2)
16#define SOCK_PACK_EXTRA_LEN 6
17// SOCK_PACK_EXTRA_LEN + Id(2) + Error(2) + Number(2)
18#define SOCK_PACK_LEN_MIN (SOCK_PACK_EXTRA_LEN + 6)
19
20typedef enum
21{
22 MBTK_INFO_TYPE_REQ,
23 MBTK_INFO_TYPE_RSP,
24 MBTK_INFO_TYPE_IND,
25 MBTK_INFO_TYPE_UNKNOWN
26} mbtk_info_type_enum;
27
28typedef enum
29{
30 // Device Information
31 MBTK_INFO_ID_DEV_BEGIN = 0,
32 // <string> IMEI
33 MBTK_INFO_ID_DEV_IMEI_REQ,
34 MBTK_INFO_ID_DEV_IMEI_RSP,
35 // <string> SN
36 MBTK_INFO_ID_DEV_SN_REQ,
37 MBTK_INFO_ID_DEV_SN_RSP,
38 // <string> MEID
39 MBTK_INFO_ID_DEV_MEID_REQ,
40 MBTK_INFO_ID_DEV_MEID_RSP,
41 // <string> VERSION
42 MBTK_INFO_ID_DEV_VERSION_REQ,
43 MBTK_INFO_ID_DEV_VERSION_RSP,
44 // <string> MODEL
45 MBTK_INFO_ID_DEV_MODEL_REQ,
46 MBTK_INFO_ID_DEV_MODEL_RSP,
47 // <uint8> 0:Close 1:Open
48 MBTK_INFO_ID_DEV_VOLTE_REQ,
49 MBTK_INFO_ID_DEV_VOLTE_RSP,
50 // <string> Temperature
51 MBTK_INFO_ID_DEV_TEMP_REQ, // Temperature
52 MBTK_INFO_ID_DEV_TEMP_RSP,
53 // <uint8><string> YYYY-MM-DD-HH:MM:SS
54 MBTK_INFO_ID_DEV_TIME_REQ, // Time
55 MBTK_INFO_ID_DEV_TIME_RSP,
56 //<string> "23/03/20,01:58:00+32"
b.liubaa41e12024-07-19 15:07:24 +080057 MBTK_INFO_ID_DEV_CELL_TIME_REQ, // Time
58 MBTK_INFO_ID_DEV_CELL_TIME_RSP,
liubin281ac462023-07-19 14:22:54 +080059
60 MBTK_INFO_ID_DEV_MODEM_REQ,
61 MBTK_INFO_ID_DEV_MODEM_RSP,
b.liu76e353a2024-11-01 14:49:31 +080062
l.yang5b0ff422024-10-29 19:33:35 -070063 MBTK_INFO_ID_DEV_MD_VERSION_REQ,
64 MBTK_INFO_ID_DEV_MD_VERSION_RSP,
b.liu76e353a2024-11-01 14:49:31 +080065
liubin281ac462023-07-19 14:22:54 +080066 MBTK_INFO_ID_DEV_END,
67
68 // Sim Information
69 MBTK_INFO_ID_SIM_BEGIN = 1000,
70 // <uint8> 0:NOT_EXIST 1:READY ...
71 MBTK_INFO_ID_SIM_STATE_REQ,
72 MBTK_INFO_ID_SIM_STATE_RSP,
73 // <uint8> 0: SIM 1: USIM 2: TEST SIM 3: TEST USIM 4: UNKNOWN
74 MBTK_INFO_ID_SIM_STYPE_REQ,
75 MBTK_INFO_ID_SIM_STYPE_RSP,
76 // <string> PIN
77 MBTK_INFO_ID_SIM_PIN_REQ,
78 MBTK_INFO_ID_SIM_PIN_RSP,
79 // <string> PIN
80 MBTK_INFO_ID_SIM_ENABLE_PIN_REQ,
81 MBTK_INFO_ID_SIM_ENABLE_PIN_RSP,
82 // <string> PUK
83 MBTK_INFO_ID_SIM_PUK_REQ,
84 MBTK_INFO_ID_SIM_PUK_RSP,
85 // <string> PLMN
86 MBTK_INFO_ID_SIM_PLMN_REQ,
87 MBTK_INFO_ID_SIM_PLMN_RSP,
88 // <uint8> <uint8> <uint8> <uint8> PIN PUK LAST TIMES
89 MBTK_INFO_ID_SIM_PINPUK_TIMES_REQ,
90 MBTK_INFO_ID_SIM_PINPUK_TIMES_RSP,
91 // <string> IMSI
92 MBTK_INFO_ID_SIM_IMSI_REQ,
93 MBTK_INFO_ID_SIM_IMSI_RSP,
94 // <string> ICCID
95 MBTK_INFO_ID_SIM_ICCID_REQ,
96 MBTK_INFO_ID_SIM_ICCID_RSP,
97 // <string> Phone Number
98 MBTK_INFO_ID_SIM_PN_REQ,
99 MBTK_INFO_ID_SIM_PN_RSP,
100 // <string> <string> old_PIN new_PIN
101 MBTK_INFO_ID_SIM_CHANGE_PIN_REQ,
102 MBTK_INFO_ID_SIM_CHANGE_PIN_RSP,
103
104 MBTK_INFO_ID_SIM_END,
105
106 // Network Information
107 MBTK_INFO_ID_NET_BEGIN = 2000,
108 // <uint8> 0:OFF 1:ON
109 MBTK_INFO_ID_NET_RADIO_REQ,
110 MBTK_INFO_ID_NET_RADIO_RSP,
111 // sel_mode(uint8)type(uint8)plmn(uint32)...sel_mode(uint8)type(uint8)plmn(uint32)
112 MBTK_INFO_ID_NET_AVAILABLE_REQ,
113 MBTK_INFO_ID_NET_AVAILABLE_RSP,
114 // <uint8> 0: automatic 1: manual
115 // or
116 // sel_mode(uint8)type(uint8)plmn(uint32)
117 MBTK_INFO_ID_NET_SEL_MODE_REQ,
118 MBTK_INFO_ID_NET_SEL_MODE_RSP,
119 // mbtk_band_info_t
120 MBTK_INFO_ID_NET_BAND_REQ,
121 MBTK_INFO_ID_NET_BAND_RSP,
122 // mbtk_signal_info_t
123 MBTK_INFO_ID_NET_SIGNAL_REQ,
124 MBTK_INFO_ID_NET_SIGNAL_RSP,
125 // mbtk_net_reg_info_t
126 MBTK_INFO_ID_NET_REG_REQ,
127 MBTK_INFO_ID_NET_REG_RSP,
128 // mbtk_apn_info_t
129 MBTK_INFO_ID_NET_APN_REQ,
130 MBTK_INFO_ID_NET_APN_RSP,
wangyouqiang80487e42024-05-24 15:06:20 +0800131 // mbtk_qser_apn_info_t
132 MBTK_INFO_ID_NET_QSER_APN_REQ,
133 MBTK_INFO_ID_NET_QSER_APN_RSP,
liuyang0e49d9a2024-04-23 21:04:54 +0800134 // mbtk_apn_del
135 MBTK_INFO_ID_NET_APN_DEL_REQ,
136 MBTK_INFO_ID_NET_APN_DEL_RSP,
liubin281ac462023-07-19 14:22:54 +0800137 // mbtk_cell_info_t[]
138 MBTK_INFO_ID_NET_CELL_REQ,
139 MBTK_INFO_ID_NET_CELL_RSP,
140 // REQ:
141 // <call_type[1]><cid[1]><timeout[1]>
142 // call_type : mbtk_data_call_type_enum
143 // cid : 1 - 15
144 // timeout : second
145 // RSP:
146 // <type[1]><ipv4><ipv6>
147 // type : 0-IPV4 1-IPV6 2-IPV4V6
148 // ipv4 : mbtk_ipv4_info_t
149 // ipv6 : mbtk_ipv6_info_t
150 MBTK_INFO_ID_NET_DATA_CALL_REQ,
151 MBTK_INFO_ID_NET_DATA_CALL_RSP,
152
r.xiao06db9a12024-04-14 18:51:15 -0700153 // mbtk_net_ims
154 MBTK_INFO_ID_NET_IMS_REQ,
155 MBTK_INFO_ID_NET_IMS_RSP,
b.liu288093c2024-05-09 17:02:57 +0800156
b.liufdf03172024-06-07 15:01:29 +0800157 MBTK_INFO_ID_NET_IMS_REG_STATE_REQ,
158 MBTK_INFO_ID_NET_IMS_REG_STATE_RSP,
159
xy.he22063af2024-12-06 01:28:08 -0800160 //fplmn
161 MBTK_INFO_ID_NET_FPLMN_REQ,
162 MBTK_INFO_ID_NET_FPLMN_RSP,
r.xiao06db9a12024-04-14 18:51:15 -0700163
liubin281ac462023-07-19 14:22:54 +0800164 MBTK_INFO_ID_NET_END,
165
r.xiao06db9a12024-04-14 18:51:15 -0700166
liubin281ac462023-07-19 14:22:54 +0800167 // Call Information
168 MBTK_INFO_ID_CALL_BEGIN = 3000,
169 MBTK_INFO_ID_CALL_STATE_REQ,
170 MBTK_INFO_ID_CALL_STATE_RSP,
171
172 // Start call.
173 MBTK_INFO_ID_CALL_START_REQ,
174 MBTK_INFO_ID_CALL_START_RSP,
175 //answer call
176 MBTK_INFO_ID_CALL_ANSWER_REQ,
177 MBTK_INFO_ID_CALL_ANSWER_RSP,
178 //hang up all call
179 MBTK_INFO_ID_CALL_HANGUP_REQ,
180 MBTK_INFO_ID_CALL_HANGUP_RSP,
181 //hang up a call
182 MBTK_INFO_ID_CALL_HANGUP_A_REQ,
183 MBTK_INFO_ID_CALL_HANGUP_A_RSP,
184 //hang up waiting or background call
185 MBTK_INFO_ID_CALL_HANGUP_B_REQ,
186 MBTK_INFO_ID_CALL_HANGUP_B_RSP,
187 //hang up foreground resume background
188 MBTK_INFO_ID_CALL_HANGUP_C_REQ,
189 MBTK_INFO_ID_CALL_HANGUP_C_RSP,
190 //wait in call
191 MBTK_INFO_ID_CALL_WAITIN_REQ,
192 MBTK_INFO_ID_CALL_WAITIN_RSP,
193 //mute call
194 MBTK_INFO_ID_CALL_MUTE_REQ,
195 MBTK_INFO_ID_CALL_MUTE_RSP,
196 //dtmf call
197 MBTK_INFO_ID_CALL_DTMF_REQ,
198 MBTK_INFO_ID_CALL_DTMF_RSP,
liuyang98e68522024-11-20 19:16:34 +0800199 //ceer call
200 MBTK_INFO_ID_CALL_CEER_REQ,
201 MBTK_INFO_ID_CALL_CEER_RSP,
liubin281ac462023-07-19 14:22:54 +0800202
203 MBTK_INFO_ID_CALL_END,
204
205 // SMS Information
206 MBTK_INFO_ID_SMS_BEGIN = 4000,
207 MBTK_INFO_ID_SMS_STATE_REQ,
208 MBTK_INFO_ID_SMS_STATE_RSP,
209 MBTK_INFO_ID_SMS_CMGF_REQ,
210 MBTK_INFO_ID_SMS_CMGF_RSP,
211 MBTK_INFO_ID_SMS_CPMS_REQ,
212 MBTK_INFO_ID_SMS_CPMS_RSP,
213 MBTK_INFO_ID_SMS_CMGS_REQ,
214 MBTK_INFO_ID_SMS_CMGS_RSP,
215 MBTK_INFO_ID_SMS_CMSS_REQ,
216 MBTK_INFO_ID_SMS_CMSS_RSP,
217 MBTK_INFO_ID_SMS_CMGR_REQ,
218 MBTK_INFO_ID_SMS_CMGR_RSP,
219 MBTK_INFO_ID_SMS_CMGW_REQ,
220 MBTK_INFO_ID_SMS_CMGW_RSP,
221 MBTK_INFO_ID_SMS_CMGD_REQ,
222 MBTK_INFO_ID_SMS_CMGD_RSP,
223 MBTK_INFO_ID_SMS_CMGL_REQ,
224 MBTK_INFO_ID_SMS_CMGL_RSP,
225 MBTK_INFO_ID_SMS_CSCA_REQ,
226 MBTK_INFO_ID_SMS_CSCA_RSP,
227 MBTK_INFO_ID_SMS_CSMP_REQ,
228 MBTK_INFO_ID_SMS_CSMP_RSP,
229 MBTK_INFO_ID_SMS_CSCB_REQ,
230 MBTK_INFO_ID_SMS_CSCB_RSP,
231 MBTK_INFO_ID_SMS_CNMI_REQ,
232 MBTK_INFO_ID_SMS_CNMI_RSP,
233
234 MBTK_INFO_ID_SMS_END,
235
236 // PhoneBook Information
237 MBTK_INFO_ID_PB_BEGIN = 5000,
238 MBTK_INFO_ID_PB_STATE_REQ,
239 MBTK_INFO_ID_PB_STATE_RSP,
240
241 MBTK_INFO_ID_PB_END,
242
r.xiaocfd7c682024-01-22 03:59:46 -0800243 //wakeup
244 MBTK_INFO_ID_WAKEUP_STA_BEGIN = 6000,
r.xiaoec113d12024-01-12 02:13:28 -0800245 MBTK_INFO_ID_WAKEUP_STA_REQ,
246 MBTK_INFO_ID_WAKEUP_STA_RSP,
247
r.xiaocfd7c682024-01-22 03:59:46 -0800248 MBTK_INFO_ID_WAKEUP_STA_END,
249
r.xiaoec113d12024-01-12 02:13:28 -0800250 //oos(out of service))
r.xiaocfd7c682024-01-22 03:59:46 -0800251 MBTK_INFO_ID_OOS_STA_BEGIN = 7000,
r.xiaoec113d12024-01-12 02:13:28 -0800252 MBTK_INFO_ID_OOS_STA_REQ,
253 MBTK_INFO_ID_OOS_STA_RSP,
254
r.xiaocfd7c682024-01-22 03:59:46 -0800255 MBTK_INFO_ID_OOS_STA_END,
b.liu288093c2024-05-09 17:02:57 +0800256
wangyouqiang38e53362024-01-23 10:53:48 +0800257 //led
258 MBTK_INFO_ID_LED_BEGIN = 8000,
259 MBTK_INFO_ID_LED_REQ,
260 MBTK_INFO_ID_LED_RSP,
261 MBTK_INFO_ID_LED_END,
r.xiaoec113d12024-01-12 02:13:28 -0800262
b.liu06559f62024-11-01 18:48:22 +0800263 // Ecall
264 RIL_MSG_ID_ECALL_BEGIN = 9000,
265 // mbtk_ecall_msd_cfg_info_t
266 RIL_MSG_ID_ECALL_MSDCFG_REQ,
267 RIL_MSG_ID_ECALL_MSDCFG_RSP,
268 // NULL
269 RIL_MSG_ID_ECALL_MSDGEN_REQ,
270 RIL_MSG_ID_ECALL_MSDGEN_RSP,
271 // uint8[]
272 RIL_MSG_ID_ECALL_MSD_REQ,
273 RIL_MSG_ID_ECALL_MSD_RSP,
274 // NULL
275 RIL_MSG_ID_ECALL_PUSH_REQ,
276 RIL_MSG_ID_ECALL_PUSH_RSP,
277 // mbtk_ecall_only_info_t
278 RIL_MSG_ID_ECALL_ONLY_REQ,
279 RIL_MSG_ID_ECALL_ONLY_RSP,
280 // reg <uint8>
281 RIL_MSG_ID_ECALL_REG_REQ,
282 RIL_MSG_ID_ECALL_REG_RSP,
283 // mbtk_ecall_dial_type_enum
284 RIL_MSG_ID_ECALL_DIAL_REQ,
285 RIL_MSG_ID_ECALL_DIAL_RSP,
286 // mbtk_ecall_mode_type_enum
287 RIL_MSG_ID_ECALL_MODE_REQ,
288 RIL_MSG_ID_ECALL_MODE_RSP,
289 // mbtk_ecall_cfg_item_enum / mbtk_ecall_cfg_info_t
290 RIL_MSG_ID_ECALL_CFG_REQ,
291 RIL_MSG_ID_ECALL_CFG_RSP,
292 // uint8[]
293 RIL_MSG_ID_ECALL_SMS_NUM_REQ,
294 RIL_MSG_ID_ECALL_SMS_NUM_RSP,
295 // uint8
296 RIL_MSG_ID_ECALL_MUTESPK_REQ,
297 RIL_MSG_ID_ECALL_MUTESPK_RSP,
298 // mbtk_ecall_gain_info_t
299 RIL_MSG_ID_ECALL_DSP_GAIN_REQ,
300 RIL_MSG_ID_ECALL_DSP_GAIN_RSP,
301
302 RIL_MSG_ID_ECALL_END,
303
liubin281ac462023-07-19 14:22:54 +0800304 // IND Information
305 MBTK_INFO_ID_IND_BEGIN = 10000,
306 // <uint8> State
307 MBTK_INFO_ID_IND_NET_STATE_CHANGE,
308 // <uint8> State
309 MBTK_INFO_ID_IND_CALL_STATE_CHANGE,
310 // <uint8> State
311 MBTK_INFO_ID_IND_SMS_STATE_CHANGE,
312 // <uint8> State
313 MBTK_INFO_ID_IND_RADIO_STATE_CHANGE,
314 // <uint8> State
315 MBTK_INFO_ID_IND_SIM_STATE_CHANGE,
316 // <uint8> State
317 MBTK_INFO_ID_IND_PDP_STATE_CHANGE,
318 // <uint8> State
319 MBTK_INFO_ID_IND_SERVER_STATE_CHANGE,////mbtk wyq for server_ready_status add
r.xiaofca7c472024-04-24 01:00:23 -0700320 // <uint8> State
321 MBTK_INFO_ID_IND_SIGNAL_STATE_CHANGE,
b.liu76e353a2024-11-01 14:49:31 +0800322 //
323 MBTK_INFO_ID_IND_ECALL_STATE_CHANGE,
liubin281ac462023-07-19 14:22:54 +0800324
325 MBTK_INFO_ID_IND_END,
326 MBTK_INFO_ID_REQ_UNKNOWN // Unknown information.
327} mbtk_info_id_enum;
328
329typedef enum {
330 MBTK_NET_CS_STATE = 0,
331 MBTK_NET_PS_STATE
332} mbtk_net_state_type_enum;
333
334typedef enum {
335 MBTK_INFO_ERR_SUCCESS = 300,
336 MBTK_INFO_ERR_FORMAT, // Packet format error.
337 MBTK_INFO_ERR_REQ_UNKNOWN, // Unknown request.
338 MBTK_INFO_ERR_REQ_PARAMETER, // Request parameter error.
339 MBTK_INFO_ERR_UNSUPPORTED, // Unsupported operation.
340 MBTK_INFO_ERR_MEMORY, // Insufficient memory.
341 MBTK_INFO_ERR_IND_FULL, // Register IND fail(FULL).
342 MBTK_INFO_ERR_IND_UNKNOWN, // Register IND fail(Unknown IND).
343 MBTK_INFO_ERR_CID, // CID error.
344 MBTK_INFO_ERR_TIMEOUT, // Timeout.
345 MBTK_INFO_ERR_TIME_FORMAT, // Time format error.
b.liu288093c2024-05-09 17:02:57 +0800346
liubin281ac462023-07-19 14:22:54 +0800347 //mbtk wyq for data_call add start
348 MBTK_INFO_ERR_CID_EXIST,
349 MBTK_INFO_ERR_CID_NO_EXIST,
350 MBTK_INFO_ERR_NET_NO_INIT,
351 //mbtk wyq for data_call add end
352
353 MBTK_INFO_ERR_UNKNOWN = 400, // Unknown error.
354 // CME error start index.
355 MBTK_INFO_ERR_CME = 500,
356 MBTK_INFO_ERR_CME_NON = 1000
357} mbtk_info_err_enum;
358
359/*
360GSM band��
361 1 �C PGSM 900 (standard or primary)
362 2 �C DCS GSM 1800
363 4 �C PCS GSM 1900
364 8 �C EGSM 900 (extended)
365 16 �C GSM 450
366 32 �C GSM 480
367 64 �C GSM 850
368 512 - BAND_LOCK_BIT // used for GSM band setting
369*/
370typedef enum
371{
372 MBTK_GSM_BAND_PGSM_900 = 1,
373 MBTK_GSM_BAND_DCS_GSM_1800 = 2,
374 MBTK_GSM_BAND_PCS_GSM_1900 = 4,
375 MBTK_GSM_BAND_EGSM_900 = 8,
376 MBTK_GSM_BAND_GSM_450 = 16,
377 MBTK_GSM_BAND_GSM_480 = 32,
378 MBTK_GSM_BAND_GSM_850 = 64,
379 MBTK_GSM_BAND_BAND_LOCK_BIT = 512
380} mbtk_gsm_band_enum;
381
382/*
383UMTS band��
384 1 �C UMTS_BAND_1
385 2 �C UMTS_BAND_2
386 4 �C UMTS_BAND_3
387 8 �C UMTS_BAND_4
388 16 �C UMTS_BAND_5
389 32 �C UMTS_BAND_6
390 64 �C UMTS_BAND_7
391 128 �C UMTS_BAND_8
392 256 �C UMTS_BAND_9
393*/
394typedef enum
395{
396 MBTK_UMTS_BAND_1 = 1,
397 MBTK_UMTS_BAND_2 = 2,
398 MBTK_UMTS_BAND_3 = 4,
399 MBTK_UMTS_BAND_4 = 8,
400 MBTK_UMTS_BAND_5 = 16,
401 MBTK_UMTS_BAND_6 = 32,
402 MBTK_UMTS_BAND_7 = 64,
403 MBTK_UMTS_BAND_8 = 128,
404 MBTK_UMTS_BAND_9 = 256
405} mbtk_umts_band_enum;
406
407/*
408LTEbandH(TDD-LTE band)
409 32 �C TDLTE_BAND_38
410 64 �C TDLTE_BAND_39
411 128 �C TDLTE_BAND_40
412 256 �C TDLTE_BAND_41
413*/
414typedef enum
415{
416 MBTK_TDLTE_BAND_38 = 32,
417 MBTK_TDLTE_BAND_39 = 64,
418 MBTK_TDLTE_BAND_40 = 128,
419 MBTK_TDLTE_BAND_41 = 256
420} mbtk_tdlte_band_enum;
421
422/*
423LTEbandL(FDD-LTE band)
424 1 �C FDDLTE_BAND_1
425 4 �C FDDLTE _BAND_3
426 8 �C FDDLTE _BAND_4
427 64 �C FDDLTE _BAND_7
428 65536 �C FDDLTE _BAND_17
429 524288 �C FDDLTE _BAND_20
430*/
431typedef enum
432{
433 MBTK_FDDLTE_BAND_1 = 1,
434 MBTK_FDDLTE_BAND_3 = 4,
435 MBTK_FDDLTE_BAND_4 = 8,
436 MBTK_FDDLTE_BAND_7 = 64,
437 MBTK_FDDLTE_BAND_17 = 65536,
438 MBTK_FDDLTE_BAND_20 = 524288
439} mbtk_fddlte_band_enum;
440
b.liu288093c2024-05-09 17:02:57 +0800441typedef enum
442{
443 MBTK_LTE_EXT_BAND_65 = 1,
444 MBTK_LTE_EXT_BAND_66 = 2,
445 MBTK_LTE_EXT_BAND_67 = 4,
446 MBTK_LTE_EXT_BAND_68 = 8,
447 MBTK_LTE_EXT_BAND_69 = 16
448} mbtk_lte_ext_band_enum;
449
liubin281ac462023-07-19 14:22:54 +0800450/*
4510: unknown
4521: available
4532: current
4543: forbidden
455*/
456typedef enum
457{
458 MBTK_NET_AVIL_STATE_UNKNOWN = 0,
459 MBTK_NET_AVIL_STATE_AVAILABLE,
460 MBTK_NET_AVIL_STATE_CURRENT,
461 MBTK_NET_AVIL_STATE_FORBIDDEN
462} mbtk_net_avil_state_enum;
463
464typedef struct
465{
466 uint16 tac;
467 uint16 earfcn;
468} mbtk_local_info_t;
469
470typedef struct
471{
472 uint16 info_id;
473 uint16 info_err;
b.liu9e8584b2024-11-06 19:21:28 +0800474 uint8 *data;
liubin281ac462023-07-19 14:22:54 +0800475 uint16 data_len;
476} mbtk_info_pack_t;
477
478typedef struct
479{
480 uint8 type; // 0: GSM 1: UMTS 2: LTE
481 bool running;
482
483 int cell_num;
484 mbtk_cell_info_t cell[CELL_NUM_MAX];
485} mbtK_cell_pack_info_t;
486
487typedef enum {
488 MBTK_MOBILE_ORIGINATED_CALL,
489 MBTK_TERMINATED_CALL,
490} mbtk_call_dir_enum;
491
492typedef enum {
493 MBTK_VOICE,
494 MBTK_DATA,
495 MBTK_FAX,
496 MBTK_VOICE_FOLLOWED_BY_DATA_VOICE_MODE,
497 MBTK_ALTERNATING_VOICE_VOICE_MODE,
498 MBTK_ALTERNATING_FAX_VOICE_MODE,
499 MBTK_VOICE_FOLLOWED_BY_DATA_DATA_MODE,
500 MBTK_ALTERNATING_VOICE_DATA_MODE,
501 MBTK_ALTERNATING_FAX_FAX_MODE,
502 MBTL_UNKNOW,
503} mbtk_call_mode_enum;
504
505typedef enum {
506 MBTK_NOT_MULITYPARTY_CALL,
507 MBTK_MULITYPARTY__CALL,
508} mbtk_call_mpty_enum;
509
510typedef struct
511{
512 int cid;
513 bool act;
514 bool waitting;
515} info_cgact_wait_t;
516
517typedef struct
518{
519 uint32 count;
520 list_node_t *net_list;
521} mbtk_net_array_info_t;
522
523typedef struct
524{
525 bool inited;
526 mbtk_radio_state_enum radio_state;
527 mbtk_sim_state_enum sim_state;
528 mbtk_radio_technology_enum net_type;
529 mbtk_ip_type_enum ip_type;
530 struct sockaddr_in addr4;
531 struct sockaddr_in preferred_dns4;
532 struct sockaddr_in alternate_dns4;
533
534 struct sockaddr_in6 addr6;
535 struct sockaddr_in6 preferred_dns6;
536 struct sockaddr_in6 alternate_dns6;
537} net_info_t;
538
539#ifdef __cplusplus
540extern "C" {
541#endif
542char* type2str(mbtk_info_type_enum type);
543
544char* apn2str(mbtk_ip_type_enum type);
545
546char* id2str(int id);
547
548char* err2str(mbtk_info_err_enum err);
549
550/*
551IPv6 : 254.128.0.0.0.0.0.0.0.1.0.2.144.5.212.239 -> uint128
552*/
553int str_2_ipv6(const void *ip_str, void *ipv6);
554
555/*
556IPv6 : uint128 -> fe80::215:1dff:fe81:484c
557*/
558int ipv6_2_str(const void *ipv6, void *ipv6_str);
559
560/*
5610 GSM
5621 GSM_COMPACT
5632 UTRAN
5643 GSM_EGPRS
5654 UTRAN_HSDPA
5665 UTRAN_HSUPA
5676 UTRAN_HSDPA_HSUPA
5687 EUTRAN
5698 ECGSM
570*/
571mbtk_net_type_enum mbtk_net_type_get(mbtk_radio_technology_enum radio_tech);
572
573mbtk_info_type_enum mbtk_info_type_get(int info_id);
574
575mbtk_info_pack_t* mbtk_info_pack_creat(int info_id);
576
577#if 0
578int mbtk_info_pack_data_set(mbtk_info_pack_t *pack, const void *data, int data_len);
579void* mbtk_info_pack_data_get(mbtk_info_pack_t *pack, int *data_len);
580#endif
581
582int mbtk_info_pack_send(int fd, mbtk_info_pack_t *pack);
583
584mbtk_info_pack_t** mbtk_info_pack_recv(int fd, bool is_server, mbtk_info_err_enum *err);
585
586int mbtk_info_pack_free(mbtk_info_pack_t **pack);
587#ifdef __cplusplus
588}
589#endif
590
591
592#endif /* MBTK_INFO_INCLUDE */
593
594