blob: 6416d9e684a717a296f97fe60bd6bd43afdd5fb3 [file] [log] [blame]
you.chen79d8f932023-12-26 17:03:44 +08001#include <stdio.h>
2#include <stdint.h>
3#include <sys/types.h>
4#include <string.h>
5#include <unistd.h>
6#include <log/log.h>
7#include <include/lynq_sim.h>
8#include <stdlib.h>
9#include <pthread.h>
10#include <liblog/lynq_deflog.h>
11#include "lynq_qser_sim.h"
12
13#define USER_LOG_TAG "LYNQ_QSER_SIM"
14
15sim_client_handle_type h_sim = 0;
16
17int qser_sim_client_init(sim_client_handle_type *ph_sim)
18{
19 if(NULL == ph_sim)
20 {
21 LYERRLOG("input error\n");
22 return E_QSER_ERROR_BADPARM;
23 }
24 *ph_sim = (sim_client_handle_type)getpid();
25 //*ph_sim = (sim_client_handle_type)53234323;
26 h_sim = *ph_sim;
27 return lynq_sim_init(*ph_sim);
28}
29
30int qser_sim_client_deinit(sim_client_handle_type h_sim)
31{
32 if(h_sim == 0)
33 {
34 LYERRLOG("not init\n");
35 return E_QSER_ERROR_BADPARM;
36 }
37 return lynq_sim_deinit();
38}
39
40int qser_sim_getimsi(sim_client_handle_type h_sim, QSER_SIM_APP_ID_INFO_T *pt_info, char *imsi, size_t imsiLen)
41{
42 if(NULL == pt_info)
43 {
44 LYERRLOG("input error\n");
45 return E_QSER_ERROR_BADPARM;
46 }
47 if(NULL == imsi)
48 {
49 LYERRLOG("input error\n");
50 return E_QSER_ERROR_BADPARM;
51 }
52 if(h_sim == 0)
53 {
54 LYERRLOG("not init\n");
55 return E_QSER_ERROR_BADPARM;
56 }
57 return lynq_get_imsi(imsi);
58}
59
60int qser_sim_geticcid(sim_client_handle_type h_sim, QSER_SIM_SLOT_ID_TYPE_T simId, char *iccid, size_t iccidLen)
61{
62 if(NULL == iccid)
63 {
64 LYERRLOG("input error\n");
65 return E_QSER_ERROR_BADPARM;
66 }
67 if(h_sim == 0)
68 {
69 LYERRLOG("not init\n");
70 return E_QSER_ERROR_BADPARM;
71 }
72 return lynq_get_iccid(iccid);
73}
74
75int qser_sim_getphonenumber(sim_client_handle_type h_sim, QSER_SIM_APP_ID_INFO_T *pt_info, char *phone_num, size_t phoneLen)
76{
77 if(NULL == pt_info)
78 {
79 LYERRLOG("input error\n");
80 return E_QSER_ERROR_BADPARM;
81 }
82 if(NULL == phone_num)
83 {
84 LYERRLOG("input error\n");
85 return E_QSER_ERROR_BADPARM;
86 }
87 if(h_sim == 0)
88 {
89 LYERRLOG("not init\n");
90 return E_QSER_ERROR_BADPARM;
91 }
92 return lynq_query_phone_number(phone_num);
93}
94
95int qser_sim_verifypin(sim_client_handle_type h_sim, QSER_SIM_VERIFY_PIN_INFO_T *pt_info)
96{
97 if(NULL == pt_info)
98 {
99 LYERRLOG("input error\n");
100 return E_QSER_ERROR_BADPARM;
101 }
102 if(h_sim == 0)
103 {
104 LYERRLOG("not init\n");
105 return E_QSER_ERROR_BADPARM;
106 }
107 return lynq_verify_pin(pt_info->pin_value);
108}
109
110int qser_sim_changepin(sim_client_handle_type h_sim,QSER_SIM_CHANGE_PIN_INFO_T *pt_info)
111{
112 if(NULL == pt_info)
113 {
114 LYERRLOG("input error\n");
115 return E_QSER_ERROR_BADPARM;
116 }
117 if(h_sim == 0)
118 {
119 LYERRLOG("not init\n");
120 return E_QSER_ERROR_BADPARM;
121 }
122 return lynq_change_pin(pt_info->old_pin_value, pt_info->new_pin_value);
123}
124
125int qser_sim_unblockpin(sim_client_handle_type h_sim, QSER_SIM_UNBLOCK_PIN_INFO_T *pt_info)
126{
127 if(NULL == pt_info)
128 {
129 LYERRLOG("input error\n");
130 return E_QSER_ERROR_BADPARM;
131 }
132 if(h_sim == 0)
133 {
134 LYERRLOG("not init\n");
135 return E_QSER_ERROR_BADPARM;
136 }
137 return lynq_unlock_pin(pt_info->puk_value, pt_info->new_pin_value);
138}
139
140int qser_sim_enablepin(sim_client_handle_type h_sim, QSER_SIM_ENABLE_PIN_INFO_T *pt_info)
141{
142 if(NULL == pt_info)
143 {
144 LYERRLOG("input error\n");
145 return E_QSER_ERROR_BADPARM;
146 }
147 if(h_sim == 0)
148 {
149 LYERRLOG("not init\n");
150 return E_QSER_ERROR_BADPARM;
151 }
152 return lynq_enable_pin(pt_info->pin_value);
153}
154
155int qser_sim_disablepin(sim_client_handle_type h_sim, QSER_SIM_DISABLE_PIN_INFO_T *pt_info)
156{
157 if(NULL == pt_info)
158 {
159 LYERRLOG("input error\n");
160 return E_QSER_ERROR_BADPARM;
161 }
162 if(h_sim == 0)
163 {
164 LYERRLOG("not init\n");
165 return E_QSER_ERROR_BADPARM;
166 }
167 return lynq_disable_pin(pt_info->pin_value);
168}
169
170int qser_sim_getcardstatus(sim_client_handle_type h_sim,QSER_SIM_SLOT_ID_TYPE_T simId, QSER_SIM_CARD_STATUS_INFO_T *pt_info)
171{
172 if(NULL == pt_info)
173 {
174 LYERRLOG("input error\n");
175 return E_QSER_ERROR_BADPARM;
176 }
177 if(h_sim == 0)
178 {
179 LYERRLOG("not init\n");
180 return E_QSER_ERROR_BADPARM;
181 }
182 return lynq_get_sim_status((int*)&pt_info->e_card_state);
183}