All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
le_mrc.h File Reference
#include "legato.h"

Go to the source code of this file.

Macros

#define LE_MRC_MCC_LEN   3
 
#define LE_MRC_MCC_BYTES   (LE_MRC_MCC_LEN+1)
 
#define LE_MRC_MNC_LEN   3
 
#define LE_MRC_MNC_BYTES   (LE_MRC_MNC_LEN+1)
 
#define LE_MRC_BITMASK_RAT_CDMA   0x01
 
#define LE_MRC_BITMASK_RAT_GSM   0x02
 
#define LE_MRC_BITMASK_RAT_UMTS   0x04
 
#define LE_MRC_BITMASK_RAT_LTE   0x08
 
#define LE_MRC_BITMASK_BAND_CLASS_0_A_SYSTEM   0x0000000000000001
 
#define LE_MRC_BITMASK_BAND_CLASS_0_B_SYSTEM   0x0000000000000002
 
#define LE_MRC_BITMASK_BAND_CLASS_1_ALL_BLOCKS   0x0000000000000004
 
#define LE_MRC_BITMASK_BAND_CLASS_2_PLACEHOLDER   0x0000000000000008
 
#define LE_MRC_BITMASK_BAND_CLASS_3_A_SYSTEM   0x0000000000000010
 
#define LE_MRC_BITMASK_BAND_CLASS_4_ALL_BLOCKS   0x0000000000000020
 
#define LE_MRC_BITMASK_BAND_CLASS_5_ALL_BLOCKS   0x0000000000000040
 
#define LE_MRC_BITMASK_BAND_CLASS_6   0x0000000000000080
 
#define LE_MRC_BITMASK_BAND_CLASS_7   0x0000000000000100
 
#define LE_MRC_BITMASK_BAND_CLASS_8   0x0000000000000200
 
#define LE_MRC_BITMASK_BAND_CLASS_9   0x0000000000000400
 
#define LE_MRC_BITMASK_BAND_CLASS_10   0x0000000000000800
 
#define LE_MRC_BITMASK_BAND_CLASS_11   0x0000000000001000
 
#define LE_MRC_BITMASK_BAND_CLASS_12   0x0000000000002000
 
#define LE_MRC_BITMASK_BAND_CLASS_14   0x0000000000004000
 
#define LE_MRC_BITMASK_BAND_CLASS_15   0x0000000000008000
 
#define LE_MRC_BITMASK_BAND_CLASS_16   0x0000000000010000
 
#define LE_MRC_BITMASK_BAND_CLASS_17   0x0000000000020000
 
#define LE_MRC_BITMASK_BAND_CLASS_18   0x0000000000040000
 
#define LE_MRC_BITMASK_BAND_CLASS_19   0x0000000000080000
 
#define LE_MRC_BITMASK_BAND_GSM_DCS_1800   0x0000000000100000
 
#define LE_MRC_BITMASK_BAND_EGSM_900   0x0000000000200000
 
#define LE_MRC_BITMASK_BAND_PRI_GSM_900   0x0000000000400000
 
#define LE_MRC_BITMASK_BAND_GSM_450   0x0000000000800000
 
#define LE_MRC_BITMASK_BAND_GSM_480   0x0000000001000000
 
#define LE_MRC_BITMASK_BAND_GSM_750   0x0000000002000000
 
#define LE_MRC_BITMASK_BAND_GSM_850   0x0000000004000000
 
#define LE_MRC_BITMASK_BAND_GSMR_900   0x0000000008000000
 
#define LE_MRC_BITMASK_BAND_GSM_PCS_1900   0x0000000010000000
 
#define LE_MRC_BITMASK_BAND_WCDMA_EU_J_CH_IMT_2100   0x0000000020000000
 
#define LE_MRC_BITMASK_BAND_WCDMA_US_PCS_1900   0x0000000040000000
 
#define LE_MRC_BITMASK_BAND_WCDMA_EU_CH_DCS_1800   0x0000000080000000
 
#define LE_MRC_BITMASK_BAND_WCDMA_US_1700   0x0000000100000000
 
#define LE_MRC_BITMASK_BAND_WCDMA_US_850   0x0000000200000000
 
#define LE_MRC_BITMASK_BAND_WCDMA_J_800   0x0000000400000000
 
#define LE_MRC_BITMASK_BAND_WCDMA_EU_2600   0x0000000800000000
 
#define LE_MRC_BITMASK_BAND_WCDMA_EU_J_900   0x0000001000000000
 
#define LE_MRC_BITMASK_BAND_WCDMA_J_1700   0x0000002000000000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_1   0x0000000000000001
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_2   0x0000000000000002
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_3   0x0000000000000004
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_4   0x0000000000000008
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_5   0x0000000000000010
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_6   0x0000000000000020
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_7   0x0000000000000040
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_8   0x0000000000000080
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_9   0x0000000000000100
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_10   0x0000000000000200
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_11   0x0000000000000400
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_12   0x0000000000000800
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_13   0x0000000000001000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_14   0x0000000000002000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_17   0x0000000000004000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_18   0x0000000000008000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_19   0x0000000000010000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_20   0x0000000000020000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_21   0x0000000000040000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_24   0x0000000000080000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_25   0x0000000000100000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_33   0x0000000000200000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_34   0x0000000000400000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_35   0x0000000000800000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_36   0x0000000001000000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_37   0x0000000002000000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_38   0x0000000004000000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_39   0x0000000008000000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_40   0x0000000010000000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_41   0x0000000020000000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_42   0x0000000040000000
 
#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_43   0x0000000080000000
 
#define LE_MRC_BITMASK_TDSCDMA_BAND_A   0x01
 
#define LE_MRC_BITMASK_TDSCDMA_BAND_B   0x02
 
#define LE_MRC_BITMASK_TDSCDMA_BAND_C   0x04
 
#define LE_MRC_BITMASK_TDSCDMA_BAND_D   0x08
 
#define LE_MRC_BITMASK_TDSCDMA_BAND_E   0x10
 
#define LE_MRC_BITMASK_TDSCDMA_BAND_F   0x20
 

Typedefs

typedef struct
le_mrc_ScanInformation * 
le_mrc_ScanInformationRef_t
 
typedef struct
le_mrc_ScanInformationList * 
le_mrc_ScanInformationListRef_t
 
typedef struct le_mrc_CellInfo * le_mrc_CellInfoRef_t
 
typedef struct
le_mrc_NeighborCells * 
le_mrc_NeighborCellsRef_t
 
typedef struct
le_mrc_NetRegStateHandler * 
le_mrc_NetRegStateHandlerRef_t
 
typedef struct
le_mrc_RatChangeHandler * 
le_mrc_RatChangeHandlerRef_t
 
typedef void(* le_mrc_NetRegStateHandlerFunc_t )(le_mrc_NetRegState_t state, void *contextPtr)
 
typedef void(* le_mrc_RatChangeHandlerFunc_t )(le_mrc_Rat_t rat, void *contextPtr)
 

Enumerations

enum  le_mrc_NetRegState_t {
  LE_MRC_REG_NONE = 0, LE_MRC_REG_HOME = 1, LE_MRC_REG_SEARCHING = 2, LE_MRC_REG_DENIED = 3,
  LE_MRC_REG_ROAMING = 5, LE_MRC_REG_UNKNOWN = 4
}
 
enum  le_mrc_Rat_t {
  LE_MRC_RAT_UNKNOWN = 0, LE_MRC_RAT_GSM = 1<<0, LE_MRC_RAT_UMTS = 1<<1, LE_MRC_RAT_LTE = 1<<2,
  LE_MRC_RAT_CDMA = 1<<3, LE_MRC_RAT_ALL
}
 

Functions

le_mrc_NetRegStateHandlerRef_t le_mrc_AddNetRegStateHandler (le_mrc_NetRegStateHandlerFunc_t handlerFuncPtr, void *contextPtr)
 
void le_mrc_RemoveNetRegStateHandler (le_mrc_NetRegStateHandlerRef_t handlerRef)
 
le_mrc_RatChangeHandlerRef_t le_mrc_AddRatChangeHandler (le_mrc_RatChangeHandlerFunc_t handlerFuncPtr, void *contextPtr)
 
void le_mrc_RemoveRatChangeHandler (le_mrc_RatChangeHandlerRef_t handlerRef)
 
le_result_t le_mrc_SetRadioPower (le_onoff_t power)
 
le_result_t le_mrc_GetRadioPower (le_onoff_t *powerPtr)
 
le_result_t le_mrc_GetNetRegState (le_mrc_NetRegState_t *statePtr)
 
le_result_t le_mrc_GetSignalQual (uint32_t *qualityPtr)
 
le_result_t le_mrc_GetHomeNetworkName (char *nameStr, size_t nameStrSize)
 
le_result_t le_mrc_RegisterCellularNetwork (const char *mccPtr, const char *mncPtr)
 
le_mrc_ScanInformationListRef_t le_mrc_PerformCellularNetworkScan (le_mrc_Rat_t ratMask)
 
le_mrc_ScanInformationRef_t le_mrc_GetFirstCellularNetworkScan (le_mrc_ScanInformationListRef_t scanInformationListRef)
 
le_mrc_ScanInformationRef_t le_mrc_GetNextCellularNetworkScan (le_mrc_ScanInformationListRef_t scanInformationListRef)
 
void le_mrc_DeleteCellularNetworkScan (le_mrc_ScanInformationListRef_t scanInformationListRef)
 
le_result_t le_mrc_GetCellularNetworkMccMnc (le_mrc_ScanInformationRef_t scanInformationRef, char *mccPtr, size_t mccPtrSize, char *mncPtr, size_t mncPtrSize)
 
le_result_t le_mrc_GetCellularNetworkName (le_mrc_ScanInformationRef_t scanInformationRef, char *namePtr, size_t nameSize)
 
bool le_mrc_IsCellularNetworkRatAvailable (le_mrc_ScanInformationRef_t scanInformationRef, le_mrc_Rat_t rat)
 
bool le_mrc_IsCellularNetworkInUse (le_mrc_ScanInformationRef_t scanInformationRef)
 
bool le_mrc_IsCellularNetworkAvailable (le_mrc_ScanInformationRef_t scanInformationRef)
 
bool le_mrc_IsCellularNetworkHome (le_mrc_ScanInformationRef_t scanInformationRef)
 
bool le_mrc_IsCellularNetworkForbidden (le_mrc_ScanInformationRef_t scanInformationRef)
 
le_result_t le_mrc_GetRadioAccessTechInUse (le_mrc_Rat_t *ratPtr)
 
le_mrc_NeighborCellsRef_t le_mrc_GetNeighborCellsInfo (void)
 
void le_mrc_DeleteNeighborCellsInfo (le_mrc_NeighborCellsRef_t ngbrCellsRef)
 
le_mrc_CellInfoRef_t le_mrc_GetFirstNeighborCellInfo (le_mrc_NeighborCellsRef_t ngbrCellsRef)
 
le_mrc_CellInfoRef_t le_mrc_GetNextNeighborCellInfo (le_mrc_NeighborCellsRef_t ngbrCellsRef)
 
uint32_t le_mrc_GetNeighborCellId (le_mrc_CellInfoRef_t ngbrCellInfoRef)
 
uint32_t le_mrc_GetNeighborCellLocAreaCode (le_mrc_CellInfoRef_t ngbrCellInfoRef)
 
int32_t le_mrc_GetNeighborCellRxLevel (le_mrc_CellInfoRef_t ngbrCellInfoRef)
 

Detailed Description

Legato Modem Radio Control include file.

Copyright (C) Sierra Wireless, Inc. 2013. All rights reserved. Use of this work is subject to license.

Macro Definition Documentation

#define LE_MRC_BITMASK_BAND_CLASS_0_A_SYSTEM   0x0000000000000001

Band Bit Mask

#define LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_1   0x0000000000000001

LTE Band Bit Mask

#define LE_MRC_BITMASK_RAT_CDMA   0x01

Radio Access Technology Bit Mask

#define LE_MRC_BITMASK_TDSCDMA_BAND_A   0x01

TDSCDMA Band Bit Mask

Typedef Documentation

typedef struct le_mrc_CellInfo* le_mrc_CellInfoRef_t

Reference type for one Cell Information.

typedef struct le_mrc_NeighborCells* le_mrc_NeighborCellsRef_t

Reference type for all Neighboring Cells Information.

typedef void(* le_mrc_NetRegStateHandlerFunc_t)(le_mrc_NetRegState_t state, void *contextPtr)

Prototype for handler functions used to report that the network registration state has changed.

Parameters
stateParameter ready to receive the Network Registration state.
contextPtrContext information the event handler may require.
typedef struct le_mrc_NetRegStateHandler* le_mrc_NetRegStateHandlerRef_t

Reference type for Network Registration State's Changes Handler references.

typedef void(* le_mrc_RatChangeHandlerFunc_t)(le_mrc_Rat_t rat, void *contextPtr)

Prototype for handler functions used to report that the Radio Access Technology has changed.

Parameters
ratParameter ready to receive the Radio Access Technology.
contextPtrContext information the event handler may require.
typedef struct le_mrc_RatChangeHandler* le_mrc_RatChangeHandlerRef_t

Reference type for Radio Access Technology changes Handler references.

typedef struct le_mrc_ScanInformationList* le_mrc_ScanInformationListRef_t

Reference type for Scan Information Listing.

typedef struct le_mrc_ScanInformation* le_mrc_ScanInformationRef_t

Declare a reference type for referring to MRC Scan Information objects.

Enumeration Type Documentation

Network Registration states.

Enumerator
LE_MRC_REG_NONE 

Not registered and not currently searching for new operator.

LE_MRC_REG_HOME 

Registered, home network.

LE_MRC_REG_SEARCHING 

Not registered but currently searching for a new operator.

LE_MRC_REG_DENIED 

Registration was denied, usually because of invalid access credentials.

LE_MRC_REG_ROAMING 

Registered to a roaming network.

LE_MRC_REG_UNKNOWN 

Unknown state.

Radio Access Technology

Enumerator
LE_MRC_RAT_UNKNOWN 

Unknown.

LE_MRC_RAT_GSM 

GSM network.

LE_MRC_RAT_UMTS 

UMTS network.

LE_MRC_RAT_LTE 

LTE network.

LE_MRC_RAT_CDMA 

CDMA network.

LE_MRC_RAT_ALL 

All technology.

Function Documentation

le_mrc_NetRegStateHandlerRef_t le_mrc_AddNetRegStateHandler ( le_mrc_NetRegStateHandlerFunc_t  handlerFuncPtr,
void *  contextPtr 
)

Register an handler for network registration state change.

Returns
Handler reference: only needed to remove the handler.
Note
Doesn't return on failure, so there's no need to check the return value for errors.
Parameters
[in]handlerFuncPtrThe handler function.
[in]contextPtrThe handler's context.
le_mrc_RatChangeHandlerRef_t le_mrc_AddRatChangeHandler ( le_mrc_RatChangeHandlerFunc_t  handlerFuncPtr,
void *  contextPtr 
)

This function must be called to register an handler for Radio Access Technology changes.

Returns
A handler reference, which is only needed for later removal of the handler.
Note
Doesn't return on failure, so there's no need to check the return value for errors.
Parameters
[in]handlerFuncPtrThe handler function.
[in]contextPtrThe handler's context.
void le_mrc_DeleteCellularNetworkScan ( le_mrc_ScanInformationListRef_t  scanInformationListRef)

This function must be called to delete the list of the Scan Information retrieved with le_mrc_PerformNetworkScan().

Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
Parameters
[in]scanInformationListRefThe list of scan information.
void le_mrc_DeleteNeighborCellsInfo ( le_mrc_NeighborCellsRef_t  ngbrCellsRef)

This function must be called to delete the Neighboring Cells information.

Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
Parameters
[in]ngbrCellsRefThe Neighboring Cells reference
le_result_t le_mrc_GetCellularNetworkMccMnc ( le_mrc_ScanInformationRef_t  scanInformationRef,
char *  mccPtr,
size_t  mccPtrSize,
char *  mncPtr,
size_t  mncPtrSize 
)

This function must be called to get the Cellular Network Code [mcc:mnc]

Returns
  • LE_OK on success
  • LE_OVERFLOW if the mcc or mnc would not fit in buffer
  • LE_NOT_POSSIBLE for all other errors
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
Parameters
[in]scanInformationRefScan information reference
[out]mccPtrMobile Country Code
[in]mccPtrSizemccPtr buffer size
[out]mncPtrMobile Network Code
[in]mncPtrSizemncPtr buffer size
le_result_t le_mrc_GetCellularNetworkName ( le_mrc_ScanInformationRef_t  scanInformationRef,
char *  namePtr,
size_t  nameSize 
)

This function must be called to get the Cellular Network Name.

Returns
  • LE_OK on success
  • LE_OVERFLOW if the operator name would not fit in buffer
  • LE_NOT_POSSIBLE for all other errors
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
Parameters
[in]scanInformationRefScan information reference
[out]namePtrName of operator
[in]nameSizeThe size in bytes of the namePtr buffer
le_mrc_ScanInformationRef_t le_mrc_GetFirstCellularNetworkScan ( le_mrc_ScanInformationListRef_t  scanInformationListRef)

This function must be called to get the first Scan Information object reference in the list of scan Information retrieved with le_mrc_PerformNetworkScan().

Returns
NULL No scan information found.
le_mrc_ScanInformationRef_t The Scan Information object reference.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]scanInformationListRefThe list of scan information.
le_mrc_CellInfoRef_t le_mrc_GetFirstNeighborCellInfo ( le_mrc_NeighborCellsRef_t  ngbrCellsRef)

This function must be called to get the first Cell Information reference in the list of Neighboring Cells information retrieved with le_mrc_GetNeighborCellsInfo().

Returns
NULL No Cell information object found.
le_mrc_CellInfoRef_t The Cell information object reference.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]ngbrCellsRefThe Neighboring Cells reference
le_result_t le_mrc_GetHomeNetworkName ( char *  nameStr,
size_t  nameStrSize 
)

This function must be called to get the Home Network Name information.

Returns
  • LE_OK on success
  • LE_OVERFLOW if the Home Network Name can't fit in nameStr
  • LE_NOT_POSSIBLE on any other failure
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]nameStrthe home network Name
[in]nameStrSizethe nameStr size
uint32_t le_mrc_GetNeighborCellId ( le_mrc_CellInfoRef_t  ngbrCellInfoRef)

This function must be called to get the Cell Identifier.

Returns
The Cell Identifier.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]ngbrCellInfoRefThe Cell information reference
uint32_t le_mrc_GetNeighborCellLocAreaCode ( le_mrc_CellInfoRef_t  ngbrCellInfoRef)

This function must be called to get the Location Area Code of a cell.

Returns
The Location Area Code of a cell.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]ngbrCellInfoRefThe Cell information reference
int32_t le_mrc_GetNeighborCellRxLevel ( le_mrc_CellInfoRef_t  ngbrCellInfoRef)

This function must be called to get the signal strength of a cell.

Returns
The signal strength of a cell.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]ngbrCellInfoRefThe Cell information reference
le_mrc_NeighborCellsRef_t le_mrc_GetNeighborCellsInfo ( void  )

This function must be called to retrieve the Neighboring Cells information. It creates and returns a reference to the Neighboring Cells information.

Returns
A reference to the Neighboring Cells information.
NULL if no Cells Information are available.
le_result_t le_mrc_GetNetRegState ( le_mrc_NetRegState_t statePtr)

Get the network registration state.

Returns
LE_NOT_POSSIBLE Function failed to get the Network registration state.
LE_OK Function succeeded.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]statePtrNetwork Registration state.
le_mrc_ScanInformationRef_t le_mrc_GetNextCellularNetworkScan ( le_mrc_ScanInformationListRef_t  scanInformationListRef)

This function must be called to get the next Scan Information object reference in the list of scan Information retrieved with le_mrc_PerformNetworkScan().

Returns
NULL No scan information found.
le_mrc_ScanInformationRef_t The Scan Information object reference.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]scanInformationListRefThe list of scan information.
le_mrc_CellInfoRef_t le_mrc_GetNextNeighborCellInfo ( le_mrc_NeighborCellsRef_t  ngbrCellsRef)

This function must be called to get the next Cell Information reference in the list of Neighboring Cells information retrieved with le_mrc_GetNeighborCellsInfo().

Returns
NULL No Cell information object found.
le_mrc_CellInfoRef_t The Cell information object reference.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]ngbrCellsRefThe Neighboring Cells reference
le_result_t le_mrc_GetRadioAccessTechInUse ( le_mrc_Rat_t ratPtr)

This function must be called to get the current Radio Access Technology in use.

Returns
LE_NOT_POSSIBLE Function failed to get the Radio Access Technology.
LE_OK Function succeeded.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]ratPtrThe Radio Access Technology.
le_result_t le_mrc_GetRadioPower ( le_onoff_t powerPtr)

Must be called to get the Radio Module power state.

Returns
LE_NOT_POSSIBLE Function failed to get the Radio Module power state.
LE_OK Function succeeded.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]powerPtrPower state.
le_result_t le_mrc_GetSignalQual ( uint32_t *  qualityPtr)

Get the signal quality.

Returns
LE_NOT_POSSIBLE Function failed to obtain the signal quality.
LE_OK Function succeeded.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]qualityPtrReceived signal strength quality (0 = no signal strength, 5 = very good signal strength).
bool le_mrc_IsCellularNetworkAvailable ( le_mrc_ScanInformationRef_t  scanInformationRef)

This function must be called to check if a cellular network is available.

Returns
true The network is available
false The network is not available
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
Parameters
[in]scanInformationRefScan information reference
bool le_mrc_IsCellularNetworkForbidden ( le_mrc_ScanInformationRef_t  scanInformationRef)

This function must be called to check if a cellular network is forbidden by the operator.

Returns
true The network is forbidden
false The network is allowed
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
Parameters
[in]scanInformationRefScan information reference
bool le_mrc_IsCellularNetworkHome ( le_mrc_ScanInformationRef_t  scanInformationRef)

This function must be called to check if a cellular network is currently in home mode.

Returns
true The network is home
false The network is roaming
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
Parameters
[in]scanInformationRefScan information reference
bool le_mrc_IsCellularNetworkInUse ( le_mrc_ScanInformationRef_t  scanInformationRef)

This function must be called to check if a cellular network is currently in use.

Returns
true The network is in use
false The network is not in use
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
Parameters
[in]scanInformationRefScan information reference
bool le_mrc_IsCellularNetworkRatAvailable ( le_mrc_ScanInformationRef_t  scanInformationRef,
le_mrc_Rat_t  rat 
)

This function must be called to know if the radio control access is in scanInformationRef.

Returns
  • true the radio access technology is available
  • false otherwise
Note
On failure, the process exits.
Parameters
[in]scanInformationRefScan information reference
[in]ratThe Radio Access Technology
le_mrc_ScanInformationListRef_t le_mrc_PerformCellularNetworkScan ( le_mrc_Rat_t  ratMask)

This function must be called to perform a cellular network scan.

Returns
Reference to the List object. Null pointer if the scan failed.
Parameters
[in]ratMaskTechnology mask
le_result_t le_mrc_RegisterCellularNetwork ( const char *  mccPtr,
const char *  mncPtr 
)

This function must be called to register on a cellular network [mcc;mnc]

Returns
LE_NOT_POSSIBLE The function failed to register on the network.
LE_OK The function succeeded.
Note
If one code is too long (max 3 digits), it is a fatal error, the function will not return.
Parameters
[in]mccPtrMobile Country Code
[in]mncPtrMobile Network Code
void le_mrc_RemoveNetRegStateHandler ( le_mrc_NetRegStateHandlerRef_t  handlerRef)

Remove a handler for network registration state changes.

Parameters
[in]handlerRefThe handler reference.
void le_mrc_RemoveRatChangeHandler ( le_mrc_RatChangeHandlerRef_t  handlerRef)

This function must be called to remove an handler for Radio Access Technology changes.

Parameters
[in]handlerRefThe handler reference.
le_result_t le_mrc_SetRadioPower ( le_onoff_t  power)

Set the power of the Radio Module.

Returns
LE_FAULT Function failed.
LE_OK Function succeed.
Parameters
[in]powerThe power state.