00001 00136 #ifndef LEGATO_SIM_INCLUDE_GUARD 00137 #define LEGATO_SIM_INCLUDE_GUARD 00138 00139 #include "legato.h" 00140 #include "le_mdm_defs.h" 00141 00142 00143 00144 //-------------------------------------------------------------------------------------------------- 00145 // Symbol and Enum definitions. 00146 //-------------------------------------------------------------------------------------------------- 00147 00148 //-------------------------------------------------------------------------------------------------- 00153 //-------------------------------------------------------------------------------------------------- 00154 #define LE_SIM_PIN_MIN_LEN 4 00155 00156 00157 //-------------------------------------------------------------------------------------------------- 00162 //-------------------------------------------------------------------------------------------------- 00163 #define LE_SIM_PIN_MAX_LEN 8 00164 00165 00166 //-------------------------------------------------------------------------------------------------- 00171 //-------------------------------------------------------------------------------------------------- 00172 #define LE_SIM_PUK_LEN 8 00173 00174 //-------------------------------------------------------------------------------------------------- 00179 //-------------------------------------------------------------------------------------------------- 00180 #define LE_SIM_ICCID_LEN (20+1) 00181 00182 //-------------------------------------------------------------------------------------------------- 00187 //-------------------------------------------------------------------------------------------------- 00188 #define LE_SIM_IMSI_LEN (15+1) 00189 00190 00191 00192 00193 //-------------------------------------------------------------------------------------------------- 00194 // Other new type definitions. 00195 //-------------------------------------------------------------------------------------------------- 00196 00197 //-------------------------------------------------------------------------------------------------- 00201 //-------------------------------------------------------------------------------------------------- 00202 typedef struct le_Sim* le_sim_Ref_t; 00203 00204 00205 //-------------------------------------------------------------------------------------------------- 00209 //-------------------------------------------------------------------------------------------------- 00210 typedef struct le_sim_NewStateHandler* le_sim_NewStateHandlerRef_t; 00211 00212 00213 //-------------------------------------------------------------------------------------------------- 00220 //-------------------------------------------------------------------------------------------------- 00221 typedef void (*le_sim_NewStateHandlerFunc_t) 00222 ( 00223 le_sim_Ref_t simRef, 00224 void* contextPtr 00225 ); 00226 00227 00228 //-------------------------------------------------------------------------------------------------- 00229 // APIs. 00230 //-------------------------------------------------------------------------------------------------- 00231 00232 //-------------------------------------------------------------------------------------------------- 00238 //-------------------------------------------------------------------------------------------------- 00239 uint32_t le_sim_CountSlots 00240 ( 00241 void 00242 ); 00243 00244 //-------------------------------------------------------------------------------------------------- 00250 //-------------------------------------------------------------------------------------------------- 00251 uint32_t le_sim_GetSelectedCard 00252 ( 00253 void 00254 ); 00255 00256 //-------------------------------------------------------------------------------------------------- 00265 //-------------------------------------------------------------------------------------------------- 00266 le_sim_Ref_t le_sim_Create 00267 ( 00268 uint32_t cardNum 00269 ); 00270 00271 //-------------------------------------------------------------------------------------------------- 00283 //-------------------------------------------------------------------------------------------------- 00284 void le_sim_Delete 00285 ( 00286 le_sim_Ref_t simRef 00287 ); 00288 00289 //-------------------------------------------------------------------------------------------------- 00298 //-------------------------------------------------------------------------------------------------- 00299 uint32_t le_sim_GetSlotNumber 00300 ( 00301 le_sim_Ref_t simRef 00302 ); 00303 00304 //-------------------------------------------------------------------------------------------------- 00315 //-------------------------------------------------------------------------------------------------- 00316 le_result_t le_sim_GetICCID 00317 ( 00318 le_sim_Ref_t simRef, 00319 char * iccidPtr, 00320 size_t iccidLen 00321 ); 00322 00323 //-------------------------------------------------------------------------------------------------- 00334 //-------------------------------------------------------------------------------------------------- 00335 le_result_t le_sim_GetIMSI 00336 ( 00337 le_sim_Ref_t simRef, 00338 char * imsiPtr, 00339 size_t imsiLen 00340 ); 00341 00342 //-------------------------------------------------------------------------------------------------- 00352 //-------------------------------------------------------------------------------------------------- 00353 bool le_sim_IsPresent 00354 ( 00355 le_sim_Ref_t simRef 00356 ); 00357 00358 //-------------------------------------------------------------------------------------------------- 00369 //-------------------------------------------------------------------------------------------------- 00370 bool le_sim_IsReady 00371 ( 00372 le_sim_Ref_t simRef 00373 ); 00374 00375 //-------------------------------------------------------------------------------------------------- 00388 //-------------------------------------------------------------------------------------------------- 00389 le_result_t le_sim_EnterPIN 00390 ( 00391 le_sim_Ref_t simRef, 00392 const char* pinPtr 00393 ); 00394 00395 //-------------------------------------------------------------------------------------------------- 00408 //-------------------------------------------------------------------------------------------------- 00409 le_result_t le_sim_ChangePIN 00410 ( 00411 le_sim_Ref_t simRef, 00412 const char* oldpinPtr, 00413 const char* newpinPtr 00414 ); 00415 00416 //-------------------------------------------------------------------------------------------------- 00427 //-------------------------------------------------------------------------------------------------- 00428 int32_t le_sim_GetRemainingPINTries 00429 ( 00430 le_sim_Ref_t simRef 00431 ); 00432 00433 //-------------------------------------------------------------------------------------------------- 00446 //-------------------------------------------------------------------------------------------------- 00447 le_result_t le_sim_Unlock 00448 ( 00449 le_sim_Ref_t simRef, 00450 const char* pinPtr 00451 ); 00452 00453 //-------------------------------------------------------------------------------------------------- 00466 //-------------------------------------------------------------------------------------------------- 00467 le_result_t le_sim_Lock 00468 ( 00469 le_sim_Ref_t simRef, 00470 const char* pinPtr 00471 ); 00472 00473 //-------------------------------------------------------------------------------------------------- 00487 //-------------------------------------------------------------------------------------------------- 00488 le_result_t le_sim_Unblock 00489 ( 00490 le_sim_Ref_t simRef, 00491 const char* pukPtr, 00492 const char* newpinPtr 00493 ); 00494 00495 //-------------------------------------------------------------------------------------------------- 00504 //-------------------------------------------------------------------------------------------------- 00505 le_sim_States_t le_sim_GetState 00506 ( 00507 le_sim_Ref_t simRef 00508 ); 00509 00510 //-------------------------------------------------------------------------------------------------- 00518 //-------------------------------------------------------------------------------------------------- 00519 le_sim_NewStateHandlerRef_t le_sim_AddNewStateHandler 00520 ( 00521 le_sim_NewStateHandlerFunc_t handlerFuncPtr, 00522 void* contextPtr 00523 ); 00524 00525 //-------------------------------------------------------------------------------------------------- 00531 //-------------------------------------------------------------------------------------------------- 00532 void le_sim_RemoveNewStateHandler 00533 ( 00534 le_sim_NewStateHandlerRef_t handlerRef 00535 ); 00536 00537 //-------------------------------------------------------------------------------------------------- 00549 //-------------------------------------------------------------------------------------------------- 00550 le_result_t le_sim_GetSubscriberPhoneNumber 00551 ( 00552 le_sim_Ref_t simRef, 00553 char *phoneNumberStr, 00554 size_t phoneNumberStrSize 00555 ); 00556 00557 #endif // LEGATO_SIM_INCLUDE_GUARD