interfaces/modemServices/c/le_sim.h
Go to the documentation of this file.
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
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines