All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
pa_mrc.h
Go to the documentation of this file.
1 
25 #ifndef LEGATO_PARC_INCLUDE_GUARD
26 #define LEGATO_PARC_INCLUDE_GUARD
27 
28 #include "legato.h"
29 #include "le_mrc.h"
30 
31 //--------------------------------------------------------------------------------------------------
32 // Symbol and Enum definitions.
33 //--------------------------------------------------------------------------------------------------
34 
35 //--------------------------------------------------------------------------------------------------
36 //--------------------------------------------------------------------------------------------------
41 //--------------------------------------------------------------------------------------------------
42 #define PA_MRC_RAT_MASK_GSM 1<<0
43 #define PA_MRC_RAT_MASK_UMTS 1<<1
44 #define PA_MRC_RAT_MASK_LTE 1<<2
45 #define PA_MRC_RAT_MASK_CDMA 1<<3
46 
47 
48 //--------------------------------------------------------------------------------------------------
53 //--------------------------------------------------------------------------------------------------
54 typedef enum
55 {
60 }
64 
65 //--------------------------------------------------------------------------------------------------
70 //--------------------------------------------------------------------------------------------------
71 typedef struct pa_mrc_CellInfo
72 {
73  le_dls_Link_t link;
74  uint32_t index;
75  uint32_t id;
76  uint16_t lac;
77  int16_t rxLevel;
78 }
80 
81 //--------------------------------------------------------------------------------------------------
86 //--------------------------------------------------------------------------------------------------
87 typedef enum
88 {
91 }
93 
94 //--------------------------------------------------------------------------------------------------
99 //--------------------------------------------------------------------------------------------------
100 typedef struct
101 {
102  char mcc[LE_MRC_MCC_BYTES];
103  char mnc[LE_MRC_MNC_BYTES];
104 }
106 
107 //--------------------------------------------------------------------------------------------------
112 //--------------------------------------------------------------------------------------------------
113 typedef struct
114 {
116  uint32_t ratMask;
118 }
120 
121 //--------------------------------------------------------------------------------------------------
126 //--------------------------------------------------------------------------------------------------
127 typedef struct
128 {
130  uint32_t rat;
131  uint32_t networkStatus;
133 }
135 
136 //--------------------------------------------------------------------------------------------------
142 //--------------------------------------------------------------------------------------------------
143 typedef void (*pa_mrc_NetworkRegHdlrFunc_t)
144 (
145  le_mrc_NetRegState_t* regStatePtr
146 );
147 
148 //--------------------------------------------------------------------------------------------------
154 //--------------------------------------------------------------------------------------------------
155 typedef void (*pa_mrc_RatChangeHdlrFunc_t)
156 (
157  le_mrc_Rat_t* ratPtr
158 );
159 
160 //--------------------------------------------------------------------------------------------------
161 // APIs.
162 //--------------------------------------------------------------------------------------------------
163 
164 //--------------------------------------------------------------------------------------------------
171 //--------------------------------------------------------------------------------------------------
173 (
174  le_onoff_t power
175 );
176 
177 //--------------------------------------------------------------------------------------------------
184 //--------------------------------------------------------------------------------------------------
186 (
187  le_onoff_t* powerPtr
188 );
189 
190 //--------------------------------------------------------------------------------------------------
198 //--------------------------------------------------------------------------------------------------
200 (
201  pa_mrc_RatChangeHdlrFunc_t handlerFuncPtr
202 );
203 
204 //--------------------------------------------------------------------------------------------------
210 //--------------------------------------------------------------------------------------------------
212 (
213  le_event_HandlerRef_t handlerRef
214 );
215 
216 //--------------------------------------------------------------------------------------------------
224 //--------------------------------------------------------------------------------------------------
226 (
227  pa_mrc_NetworkRegHdlrFunc_t regStateHandler
228 );
230 
231 //--------------------------------------------------------------------------------------------------
237 //--------------------------------------------------------------------------------------------------
239 (
240  le_event_HandlerRef_t handlerRef
241 );
242 
243 //--------------------------------------------------------------------------------------------------
251 //--------------------------------------------------------------------------------------------------
253 (
255 );
256 
257 //--------------------------------------------------------------------------------------------------
265 //--------------------------------------------------------------------------------------------------
267 (
268  pa_mrc_NetworkRegSetting_t* settingPtr
269 );
270 
271 //--------------------------------------------------------------------------------------------------
279 //--------------------------------------------------------------------------------------------------
281 (
282  le_mrc_NetRegState_t* statePtr
283 );
284 
285 //--------------------------------------------------------------------------------------------------
294 //--------------------------------------------------------------------------------------------------
296 (
297  int32_t* rssiPtr
298 );
299 
300 //--------------------------------------------------------------------------------------------------
309 //--------------------------------------------------------------------------------------------------
311 (
312  char *nameStr,
313  size_t nameStrSize
314 );
315 
316 //--------------------------------------------------------------------------------------------------
321 //--------------------------------------------------------------------------------------------------
323 (
324  le_dls_List_t *scanInformationListPtr
325 );
326 
327 //--------------------------------------------------------------------------------------------------
337 //--------------------------------------------------------------------------------------------------
339 (
340  uint32_t networkMask,
341  le_mrc_ScanType_t scanType,
342  le_dls_List_t *scanInformationListPtr
343 );
344 
345 //--------------------------------------------------------------------------------------------------
353 //--------------------------------------------------------------------------------------------------
355 (
356  pa_mrc_ScanInformation_t *scanInformationPtr,
357  pa_mrc_MobileCode_t *mobileCodePtr
358 );
359 
360 //--------------------------------------------------------------------------------------------------
369 //--------------------------------------------------------------------------------------------------
371 (
372  pa_mrc_ScanInformation_t *scanInformationPtr,
373  char *namePtr,
374  size_t nameSize
375 );
376 
377 //--------------------------------------------------------------------------------------------------
385 //--------------------------------------------------------------------------------------------------
387 (
388  pa_mrc_ScanInformation_t *scanInformationPtr,
389  le_mrc_Rat_t *ratPtr
390 );
391 
392 //--------------------------------------------------------------------------------------------------
400 //--------------------------------------------------------------------------------------------------
402 (
403  pa_mrc_ScanInformation_t *scanInformationPtr,
404  bool *inUsePtr
405 );
406 
407 //--------------------------------------------------------------------------------------------------
415 //--------------------------------------------------------------------------------------------------
417 (
418  pa_mrc_ScanInformation_t *scanInformationPtr,
419  bool *isAvailablePtr
420 );
421 
422 //--------------------------------------------------------------------------------------------------
430 //--------------------------------------------------------------------------------------------------
432 (
433  pa_mrc_ScanInformation_t *scanInformationPtr,
434  bool *isHomePtr
435 );
436 
437 //--------------------------------------------------------------------------------------------------
445 //--------------------------------------------------------------------------------------------------
447 (
448  pa_mrc_ScanInformation_t *scanInformationPtr,
449  bool *isForbiddenPtr
450 );
451 
452 //--------------------------------------------------------------------------------------------------
460 //--------------------------------------------------------------------------------------------------
462 (
463  le_dls_List_t *PreferredOperatorsListPtr,
464  char mcc[LE_MRC_MCC_BYTES],
465  char mnc[LE_MRC_MNC_BYTES],
466  uint32_t ratMask
467 );
468 
469 //--------------------------------------------------------------------------------------------------
474 //--------------------------------------------------------------------------------------------------
476 (
477  le_dls_List_t *PreferredOperatorsListPtr
478 );
479 
480 //--------------------------------------------------------------------------------------------------
488 //--------------------------------------------------------------------------------------------------
490 (
491  le_dls_List_t *PreferredOperatorsListPtr
492 );
493 
494 //--------------------------------------------------------------------------------------------------
501 //--------------------------------------------------------------------------------------------------
503 (
504  const char *mccPtr,
505  const char *mncPtr
506 );
507 
508 //--------------------------------------------------------------------------------------------------
516 //--------------------------------------------------------------------------------------------------
518 (
519  void
520 );
521 
522 //--------------------------------------------------------------------------------------------------
529 //--------------------------------------------------------------------------------------------------
531 (
532  le_mrc_Rat_t* ratPtr
533 );
534 
535 //--------------------------------------------------------------------------------------------------
542 //--------------------------------------------------------------------------------------------------
544 (
545  uint8_t rats
546 );
547 
548 //--------------------------------------------------------------------------------------------------
555 //--------------------------------------------------------------------------------------------------
557 (
558  uint64_t bands
559 );
560 
561 //--------------------------------------------------------------------------------------------------
568 //--------------------------------------------------------------------------------------------------
570 (
571  uint64_t bands
572 );
573 
574 //--------------------------------------------------------------------------------------------------
581 //--------------------------------------------------------------------------------------------------
583 (
584  uint8_t tdsCdmaBands
585 );
586 
587 //--------------------------------------------------------------------------------------------------
597 //--------------------------------------------------------------------------------------------------
599 (
600  le_dls_List_t* cellInfoListPtr
601 );
602 
603 //--------------------------------------------------------------------------------------------------
608 //--------------------------------------------------------------------------------------------------
610 (
611  le_dls_List_t *cellInfoListPtr
612 );
613 
614 #endif // LEGATO_PARC_INCLUDE_GUARD
le_result_t pa_mrc_GetHomeNetworkName(char *nameStr, size_t nameStrSize)
le_result_t pa_mrc_SetLteBandPreference(uint64_t bands)
uint16_t lac
The location area code.
Definition: pa_mrc.h:76
le_result_t pa_mrc_RegisterNetwork(const char *mccPtr, const char *mncPtr)
le_result_t pa_mrc_GetScanInformationName(pa_mrc_ScanInformation_t *scanInformationPtr, char *namePtr, size_t nameSize)
le_dls_Link_t link
link for the list
Definition: pa_mrc.h:117
le_mrc_NetRegState_t
Definition: le_mrc.h:141
uint32_t index
The cell number.
Definition: pa_mrc.h:74
le_result_t pa_mrc_GetNetworkRegConfig(pa_mrc_NetworkRegSetting_t *settingPtr)
le_result_t
Definition: le_basics.h:34
le_result_t pa_mrc_SetAutomaticNetworkRegistration(void)
le_dls_Link_t link
link for the list
Definition: pa_mrc.h:132
uint32_t networkStatus
network status to translate
Definition: pa_mrc.h:131
le_result_t pa_mrc_GetSignalQuality(int32_t *rssiPtr)
le_result_t pa_mrc_GetNetworkRegState(le_mrc_NetRegState_t *statePtr)
le_result_t pa_mrc_ConfigureNetworkReg(pa_mrc_NetworkRegSetting_t setting)
Definition: le_doublyLinkedList.h:221
void pa_mrc_RemoveRatChangeHandler(le_event_HandlerRef_t handlerRef)
le_result_t pa_mrc_SetBandPreference(uint64_t bands)
le_result_t pa_mrc_SavePreferredOperators(le_dls_List_t *PreferredOperatorsListPtr)
le_result_t pa_mrc_GetScanInformationForbidden(pa_mrc_ScanInformation_t *scanInformationPtr, bool *isForbiddenPtr)
pa_mrc_NetworkRegSetting_t
Definition: pa_mrc.h:54
Definition: pa_mrc.h:100
pa_mrc_MobileCode_t mobileCode
Mobilde code.
Definition: pa_mrc.h:115
le_result_t pa_mrc_GetRadioPower(le_onoff_t *powerPtr)
le_result_t pa_mrc_GetScanInformationAvailable(pa_mrc_ScanInformation_t *scanInformationPtr, bool *isAvailablePtr)
uint32_t rat
radio access technology
Definition: pa_mrc.h:130
uint32_t id
The cell identifier.
Definition: pa_mrc.h:75
le_result_t pa_mrc_GetScanInformationCode(pa_mrc_ScanInformation_t *scanInformationPtr, pa_mrc_MobileCode_t *mobileCodePtr)
Enable network registration notification code.
Definition: pa_mrc.h:58
void pa_mrc_DeleteScanInformation(le_dls_List_t *scanInformationListPtr)
uint32_t ratMask
mask of network technology
Definition: pa_mrc.h:116
le_result_t pa_mrc_SetRatPreference(uint8_t rats)
le_result_t pa_mrc_AddPreferredOperators(le_dls_List_t *PreferredOperatorsListPtr, char mcc[LE_MRC_MCC_BYTES], char mnc[LE_MRC_MNC_BYTES], uint32_t ratMask)
int32_t pa_mrc_GetNeighborCellsInfo(le_dls_List_t *cellInfoListPtr)
Definition: pa_mrc.h:113
void(* pa_mrc_NetworkRegHdlrFunc_t)(le_mrc_NetRegState_t *regStatePtr)
Definition: pa_mrc.h:144
le_event_HandlerRef_t pa_mrc_SetRatChangeHandler(pa_mrc_RatChangeHdlrFunc_t handlerFuncPtr)
le_result_t pa_mrc_PerformNetworkScan(uint32_t networkMask, le_mrc_ScanType_t scanType, le_dls_List_t *scanInformationListPtr)
Definition: pa_mrc.h:59
le_result_t pa_mrc_RemoveNetworkRegHandler(le_event_HandlerRef_t handlerRef)
le_event_HandlerRef_t pa_mrc_AddNetworkRegHandler(pa_mrc_NetworkRegHdlrFunc_t regStateHandler)
void pa_mrc_DeleteNeighborCellsInfo(le_dls_List_t *cellInfoListPtr)
struct le_event_Handler * le_event_HandlerRef_t
Definition: le_eventLoop.h:750
pa_mrc_MobileCode_t mobileCode
Mobile code.
Definition: pa_mrc.h:129
Definition: pa_mrc.h:127
Scan PLMN.
Definition: pa_mrc.h:89
int16_t rxLevel
The cell Rx level measurement.
Definition: pa_mrc.h:77
le_result_t pa_mrc_SetRadioPower(le_onoff_t power)
Definition: pa_mrc.h:56
Definition: pa_mrc.h:71
le_result_t pa_mrc_GetScanInformationInUse(pa_mrc_ScanInformation_t *scanInformationPtr, bool *inUsePtr)
void(* pa_mrc_RatChangeHdlrFunc_t)(le_mrc_Rat_t *ratPtr)
Definition: pa_mrc.h:156
le_result_t pa_mrc_GetRadioAccessTechInUse(le_mrc_Rat_t *ratPtr)
le_mrc_ScanType_t
Definition: pa_mrc.h:87
le_result_t pa_mrc_SetTdScdmaBandPreference(uint8_t tdsCdmaBands)
le_result_t pa_mrc_GetScanInformationHome(pa_mrc_ScanInformation_t *scanInformationPtr, bool *isHomePtr)
le_mrc_Rat_t
Definition: le_mrc.h:158
le_result_t pa_mrc_GetScanInformationRat(pa_mrc_ScanInformation_t *scanInformationPtr, le_mrc_Rat_t *ratPtr)
Scan closed subscriber group.
Definition: pa_mrc.h:90
void pa_mrc_DeletePreferredOperators(le_dls_List_t *PreferredOperatorsListPtr)
le_onoff_t
Definition: le_basics.h:64