blob: 5d2647f9856a54232dfe37ffec310a20bf7a9ff9 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001#include "ght_vsim_api.h"
2
3//********2023-01-13***********//
4
5//================================================
6
7typedef int32_t (*zte_mdm_event_ind_callback)(E_MODEM_EVENT_ID event_id, void *ind_data, uint32_t ind_data_len);
8/**********************ZTE funcation Declartion here************
9*/
10extern int32_t zte_mdm_event_regist(zte_mdm_event_ind_callback ind_cb);
11
12extern int32_t zte_atVsimInit(VSIM_COMMAND vsim_apdu_process_fn, uint8_t nSimID);
13
14extern int32_t zte_atVsimClose(VSIM_COMMAND vsim_apdu_process_fn, uint8_t nSimID);
15
16extern int32_t zte_atVsimReset(void);
17
18//extern int16_t zte_SetSimWorkMode(SimTypeInSlot_t SimType, uint8_t nSoltID);
19
20//extern int16_t zte_GetSimWorkMode(SimTypeInSlot_t *SimType, uint8_t nSoltID);
21
22extern int32_t zte_SetGTDUALSIM(uint8_t nSimID);
23
24extern int32_t zte_GetGTDUALSIM(uint8_t *nSimID);
25
26extern int32_t zte_SetGTDATASIM(uint8_t nSimID);
27
28extern int32_t zte_GetGTDATASIM(uint8_t *nSimID);
29
30extern int32_t zte_SetCfunMode(uint8_t mode);
31
32extern int32_t zte_GetCfunMode(uint8_t *mode);
33
34extern int32_t zte_SetIMEIbySimId(uint8_t *imei, uint8_t imei_len, uint8_t nSimID);
35
36extern int32_t zte_GetIMEIbySimId(uint8_t *imei, uint8_t imei_len, uint8_t nSimID);
37
38extern int32_t zte_GetCCIDbySimId(uint8_t *ccid, uint8_t ccid_len, uint8_t nSimID);
39
40extern int32_t zte_GetMCCMNCbySimId(char *mcc, char *mnc, uint8_t nSimID);
41
42extern int32_t zte_SwitchSimHandle(uint8_t mode);
43
44extern int32_t zte_GetCSQbySimId(int32_t *rssi, int32_t *ber, uint8_t nSimID);
45
46extern int32_t zte_GetRegInfobySimid(RegInfo_t *reg_info, uint8_t nSimID);
47
48extern int32_t zte_GetCellInfobySimId(CellInfo_t *pcellinfo, uint8_t nSimID);
49
50extern int32_t zte_GetNetInfobySimId(NetInfo_t *pNetInfo, uint8_t nSimID);
51
52extern int32_t zte_SetAPNbySimID(Data_call_config_info_t *data_call, uint8_t nSimID);
53
54extern int32_t zte_StartDataCallbySimId(Data_call_config_info_t *data_call, uint8_t nSimID);
55
56extern int32_t zte_StopDataCallbySimId(uint8_t profile_id, uint8_t nSimID);
57
58extern int32_t zte_GetDataAddrbySimID(uint8_t profile_id, Data_call_addr_info_list_t *addr_list, uint8_t nSimID);
59
60extern int32_t zte_GetSimStatusbySimId(E_SIM_STATUS *sim_status, uint8_t nSimID);
61
62extern int32_t zte_SendATbySimId(char *req_at, char *info_fmt, void **pval, uint8_t nSimID);
63
64/*
65*************************ZTE API Declartion end*************************/
66
67FIBO_MODEM_EVENT g_ind_cb;
68
69int32_t fibo_mdm_event_ind_cb(E_MODEM_EVENT_ID event_id, void *ind_data, uint32_t ind_data_len)
70{
71 if(g_ind_cb)
72 g_ind_cb(event_id, ind_data, ind_data_len);
73
74 return 0;
75}
76
77
78/***********************The Fibo Public APIs Defination area*********************
79*/
80int32_t fibo_mdm_event_regist(FIBO_MODEM_EVENT ind_cb)
81{
82 g_ind_cb = ind_cb;
83 return 0;
84}
85
86/**********************************************************
87** Function Name: fibo_vsim_init
88** Description:
89** VSIM³õʼ»¯£¬ÐèÒª½«APDU»Øµ÷º¯Êý×÷ΪÈë²Î´«Èë¸ø modem;
90**
91***********************************************************/
92
93void fibo_vsim_init(VSIM_COMMAND vsim_apdu_process, uint8_t nSimID)
94{
95 printf("[VSIM] fibo_vsim_init,%d", nSimID);
96 zte_mdm_event_regist(fibo_mdm_event_ind_cb);
97 zte_atVsimInit(vsim_apdu_process, nSimID);
98}
99
100/**********************************************************
101** Function Name: fibo_vsim_close
102** Description:
103** ¹Ø±ÕVSIM;
104**
105***********************************************************/
106
107void fibo_vsim_close(VSIM_COMMAND vsim_apdu_process, uint8_t nSimID)
108{
109 printf("[VSIM] fibo_vsim_close,%d", nSimID);
110 zte_atVsimClose(vsim_apdu_process, nSimID);
111}
112
113/**************************************************************
114** Function Name: fibo_set_sim_workmode
115** Description:
116** Õë¶ÔË«¿¨Ä£×飬ÉèÖÃË«¿¨²ÛÖеĿ¨ÀàÐÍ£¬½ø¶øÄܹ»ÊÊÅäÏàÓ¦Ó¦ÓóÌÐò¹¦ÄÜ;
117**
118***************************************************************/
119
120int16_t fibo_set_sim_workmode(SimTypeInSlot_t SimType, uint8_t nSoltID)
121{
122 return 0;
123}
124
125/**************************************************************
126** Function Name: fibo_get_sim_workmode
127** Description:
128** Õë¶ÔË«¿¨Ä£×飬ÉèÖÃË«¿¨²ÛÖеĿ¨ÀàÐÍ£¬½ø¶øÄܹ»ÊÊÅäÏàÓ¦Ó¦ÓóÌÐò¹¦ÄÜ;
129**
130***************************************************************/
131
132int16_t fibo_get_sim_workmode(SimTypeInSlot_t *SimType, uint8_t nSoltID)
133{
134 return 0;
135}
136
137/**************************************************************
138** Function Name: fibo_set_dualsim
139** Description:
140** Ë«¿¨Çл»ÅäÖýӿڣ¬¸ù¾ÝÈë²ÎSimIDÇл»µ½¶ÔÓ¦µÄ¹¤×÷¿¨£¬SIMÏà¹ØATÒ²ÓëÖ®Çл»;
141**
142***************************************************************/
143
144int32_t fibo_set_dualsim(uint8_t nSimID)
145{
146 return zte_SetGTDUALSIM(nSimID);
147}
148
149
150/**************************************************************
151** Function Name: fibo_set_dualsim
152** Description:
153** Ë«¿¨Çл»»ñÈ¡½Ó¿Ú£¬»ñÈ¡µ±Ç°¹¤×÷µÄSIM ID;
154**
155***************************************************************/
156
157int32_t fibo_get_dualsim(uint8_t *nSimID)
158{
159 return zte_GetGTDUALSIM(nSimID);
160}
161
162/**************************************************************
163** Function Name: fibo_set_dualsim
164** Description:
165** ÅäÖÃÊý¾Ý¿¨ÎªnSimIDÖ¸ÏòµÄ¿¨;
166**
167***************************************************************/
168
169int32_t fibo_set_datasim(uint8_t nSimID)
170{
171 return zte_SetGTDATASIM(nSimID);
172}
173
174/**************************************************************
175** Function Name: fibo_get_datasim
176** Description:
177** »ñÈ¡µ±Ç°ÅäÖõÄÊý¾Ý¿¨ID;
178**
179***************************************************************/
180
181int32_t fibo_get_datasim(uint8_t *nSimID)
182{
183 return zte_GetGTDATASIM(nSimID);
184}
185
186
187/**********************************************************
188** Function Name: fibo_set_IMEI_by_simid
189** Description:
190** ÉèÖÃVSIM¶ÔÓ¦µÄIMEI;
191**
192** Note: É豸IMEI£¬µôµç²»±£´æ£¬ÔÚvsim_initÖ®ºó;
193***********************************************************/
194
195int32_t fibo_set_IMEI_by_simid(uint8_t *imei, uint8_t imei_len, uint8_t nSimID)
196{
197 printf("[VSIM] fibo_set_imei,%d", nSimID);
198 return zte_SetIMEIbySimId(imei, imei_len, nSimID);
199}
200
201/**********************************************************
202** Function Name: fibo_set_IMEI_by_simid
203** Description:
204** »ñÈ¡VSIM¶ÔÓ¦µÄIMEI;
205**
206** Note: É豸IMEI£¬µôµç²»±£´æ£¬ÔÚvsim_initÖ®ºó;
207***********************************************************/
208
209int32_t fibo_get_IMEI_by_simid(uint8_t *imei, uint8_t imei_len, uint8_t nSimID)
210{
211 printf("[VSIM] fibo_get_imei,%d", nSimID);
212 return zte_GetIMEIbySimId(imei, imei_len, nSimID);
213}
214
215
216/**********************************************************
217** Function Name: fibo_get_CCID_by_simid
218** Description:
219** »ñȡָ¶¨SIMµÄICCID;
220**
221***********************************************************/
222
223int32_t fibo_get_CCID_by_simid(uint8_t *ccid, uint8_t ccid_len, uint8_t nSimID)
224{
225 printf("[VSIM]fibo_get_CCID_by_simid %d", nSimID);
226 return zte_GetCCIDbySimId(ccid, ccid_len, nSimID);
227}
228
229/**********************************************************
230** Function Name: fibo_xiaoshui_get_mcc_mnc
231** Description:
232** ¿Í»§¶¨ÖÆÐèÇó½Ó¿Ú£¬»ñÈ¡·þÎñÍøÂçMCCºÍMNC;
233**
234***********************************************************/
235
236int32_t fibo_get_MCC_MNC_by_simid(char *mcc, char *mnc, uint8_t nSimID)
237{
238 return zte_GetMCCMNCbySimId(mcc, mnc, nSimID);
239}
240
241/**********************************************************
242** Function Name: fibo_switch_sim_handle
243** Description:
244** µ÷ÓøýӿڽøÐÐVSIMÇл»£¬Í¬Ê±Íê³ÉPDPÁ¬½Ó;
245** mode: 0¹Ø±ÕVSIM, 1¿ªÆôVSIM;
246** Note: ÈôÊǵ÷ÓÃfibo_switch_sim_handle(1)£¬Ö®ºó´æÔÚµ÷ÓÃfibo_set_dualsim(0)
247** µÄÇé¿ö£¬´Ëʱfibo_set_dualsim(0)½öÓÃÓÚÁÙʱÇп¨µ½ÊµÌ忨
248***********************************************************/
249
250int32_t fibo_switch_sim_handle(uint8_t mode)
251{
252 return zte_SwitchSimHandle(mode);
253}
254
255/**********************************************************
256** Function Name: fibo_set_cfun_mode
257** Description:
258** ÉèÖÃCFUN²ÎÊý;
259**
260***********************************************************/
261
262int32_t fibo_set_cfun_mode(uint8_t mode)
263{
264 return zte_SetCfunMode(mode);
265 //¹ãºÍͨͬ²½Æä¶þ´Î¿ª·¢³ÌÐò²ÎÊý
266}
267
268/**********************************************************
269** Function Name: fibo_get_cfun_mode
270** Description:
271** »ñÈ¡CFUN²ÎÊý;
272**
273***********************************************************/
274
275int32_t fibo_get_cfun_mode(uint8_t *mode)
276{
277 return zte_GetCfunMode(mode);
278 //¹ãºÍͨͬ²½Æä¶þ´Î¿ª·¢³ÌÐò²ÎÊý
279}
280
281
282/**********************************************************
283** Function Name: fibo_set_SysReset
284** Description:
285** ÖØÆôÉ豸;
286**
287***********************************************************/
288
289int32_t fibo_set_SysReset()
290{
291 zte_atVsimReset();
292 //modem cfun=0¹Ø»ú+ϵͳµ÷Óùػú
293 //ϵͳµ÷Óùػú
294 //ÆäËû¹ãºÍͨʵÏÖ
295 return 0;
296}
297
298/**********************************************************
299** Function Name: fibo_get_csq_by_simid
300** Description:
301** »ñÈ¡ÓëSIM IDÏà¹ØµÄCSQ;
302**
303***********************************************************/
304
305int32_t fibo_get_CSQ_by_simid(int32_t *rssi, int32_t *ber, uint8_t nSimID)
306{
307 return zte_GetCSQbySimId(rssi, ber, nSimID);
308}
309
310/**********************************************************
311** Function Name: fibo_getRegInfo
312** Description:
313** »ñÈ¡ÓëSIM IDÏà¹ØµÄRegInfo;
314**
315***********************************************************/
316
317int32_t fibo_get_RegInfo_by_simid(RegInfo_t *reg_info, uint8_t nSimID)
318{
319 return zte_GetRegInfobySimid(reg_info, nSimID);
320}
321
322
323/**********************************************************
324** Function Name: fibo_getCellInfo
325** Description:
326** »ñÈ¡ÓëSIM IDÏà¹ØµÄCellInfo;
327**
328***********************************************************/
329
330int32_t fibo_get_CellInfo_by_simid(CellInfo_t *pcellinfo, uint8_t nSimID)
331{
332 return zte_GetCellInfobySimId(pcellinfo, nSimID);
333}
334
335
336/**********************************************************
337** Function Name: fibo_get_NetInfo_by_simid
338** Description:
339** »ñÈ¡ÓëSIM IDÏà¹ØµÄ<´ýÈ·ÈÏ>;
340**
341***********************************************************/
342
343int32_t fibo_get_NetInfo_by_simid(NetInfo_t *pNetInfo, uint8_t nSimID)
344{
345 return zte_GetNetInfobySimId(pNetInfo, nSimID);;
346}
347
348/**********************************************************
349** Function Name: fibo_set_APN_by_simid
350** Description:
351** ÅäÖÃÓÃÓÚPDP¼¤»îµÄprofileÐÅÏ¢;
352**
353***********************************************************/
354
355int32_t fibo_set_APN_by_simid(Data_call_config_info_t *data_call, uint8_t nSimID)
356{
357 return zte_SetAPNbySimID(data_call, nSimID);
358}
359
360/**********************************************************
361** Function Name: fibo_start_Data_Call_by_simid
362** Description:
363** ¼¤»îÖ¸¶¨profile PDPÁ¬½Ó;
364**
365***********************************************************/
366
367int32_t fibo_start_Data_Call_by_simid(Data_call_config_info_t *data_call, uint8_t rndis_flag, uint8_t nSimID)
368{
369 return zte_StartDataCallbySimId(data_call, nSimID);
370}
371
372/**********************************************************
373** Function Name: fibo_stop_Data_Call_by_simid
374** Description:
375** È¥¼¤»îÖ¸¶¨profile PDPÁ¬½Ó;
376**
377***********************************************************/
378
379int32_t fibo_stop_Data_Call_by_simid(uint8_t profile_id, uint8_t rndis_flag, uint8_t nSimID)
380{
381 return zte_StopDataCallbySimId(profile_id, nSimID);
382}
383
384/**********************************************************
385** Function Name: fibo_get_Data_Addr_by_simid
386** Description:
387** »ñȡָ¶¨profileµÄµØÖ·ÐÅÏ¢;
388**
389***********************************************************/
390
391int32_t fibo_get_Data_Addr_by_simid(uint8_t profile_id, Data_call_addr_info_list_t *addr_list, uint8_t nSimID)
392{
393 return zte_GetDataAddrbySimID(profile_id, addr_list, nSimID);
394}
395
396
397int32_t fibo_get_SIM_Status_by_simid(E_SIM_STATUS *sim_status, uint8_t nSimID)
398{
399 return zte_GetSimStatusbySimId(sim_status, nSimID);
400}
401
402int32_t fibo_send_AT_by_simid(char *req_at, char *info_fmt, void **pval, uint8_t nSimID)
403{
404 return zte_SendATbySimId(req_at, info_fmt, pval, nSimID);
405}
406
407
408/*
409**********************The Public APIs Defination area end**********************/
410
411