All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
le_sim.h
Go to the documentation of this file.
1 
8 #ifndef LEGATO_SIM_INCLUDE_GUARD
9 #define LEGATO_SIM_INCLUDE_GUARD
10 
11 #include "legato.h"
12 
13 //--------------------------------------------------------------------------------------------------
14 // Symbol and Enum definitions.
15 //--------------------------------------------------------------------------------------------------
16 
17 //--------------------------------------------------------------------------------------------------
22 //--------------------------------------------------------------------------------------------------
23 #define LE_SIM_PIN_MIN_LEN 4
24 
25 
26 //--------------------------------------------------------------------------------------------------
31 //--------------------------------------------------------------------------------------------------
32 #define LE_SIM_PIN_MAX_LEN 8
33 
34 
35 //--------------------------------------------------------------------------------------------------
40 //--------------------------------------------------------------------------------------------------
41 #define LE_SIM_PUK_LEN 8
42 
43 //--------------------------------------------------------------------------------------------------
48 //--------------------------------------------------------------------------------------------------
49 #define LE_SIM_ICCID_LEN (20+1)
50 
51 //--------------------------------------------------------------------------------------------------
56 //--------------------------------------------------------------------------------------------------
57 #define LE_SIM_IMSI_LEN (15+1)
58 
59 
60 //--------------------------------------------------------------------------------------------------
65 //--------------------------------------------------------------------------------------------------
66 typedef enum
67 {
74 }
76 
77 //--------------------------------------------------------------------------------------------------
78 // Other new type definitions.
79 //--------------------------------------------------------------------------------------------------
80 
81 //--------------------------------------------------------------------------------------------------
85 //--------------------------------------------------------------------------------------------------
86 typedef struct le_sim_Obj* le_sim_ObjRef_t;
87 
88 
89 //--------------------------------------------------------------------------------------------------
93 //--------------------------------------------------------------------------------------------------
94 typedef struct le_sim_NewStateHandler* le_sim_NewStateHandlerRef_t;
95 
96 
97 //--------------------------------------------------------------------------------------------------
104 //--------------------------------------------------------------------------------------------------
105 typedef void (*le_sim_NewStateHandlerFunc_t)
106 (
107  le_sim_ObjRef_t simRef,
108  void* contextPtr
109 );
110 
111 
112 //--------------------------------------------------------------------------------------------------
113 // APIs.
114 //--------------------------------------------------------------------------------------------------
115 
116 //--------------------------------------------------------------------------------------------------
122 //--------------------------------------------------------------------------------------------------
123 uint32_t le_sim_CountSlots
124 (
125  void
126 );
127 
128 //--------------------------------------------------------------------------------------------------
134 //--------------------------------------------------------------------------------------------------
135 uint32_t le_sim_GetSelectedCard
136 (
137  void
138 );
139 
140 //--------------------------------------------------------------------------------------------------
149 //--------------------------------------------------------------------------------------------------
151 (
152  uint32_t cardNum
153 );
154 
155 //--------------------------------------------------------------------------------------------------
167 //--------------------------------------------------------------------------------------------------
168 void le_sim_Delete
169 (
170  le_sim_ObjRef_t simRef
171 );
172 
173 //--------------------------------------------------------------------------------------------------
182 //--------------------------------------------------------------------------------------------------
183 uint32_t le_sim_GetSlotNumber
184 (
185  le_sim_ObjRef_t simRef
186 );
187 
188 //--------------------------------------------------------------------------------------------------
199 //--------------------------------------------------------------------------------------------------
201 (
202  le_sim_ObjRef_t simRef,
203  char * iccidPtr,
204  size_t iccidLen
205 );
206 
207 //--------------------------------------------------------------------------------------------------
218 //--------------------------------------------------------------------------------------------------
220 (
221  le_sim_ObjRef_t simRef,
222  char * imsiPtr,
223  size_t imsiLen
224 );
225 
226 //--------------------------------------------------------------------------------------------------
236 //--------------------------------------------------------------------------------------------------
237 bool le_sim_IsPresent
238 (
239  le_sim_ObjRef_t simRef
240 );
241 
242 //--------------------------------------------------------------------------------------------------
253 //--------------------------------------------------------------------------------------------------
254 bool le_sim_IsReady
255 (
256  le_sim_ObjRef_t simRef
257 );
258 
259 //--------------------------------------------------------------------------------------------------
274 //--------------------------------------------------------------------------------------------------
276 (
277  le_sim_ObjRef_t simRef,
278  const char* pinPtr
279 );
280 
281 //--------------------------------------------------------------------------------------------------
296 //--------------------------------------------------------------------------------------------------
298 (
299  le_sim_ObjRef_t simRef,
300  const char* oldpinPtr,
301  const char* newpinPtr
302 );
303 
304 //--------------------------------------------------------------------------------------------------
315 //--------------------------------------------------------------------------------------------------
317 (
318  le_sim_ObjRef_t simRef
319 );
320 
321 //--------------------------------------------------------------------------------------------------
336 //--------------------------------------------------------------------------------------------------
338 (
339  le_sim_ObjRef_t simRef,
340  const char* pinPtr
341 );
342 
343 //--------------------------------------------------------------------------------------------------
358 //--------------------------------------------------------------------------------------------------
360 (
361  le_sim_ObjRef_t simRef,
362  const char* pinPtr
363 );
364 
365 //--------------------------------------------------------------------------------------------------
381 //--------------------------------------------------------------------------------------------------
383 (
384  le_sim_ObjRef_t simRef,
385  const char* pukPtr,
386  const char* newpinPtr
387 );
388 
389 //--------------------------------------------------------------------------------------------------
398 //--------------------------------------------------------------------------------------------------
400 (
401  le_sim_ObjRef_t simRef
402 );
403 
404 //--------------------------------------------------------------------------------------------------
412 //--------------------------------------------------------------------------------------------------
414 (
415  le_sim_NewStateHandlerFunc_t handlerFuncPtr,
416  void* contextPtr
417 );
418 
419 //--------------------------------------------------------------------------------------------------
425 //--------------------------------------------------------------------------------------------------
427 (
428  le_sim_NewStateHandlerRef_t handlerRef
429 );
430 
431 //--------------------------------------------------------------------------------------------------
443 //--------------------------------------------------------------------------------------------------
445 (
446  le_sim_ObjRef_t simRef,
447  char *phoneNumberStr,
448  size_t phoneNumberStrSize
449 );
450 
451 #endif // LEGATO_SIM_INCLUDE_GUARD
Unknown SIM state.
Definition: le_sim.h:73
SIM card is busy.
Definition: le_sim.h:72
le_result_t
Definition: le_basics.h:34
le_result_t le_sim_Lock(le_sim_ObjRef_t simRef, const char *pinPtr)
void(* le_sim_NewStateHandlerFunc_t)(le_sim_ObjRef_t simRef, void *contextPtr)
Definition: le_sim.h:106
SIM card is absent.
Definition: le_sim.h:69
uint32_t le_sim_CountSlots(void)
SIM card is inserted and locked.
Definition: le_sim.h:68
int32_t le_sim_GetRemainingPINTries(le_sim_ObjRef_t simRef)
uint32_t le_sim_GetSlotNumber(le_sim_ObjRef_t simRef)
uint32_t le_sim_GetSelectedCard(void)
le_sim_States_t le_sim_GetState(le_sim_ObjRef_t simRef)
le_result_t le_sim_ChangePIN(le_sim_ObjRef_t simRef, const char *oldpinPtr, const char *newpinPtr)
SIM card is blocked.
Definition: le_sim.h:71
SIM card is inserted and unlocked.
Definition: le_sim.h:70
le_sim_NewStateHandlerRef_t le_sim_AddNewStateHandler(le_sim_NewStateHandlerFunc_t handlerFuncPtr, void *contextPtr)
le_sim_States_t
Definition: le_sim.h:66
void le_sim_RemoveNewStateHandler(le_sim_NewStateHandlerRef_t handlerRef)
bool le_sim_IsReady(le_sim_ObjRef_t simRef)
bool le_sim_IsPresent(le_sim_ObjRef_t simRef)
le_result_t le_sim_EnterPIN(le_sim_ObjRef_t simRef, const char *pinPtr)
le_result_t le_sim_GetICCID(le_sim_ObjRef_t simRef, char *iccidPtr, size_t iccidLen)
struct le_sim_Obj * le_sim_ObjRef_t
Definition: le_sim.h:86
le_result_t le_sim_Unblock(le_sim_ObjRef_t simRef, const char *pukPtr, const char *newpinPtr)
le_result_t le_sim_GetSubscriberPhoneNumber(le_sim_ObjRef_t simRef, char *phoneNumberStr, size_t phoneNumberStrSize)
struct le_sim_NewStateHandler * le_sim_NewStateHandlerRef_t
Definition: le_sim.h:94
le_result_t le_sim_Unlock(le_sim_ObjRef_t simRef, const char *pinPtr)
le_result_t le_sim_GetIMSI(le_sim_ObjRef_t simRef, char *imsiPtr, size_t imsiLen)
le_sim_ObjRef_t le_sim_Create(uint32_t cardNum)
void le_sim_Delete(le_sim_ObjRef_t simRef)