le_mrc_interface.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   4
 
#define LE_MRC_MNC_LEN   3
 
#define LE_MRC_MNC_BYTES   4
 
#define LE_MRC_NETWORK_NAME_MAX_LEN   100
 

Typedefs

typedef void(* le_mrc_DisconnectHandler_t) (void *)
 
typedef struct le_mrc_ScanInformation * le_mrc_ScanInformationRef_t
 
typedef struct le_mrc_ScanInformationList * le_mrc_ScanInformationListRef_t
 
typedef struct le_mrc_PreferredOperator * le_mrc_PreferredOperatorRef_t
 
typedef struct le_mrc_PreferredOperatorList * le_mrc_PreferredOperatorListRef_t
 
typedef struct le_mrc_CellInfo * le_mrc_CellInfoRef_t
 
typedef struct le_mrc_NeighborCells * le_mrc_NeighborCellsRef_t
 
typedef struct le_mrc_Metrics * le_mrc_MetricsRef_t
 
typedef struct le_mrc_NetRegStateEventHandler * le_mrc_NetRegStateEventHandlerRef_t
 
typedef struct le_mrc_RatChangeHandler * le_mrc_RatChangeHandlerRef_t
 
typedef struct le_mrc_PacketSwitchedChangeHandler * le_mrc_PacketSwitchedChangeHandlerRef_t
 
typedef struct le_mrc_SignalStrengthChangeHandler * le_mrc_SignalStrengthChangeHandlerRef_t
 
typedef struct le_mrc_NetworkRejectHandler * le_mrc_NetworkRejectHandlerRef_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)
 
typedef void(* le_mrc_PacketSwitchedChangeHandlerFunc_t) (le_mrc_NetRegState_t state, void *contextPtr)
 
typedef void(* le_mrc_SignalStrengthChangeHandlerFunc_t) (int32_t ss, void *contextPtr)
 
typedef void(* le_mrc_CellularNetworkScanHandlerFunc_t) (le_mrc_ScanInformationListRef_t listRef, void *contextPtr)
 
typedef void(* le_mrc_ManualSelectionHandlerFunc_t) (le_result_t result, void *contextPtr)
 
typedef void(* le_mrc_NetworkRejectHandlerFunc_t) (const char *LE_NONNULL mcc, const char *LE_NONNULL mnc, le_mrc_Rat_t rat, void *contextPtr)
 

Enumerations

enum  le_mrc_BandBitMask_t {
  LE_MRC_BITMASK_BAND_CLASS_0_A_SYSTEM = 0x1, LE_MRC_BITMASK_BAND_CLASS_0_B_SYSTEM = 0x2, LE_MRC_BITMASK_BAND_CLASS_1_ALL_BLOCKS = 0x4, LE_MRC_BITMASK_BAND_CLASS_2_PLACEHOLDER = 0x8,
  LE_MRC_BITMASK_BAND_CLASS_3_A_SYSTEM = 0x10, LE_MRC_BITMASK_BAND_CLASS_4_ALL_BLOCKS = 0x20, LE_MRC_BITMASK_BAND_CLASS_5_ALL_BLOCKS = 0x40, LE_MRC_BITMASK_BAND_CLASS_6 = 0x80,
  LE_MRC_BITMASK_BAND_CLASS_7 = 0x100, LE_MRC_BITMASK_BAND_CLASS_8 = 0x200, LE_MRC_BITMASK_BAND_CLASS_9 = 0x400, LE_MRC_BITMASK_BAND_CLASS_10 = 0x800,
  LE_MRC_BITMASK_BAND_CLASS_11 = 0x1000, LE_MRC_BITMASK_BAND_CLASS_12 = 0x2000, LE_MRC_BITMASK_BAND_CLASS_14 = 0x4000, LE_MRC_BITMASK_BAND_CLASS_15 = 0x8000,
  LE_MRC_BITMASK_BAND_CLASS_16 = 0x10000, LE_MRC_BITMASK_BAND_CLASS_17 = 0x20000, LE_MRC_BITMASK_BAND_CLASS_18 = 0x40000, LE_MRC_BITMASK_BAND_CLASS_19 = 0x80000,
  LE_MRC_BITMASK_BAND_GSM_DCS_1800 = 0x100000, LE_MRC_BITMASK_BAND_EGSM_900 = 0x200000, LE_MRC_BITMASK_BAND_PRI_GSM_900 = 0x400000, LE_MRC_BITMASK_BAND_GSM_450 = 0x800000,
  LE_MRC_BITMASK_BAND_GSM_480 = 0x1000000, LE_MRC_BITMASK_BAND_GSM_750 = 0x2000000, LE_MRC_BITMASK_BAND_GSM_850 = 0x4000000, LE_MRC_BITMASK_BAND_GSMR_900 = 0x8000000,
  LE_MRC_BITMASK_BAND_GSM_PCS_1900 = 0x10000000, LE_MRC_BITMASK_BAND_WCDMA_EU_J_CH_IMT_2100 = 0x20000000, LE_MRC_BITMASK_BAND_WCDMA_US_PCS_1900 = 0x40000000, LE_MRC_BITMASK_BAND_WCDMA_EU_CH_DCS_1800 = 0x80000000,
  LE_MRC_BITMASK_BAND_WCDMA_US_1700 = 0x100000000, LE_MRC_BITMASK_BAND_WCDMA_US_850 = 0x200000000, LE_MRC_BITMASK_BAND_WCDMA_J_800 = 0x400000000, LE_MRC_BITMASK_BAND_WCDMA_EU_2600 = 0x800000000,
  LE_MRC_BITMASK_BAND_WCDMA_EU_J_900 = 0x1000000000, LE_MRC_BITMASK_BAND_WCDMA_J_1700 = 0x2000000000
}
 
enum  le_mrc_LteBandBitMask_t {
  LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_1 = 0x1, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_2 = 0x2, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_3 = 0x4, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_4 = 0x8,
  LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_5 = 0x10, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_6 = 0x20, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_7 = 0x40, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_8 = 0x80,
  LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_9 = 0x100, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_10 = 0x200, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_11 = 0x400, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_12 = 0x800,
  LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_13 = 0x1000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_14 = 0x2000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_17 = 0x4000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_18 = 0x8000,
  LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_19 = 0x10000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_20 = 0x20000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_21 = 0x40000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_24 = 0x80000,
  LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_25 = 0x100000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_33 = 0x200000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_34 = 0x400000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_35 = 0x800000,
  LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_36 = 0x1000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_37 = 0x2000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_38 = 0x4000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_39 = 0x8000000,
  LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_40 = 0x10000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_41 = 0x20000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_42 = 0x40000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_43 = 0x80000000
}
 
enum  le_mrc_TdScdmaBandBitMask_t {
  LE_MRC_BITMASK_TDSCDMA_BAND_A = 0x1, LE_MRC_BITMASK_TDSCDMA_BAND_B = 0x2, LE_MRC_BITMASK_TDSCDMA_BAND_C = 0x4, LE_MRC_BITMASK_TDSCDMA_BAND_D = 0x8,
  LE_MRC_BITMASK_TDSCDMA_BAND_E = 0x10, LE_MRC_BITMASK_TDSCDMA_BAND_F = 0x20
}
 
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 = 4, LE_MRC_REG_UNKNOWN = 5
}
 
enum  le_mrc_Rat_t {
  LE_MRC_RAT_UNKNOWN = 0, LE_MRC_RAT_GSM = 1, LE_MRC_RAT_UMTS = 2, LE_MRC_RAT_TDSCDMA = 3,
  LE_MRC_RAT_LTE = 4, LE_MRC_RAT_CDMA = 5
}
 
enum  le_mrc_RatBitMask_t {
  LE_MRC_BITMASK_RAT_GSM = 0x1, LE_MRC_BITMASK_RAT_UMTS = 0x2, LE_MRC_BITMASK_RAT_TDSCDMA = 0x4, LE_MRC_BITMASK_RAT_LTE = 0x8,
  LE_MRC_BITMASK_RAT_CDMA = 0x10, LE_MRC_BITMASK_RAT_ALL = 0x20, LE_MRC_BITMASK_RAT_MAX = 0x40
}
 

Functions

void le_mrc_ConnectService (void)
 
le_result_t le_mrc_TryConnectService (void)
 
void le_mrc_SetServerDisconnectHandler (le_mrc_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
void le_mrc_DisconnectService (void)
 
le_mrc_NetRegStateEventHandlerRef_t le_mrc_AddNetRegStateEventHandler (le_mrc_NetRegStateHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_mrc_RemoveNetRegStateEventHandler (le_mrc_NetRegStateEventHandlerRef_t handlerRef)
 
le_mrc_RatChangeHandlerRef_t le_mrc_AddRatChangeHandler (le_mrc_RatChangeHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_mrc_RemoveRatChangeHandler (le_mrc_RatChangeHandlerRef_t handlerRef)
 
le_mrc_PacketSwitchedChangeHandlerRef_t le_mrc_AddPacketSwitchedChangeHandler (le_mrc_PacketSwitchedChangeHandlerFunc_t packetHandlerPtr, void *contextPtr)
 
void le_mrc_RemovePacketSwitchedChangeHandler (le_mrc_PacketSwitchedChangeHandlerRef_t handlerRef)
 
le_mrc_SignalStrengthChangeHandlerRef_t le_mrc_AddSignalStrengthChangeHandler (le_mrc_Rat_t rat, int32_t lowerRangeThreshold, int32_t upperRangeThreshold, le_mrc_SignalStrengthChangeHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_mrc_RemoveSignalStrengthChangeHandler (le_mrc_SignalStrengthChangeHandlerRef_t handlerRef)
 
le_result_t le_mrc_SetSignalStrengthIndThresholds (le_mrc_Rat_t rat, int32_t lowerRangeThreshold, int32_t upperRangeThreshold)
 
le_result_t le_mrc_SetSignalStrengthIndDelta (le_mrc_Rat_t rat, uint16_t delta)
 
le_result_t le_mrc_SetAutomaticRegisterMode (void)
 
le_result_t le_mrc_SetManualRegisterMode (const char *LE_NONNULL mcc, const char *LE_NONNULL mnc)
 
void le_mrc_SetManualRegisterModeAsync (const char *LE_NONNULL mcc, const char *LE_NONNULL mnc, le_mrc_ManualSelectionHandlerFunc_t handlerPtr, void *contextPtr)
 
le_result_t le_mrc_GetRegisterMode (bool *isManualPtrPtr, char *mccPtr, size_t mccPtrSize, char *mncPtr, size_t mncPtrSize)
 
le_result_t le_mrc_GetPacketSwitchedState (le_mrc_NetRegState_t *statePtr)
 
int32_t le_mrc_GetPlatformSpecificRegistrationErrorCode (void)
 
le_result_t le_mrc_SetRatPreferences (le_mrc_RatBitMask_t ratMask)
 
le_result_t le_mrc_GetRatPreferences (le_mrc_RatBitMask_t *ratMaskPtrPtr)
 
le_result_t le_mrc_SetBandPreferences (le_mrc_BandBitMask_t bandMask)
 
le_result_t le_mrc_GetBandPreferences (le_mrc_BandBitMask_t *bandMaskPtrPtr)
 
le_result_t le_mrc_SetLteBandPreferences (le_mrc_LteBandBitMask_t bandMask)
 
le_result_t le_mrc_GetLteBandPreferences (le_mrc_LteBandBitMask_t *bandMaskPtrPtr)
 
le_result_t le_mrc_SetTdScdmaBandPreferences (le_mrc_TdScdmaBandBitMask_t bandMask)
 
le_result_t le_mrc_GetTdScdmaBandPreferences (le_mrc_TdScdmaBandBitMask_t *bandMaskPtrPtr)
 
le_result_t le_mrc_AddPreferredOperator (const char *LE_NONNULL mcc, const char *LE_NONNULL mnc, le_mrc_RatBitMask_t ratMask)
 
le_result_t le_mrc_RemovePreferredOperator (const char *LE_NONNULL mcc, const char *LE_NONNULL mnc)
 
le_mrc_PreferredOperatorListRef_t le_mrc_GetPreferredOperatorsList (void)
 
le_mrc_PreferredOperatorRef_t le_mrc_GetFirstPreferredOperator (le_mrc_PreferredOperatorListRef_t preferredOperatorListRef)
 
le_mrc_PreferredOperatorRef_t le_mrc_GetNextPreferredOperator (le_mrc_PreferredOperatorListRef_t preferredOperatorListRef)
 
void le_mrc_DeletePreferredOperatorsList (le_mrc_PreferredOperatorListRef_t preferredOperatorListRef)
 
le_result_t le_mrc_GetPreferredOperatorDetails (le_mrc_PreferredOperatorRef_t preferredOperatorRef, char *mccPtr, size_t mccPtrSize, char *mncPtr, size_t mncPtrSize, le_mrc_RatBitMask_t *ratMaskPtr)
 
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_SetRadioPower (le_onoff_t power)
 
le_result_t le_mrc_GetRadioPower (le_onoff_t *powerPtr)
 
le_mrc_ScanInformationListRef_t le_mrc_PerformCellularNetworkScan (le_mrc_RatBitMask_t ratMask)
 
void le_mrc_PerformCellularNetworkScanAsync (le_mrc_RatBitMask_t ratMask, le_mrc_CellularNetworkScanHandlerFunc_t handlerPtr, void *contextPtr)
 
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 namePtrSize)
 
le_mrc_Rat_t le_mrc_GetCellularNetworkRat (le_mrc_ScanInformationRef_t scanInformationRef)
 
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_GetCurrentNetworkName (char *nameStr, size_t nameStrSize)
 
le_result_t le_mrc_GetCurrentNetworkMccMnc (char *mccStr, size_t mccStrSize, char *mncStr, size_t mncStrSize)
 
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)
 
le_mrc_Rat_t le_mrc_GetNeighborCellRat (le_mrc_CellInfoRef_t ngbrCellInfoRef)
 
int32_t le_mrc_GetNeighborCellUmtsEcIo (le_mrc_CellInfoRef_t ngbrCellInfoRef)
 
le_result_t le_mrc_GetNeighborCellLteIntraFreq (le_mrc_CellInfoRef_t ngbrCellInfoRef, int32_t *rsrqPtr, int32_t *rsrpPtr)
 
le_result_t le_mrc_GetNeighborCellLteInterFreq (le_mrc_CellInfoRef_t ngbrCellInfoRef, int32_t *rsrqPtr, int32_t *rsrpPtr)
 
le_mrc_MetricsRef_t le_mrc_MeasureSignalMetrics (void)
 
void le_mrc_DeleteSignalMetrics (le_mrc_MetricsRef_t MetricsRef)
 
le_mrc_Rat_t le_mrc_GetRatOfSignalMetrics (le_mrc_MetricsRef_t MetricsRef)
 
le_result_t le_mrc_GetGsmSignalMetrics (le_mrc_MetricsRef_t MetricsRef, int32_t *rssiPtr, uint32_t *berPtr)
 
le_result_t le_mrc_GetUmtsSignalMetrics (le_mrc_MetricsRef_t MetricsRef, int32_t *ssPtr, uint32_t *blerPtr, int32_t *ecioPtr, int32_t *rscpPtr, int32_t *sinrPtr)
 
le_result_t le_mrc_GetLteSignalMetrics (le_mrc_MetricsRef_t MetricsRef, int32_t *ssPtr, uint32_t *blerPtr, int32_t *rsrqPtr, int32_t *rsrpPtr, int32_t *sinrPtr)
 
le_result_t le_mrc_GetCdmaSignalMetrics (le_mrc_MetricsRef_t MetricsRef, int32_t *ssPtr, uint32_t *erPtr, int32_t *ecioPtr, int32_t *sinrPtr, int32_t *ioPtr)
 
uint32_t le_mrc_GetServingCellId (void)
 
uint32_t le_mrc_GetServingCellLocAreaCode (void)
 
uint16_t le_mrc_GetServingCellLteTracAreaCode (void)
 
le_result_t le_mrc_GetBandCapabilities (le_mrc_BandBitMask_t *bandMaskPtrPtr)
 
le_result_t le_mrc_GetLteBandCapabilities (le_mrc_LteBandBitMask_t *bandMaskPtrPtr)
 
le_result_t le_mrc_GetTdScdmaBandCapabilities (le_mrc_TdScdmaBandBitMask_t *bandMaskPtrPtr)
 
le_mrc_NetworkRejectHandlerRef_t le_mrc_AddNetworkRejectHandler (le_mrc_NetworkRejectHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_mrc_RemoveNetworkRejectHandler (le_mrc_NetworkRejectHandlerRef_t handlerRef)
 

Detailed Description

Legato Modem Radio Control include file.

Macro Definition Documentation

#define LE_MRC_MCC_BYTES   4

Mobile Country Code length One extra byte is added for the null character.

#define LE_MRC_MCC_LEN   3

Mobile Country Code length

#define LE_MRC_MNC_BYTES   4

Mobile Network Code length One extra byte is added for the null character.

#define LE_MRC_MNC_LEN   3

Mobile Network Code length

#define LE_MRC_NETWORK_NAME_MAX_LEN   100

Cellular Network length.

Typedef Documentation

typedef struct le_mrc_CellInfo* le_mrc_CellInfoRef_t

Reference type for one Cell Information.

typedef void(* le_mrc_CellularNetworkScanHandlerFunc_t) (le_mrc_ScanInformationListRef_t listRef,void *contextPtr)

Handler for cellular asynchronous network scan Sending result. Returns the reference to the List object. Null pointer if the scan failed.

typedef void(* le_mrc_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

typedef void(* le_mrc_ManualSelectionHandlerFunc_t) (le_result_t result,void *contextPtr)

Handler for asynchronous manual selection response

typedef struct le_mrc_Metrics* le_mrc_MetricsRef_t

Reference type for the signal metrics.

typedef struct le_mrc_NeighborCells* le_mrc_NeighborCellsRef_t

Reference type for all Neighboring Cells Information.

typedef struct le_mrc_NetRegStateEventHandler* le_mrc_NetRegStateEventHandlerRef_t

Reference type used by Add/Remove functions for EVENT 'le_mrc_NetRegStateEvent'

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

Handler for Network registration state changes.

typedef void(* le_mrc_NetworkRejectHandlerFunc_t) (const char *LE_NONNULL mcc,const char *LE_NONNULL mnc,le_mrc_Rat_t rat,void *contextPtr)

Handler to report network reject indication.

typedef struct le_mrc_NetworkRejectHandler* le_mrc_NetworkRejectHandlerRef_t

Reference type used by Add/Remove functions for EVENT 'le_mrc_NetworkReject'

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

Handler for Packet Switched service state changes.

typedef struct le_mrc_PacketSwitchedChangeHandler* le_mrc_PacketSwitchedChangeHandlerRef_t

Reference type used by Add/Remove functions for EVENT 'le_mrc_PacketSwitchedChange'

typedef struct le_mrc_PreferredOperatorList* le_mrc_PreferredOperatorListRef_t

Reference type for Preferred Operator Listing.

typedef struct le_mrc_PreferredOperator* le_mrc_PreferredOperatorRef_t

Reference type for referring to the Preferred Operator objects.

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

Handler for Radio Access Technology changes.

typedef struct le_mrc_RatChangeHandler* le_mrc_RatChangeHandlerRef_t

Reference type used by Add/Remove functions for EVENT 'le_mrc_RatChange'

typedef struct le_mrc_ScanInformationList* le_mrc_ScanInformationListRef_t

Reference type for Scan Information Listing.

typedef struct le_mrc_ScanInformation* le_mrc_ScanInformationRef_t

Reference type for referring to MRC Scan Information objects.

typedef void(* le_mrc_SignalStrengthChangeHandlerFunc_t) (int32_t ss,void *contextPtr)

Handler for Signal Strength value changes.

typedef struct le_mrc_SignalStrengthChangeHandler* le_mrc_SignalStrengthChangeHandlerRef_t

Reference type used by Add/Remove functions for EVENT 'le_mrc_SignalStrengthChange'

Enumeration Type Documentation

2G/3G Band Bit Mask (64 bits)

LTE Band Bit Mask (32bits)

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 enum

Enumerator
LE_MRC_RAT_UNKNOWN 

Unknown.

LE_MRC_RAT_GSM 

GSM network.

LE_MRC_RAT_UMTS 

UMTS networks.

LE_MRC_RAT_TDSCDMA 

TD-SCDMA networks.

LE_MRC_RAT_LTE 

LTE network.

LE_MRC_RAT_CDMA 

CDMA network.

Radio Bitmask Access Technology Bit Mask

Enumerator
LE_MRC_BITMASK_RAT_GSM 

GSM RAT Bit Mask.

LE_MRC_BITMASK_RAT_UMTS 

UMTS RAT Bit Mask.

LE_MRC_BITMASK_RAT_TDSCDMA 

TD-SCDMA RAT Bit Mask.

LE_MRC_BITMASK_RAT_LTE 

LTE RAT Bit Mask.

LE_MRC_BITMASK_RAT_CDMA 

CDMA RAT Bit Mask.

LE_MRC_BITMASK_RAT_ALL 

To Set all RAT preference Bit Mask.

TDSCDMA Band Bit Mask

Function Documentation

le_mrc_NetRegStateEventHandlerRef_t le_mrc_AddNetRegStateEventHandler ( le_mrc_NetRegStateHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'le_mrc_NetRegStateEvent'

This event provides information on network registration state changes.

Note
multi-app safe
Parameters
[in]handlerPtr
[in]contextPtr
le_mrc_NetworkRejectHandlerRef_t le_mrc_AddNetworkRejectHandler ( le_mrc_NetworkRejectHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'le_mrc_NetworkReject'

Event to report network reject indication.

Parameters
[in]handlerPtr
[in]contextPtr
le_mrc_PacketSwitchedChangeHandlerRef_t le_mrc_AddPacketSwitchedChangeHandler ( le_mrc_PacketSwitchedChangeHandlerFunc_t  packetHandlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'le_mrc_PacketSwitchedChange'

This event provides information on Packet Switched service changes.

Note
multi-app safe
Parameters
[in]packetHandlerPtr
[in]contextPtr
le_result_t le_mrc_AddPreferredOperator ( const char *LE_NONNULL  mcc,
const char *LE_NONNULL  mnc,
le_mrc_RatBitMask_t  ratMask 
)

Add a preferred operator by specifying the MCC/MNC and the Radio Access Technology.

Returns
  • LE_UNSUPPORTED List of User Preferred operators not available.
  • LE_FAULT Function failed.
  • LE_BAD_PARAMETER RAT mask is invalid.
  • LE_OK Function succeeded.
Note
If strings are not set, too long (bigger than LE_MRC_MCC_LEN/LE_MRC_MNC_LEN digits), or too short (less than LE_MRC_MCC_LEN/LE_MRC_MNC_LEN-1 digits) it's a fatal error, the function won't return.
NOT multi-app safe
Parameters
[in]mccMobile Country Code
[in]mncMobile Network Code
[in]ratMaskBit mask for the Radio Access Technology preferences.
le_mrc_RatChangeHandlerRef_t le_mrc_AddRatChangeHandler ( le_mrc_RatChangeHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'le_mrc_RatChange'

This event provides information on Radio Access Technology changes.

Note
multi-app safe
Parameters
[in]handlerPtr
[in]contextPtr
le_mrc_SignalStrengthChangeHandlerRef_t le_mrc_AddSignalStrengthChangeHandler ( le_mrc_Rat_t  rat,
int32_t  lowerRangeThreshold,
int32_t  upperRangeThreshold,
le_mrc_SignalStrengthChangeHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'le_mrc_SignalStrengthChange'

This event provides information on Signal Strength value changes.

Note
NOT multi-app safe
Parameters
[in]ratRadio Access Technology
[in]lowerRangeThresholdLower-range Signal strength threshold in dBm
[in]upperRangeThresholdUpper-range Signal strength threshold in dBm
[in]handlerPtr
[in]contextPtr
void le_mrc_ConnectService ( void  )

Connect the current client thread to the service providing this API. Block until the service is available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client-specific Functions.

This function is created automatically.

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_PerformCellularNetworkScan().

Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
multi-app safe
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.
multi-app safe
Parameters
[in]ngbrCellsRefNeighboring Cells reference.
void le_mrc_DeletePreferredOperatorsList ( le_mrc_PreferredOperatorListRef_t  preferredOperatorListRef)

This function must be called to delete the list of the preferred operators retrieved with le_mrc_GetPreferredOperators().

Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
multi-app safe
Parameters
[in]preferredOperatorListRefThe list of the preferred operators.
void le_mrc_DeleteSignalMetrics ( le_mrc_MetricsRef_t  MetricsRef)

This function must be called to delete the the signal metrics.

Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
multi-app safe
Parameters
[in]MetricsRefSignal metrics reference.
void le_mrc_DisconnectService ( void  )

Disconnect the current client thread from the service providing this API.

Normally, this function doesn't need to be called. After this function is called, there's no longer a connection to the service, and the functions in this API can't be used. For details, see Client-specific Functions.

This function is created automatically.

le_result_t le_mrc_GetBandCapabilities ( le_mrc_BandBitMask_t bandMaskPtrPtr)

Get the Bit mask for 2G/3G Band capabilities.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED The platform does not support this operation.
Note
multi-app safe
Parameters
[out]bandMaskPtrPtrBit mask for 2G/3G Band capabilities.
le_result_t le_mrc_GetBandPreferences ( le_mrc_BandBitMask_t bandMaskPtrPtr)

Get the Bit mask for 2G/3G Band preferences.

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
multi-app safe
Parameters
[out]bandMaskPtrPtrBit mask for 2G/3G Band preferences.
le_result_t le_mrc_GetCdmaSignalMetrics ( le_mrc_MetricsRef_t  MetricsRef,
int32_t *  ssPtr,
uint32_t *  erPtr,
int32_t *  ecioPtr,
int32_t *  sinrPtr,
int32_t *  ioPtr 
)

This function returns the signal metrics measured on CDMA network.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • rscpPtr and sinrPtr return INT32_MAX when the value isn't available.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]MetricsRefSignal metrics reference.
[out]ssPtrSignal strength in dBm
[out]erPtrFrame/Packet error rate
[out]ecioPtrECIO value in dB with 1 decimal place (-15 = -1.5 dB) (Negative value)
[out]sinrPtrSINR level in dB with 1 decimal place, (only applicable for 1xEV-DO, value INT32_MAX means that the value is not available)
[out]ioPtrReceived IO in dBm (only applicable for 1xEV-DO, value INT32_MAX means that the value is not available)
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_FAULT for all other errors
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
multi-app safe
Parameters
[in]scanInformationRefScan information reference
[out]mccPtrMobile Country Code
[in]mccPtrSize
[out]mncPtrMobile Network Code
[in]mncPtrSize
le_result_t le_mrc_GetCellularNetworkName ( le_mrc_ScanInformationRef_t  scanInformationRef,
char *  namePtr,
size_t  namePtrSize 
)

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_FAULT for all other errors
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
multi-app safe
Parameters
[in]scanInformationRefScan information reference
[out]namePtrName of operator
[in]namePtrSize
le_mrc_Rat_t le_mrc_GetCellularNetworkRat ( le_mrc_ScanInformationRef_t  scanInformationRef)

This function must be called to get the radio access technology of a scanInformationRef.

Returns
the radio access technology
Note
On failure, the process exits.
multi-app safe
Parameters
[in]scanInformationRefScan information reference
le_result_t le_mrc_GetCurrentNetworkMccMnc ( char *  mccStr,
size_t  mccStrSize,
char *  mncStr,
size_t  mncStrSize 
)

This function must be called to get the current network PLMN information.

Returns
  • LE_OK on success
  • LE_FAULT on any other failure
Note
multi-app safe
Parameters
[out]mccStrthe mobile country code
[in]mccStrSize
[out]mncStrthe mobile network code
[in]mncStrSize
le_result_t le_mrc_GetCurrentNetworkName ( char *  nameStr,
size_t  nameStrSize 
)

This function must be called to get the current network name information.

Returns
  • LE_OK on success
  • LE_BAD_PARAMETER if nameStr is NULL
  • LE_OVERFLOW if the Home Network Name can't fit in nameStr
  • LE_FAULT on any other failure
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[out]nameStrthe home network Name
[in]nameStrSize
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_PerformCellularNetworkScan().

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's a fatal error, the function won't return.
multi-app safe
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's a fatal error, the function won't return.
multi-app safe
Parameters
[in]ngbrCellsRefNeighboring Cells reference.
le_mrc_PreferredOperatorRef_t le_mrc_GetFirstPreferredOperator ( le_mrc_PreferredOperatorListRef_t  preferredOperatorListRef)

This function must be called to get the first Operator object reference in the list of the preferred operators retrieved with le_mrc_GetPreferredOperators().

Returns
  • NULL No operator information found.
  • le_mrc_PreferredOperatorRef The Operator object reference.
Note
If the caller is passing a bad reference into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]preferredOperatorListRefThe list of the preferred operators.
le_result_t le_mrc_GetGsmSignalMetrics ( le_mrc_MetricsRef_t  MetricsRef,
int32_t *  rssiPtr,
uint32_t *  berPtr 
)

This function returns the signal strength in dBm and the bit error rate measured on GSM network.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]MetricsRefSignal metrics reference.
[out]rssiPtrSignal strength in dBm
[out]berPtrBit error rate.
le_result_t le_mrc_GetLteBandCapabilities ( le_mrc_LteBandBitMask_t bandMaskPtrPtr)

Get the Bit mask for LTE Band capabilities.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED The platform does not support this operation.
Note
multi-app safe
Parameters
[out]bandMaskPtrPtrBit mask for LTE Band capabilities.
le_result_t le_mrc_GetLteBandPreferences ( le_mrc_LteBandBitMask_t bandMaskPtrPtr)

Get the Bit mask for LTE Band preferences.

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
multi-app safe
Parameters
[out]bandMaskPtrPtrBit mask for LTE Band preferences.
le_result_t le_mrc_GetLteSignalMetrics ( le_mrc_MetricsRef_t  MetricsRef,
int32_t *  ssPtr,
uint32_t *  blerPtr,
int32_t *  rsrqPtr,
int32_t *  rsrpPtr,
int32_t *  sinrPtr 
)

This function returns the signal metrics measured on LTE network.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • sinrPtr and ioPtr return INT32_MAX when the value isn't available.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]MetricsRefSignal metrics reference.
[out]ssPtrSignal strength in dBm
[out]blerPtrBlock error rate
[out]rsrqPtrRSRQ value in dB as measured by L1 with 1 decimal place
[out]rsrpPtrCurrent RSRP in dBm as measured by L1 with 1 decimal place
[out]sinrPtrSNR level in dB with 1 decimal place (15 = 1.5 dB)
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's a fatal error, the function won't return.
multi-app safe
Parameters
[in]ngbrCellInfoRefCell 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. UINT16_MAX value is returned if the value is not available.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]ngbrCellInfoRefCell information reference.
le_result_t le_mrc_GetNeighborCellLteInterFreq ( le_mrc_CellInfoRef_t  ngbrCellInfoRef,
int32_t *  rsrqPtr,
int32_t *  rsrpPtr 
)

This function must be called to get the RSRP and RSRQ of the Interfrequency of a LTE cell.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]ngbrCellInfoRefCell information reference.
[out]rsrqPtrReference Signal Received Quality value in dB with 1 decimal place
[out]rsrpPtrReference Signal Receiver Power value in dBm with 1 decimal place
le_result_t le_mrc_GetNeighborCellLteIntraFreq ( le_mrc_CellInfoRef_t  ngbrCellInfoRef,
int32_t *  rsrqPtr,
int32_t *  rsrpPtr 
)

This function must be called to get the RSRP and RSRQ of the Intrafrequency of a LTE cell.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]ngbrCellInfoRefCell information reference.
[out]rsrqPtrReference Signal Received Quality value in dB with 1 decimal place
[out]rsrpPtrReference Signal Receiver Power value in dBm with 1 decimal place
le_mrc_Rat_t le_mrc_GetNeighborCellRat ( le_mrc_CellInfoRef_t  ngbrCellInfoRef)

This function must be called to get the Radio Access Technology of a cell.

Returns
The Radio Access Technology of a cell.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]ngbrCellInfoRefCell 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 in dBm.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]ngbrCellInfoRefCell 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.
Note
multi-app safe
int32_t le_mrc_GetNeighborCellUmtsEcIo ( le_mrc_CellInfoRef_t  ngbrCellInfoRef)

This function must be called to get the Ec/Io; the received energy per chip divided by the power density in the band measured in dBm on the primary CPICH channel of serving cell (negative value)

Returns
  • The Ec/Io of a cell given in dB with 1 decimal place. (only applicable for UMTS network).
  • INT32_MAX when the value isn't available.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]ngbrCellInfoRefCell information reference.
le_result_t le_mrc_GetNetRegState ( le_mrc_NetRegState_t statePtr)

Get the network registration state.

Returns
LE_FAULT The function failed to get the Network registration state.
LE_BAD_PARAMETER A bad parameter was passed.
LE_OK The function succeeded.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
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_PerformCellularNetworkScan().

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's a fatal error, the function won't return.
multi-app safe
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 Cell information object reference.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]ngbrCellsRefNeighboring Cells reference.
le_mrc_PreferredOperatorRef_t le_mrc_GetNextPreferredOperator ( le_mrc_PreferredOperatorListRef_t  preferredOperatorListRef)

This function must be called to get the next Operator object reference in the list of the preferred operators retrieved with le_mrc_GetPreferredOperators().

Returns
  • NULL No operator information found.
  • le_mrc_PreferredOperatorRef The Operator object reference.
Note
If the caller is passing a bad reference into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]preferredOperatorListRefThe list of the preferred operators.
le_result_t le_mrc_GetPacketSwitchedState ( le_mrc_NetRegState_t statePtr)

Get the Packet Switched state.

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
multi-app safe
Parameters
[out]statePtrThe current Packet switched state.
int32_t le_mrc_GetPlatformSpecificRegistrationErrorCode ( void  )

Get the platform specific network registration error code.

Returns
the platform specific registration error code
le_result_t le_mrc_GetPreferredOperatorDetails ( le_mrc_PreferredOperatorRef_t  preferredOperatorRef,
char *  mccPtr,
size_t  mccPtrSize,
char *  mncPtr,
size_t  mncPtrSize,
le_mrc_RatBitMask_t ratMaskPtr 
)

This function must be called to get the Operator information details.

Returns
  • LE_OK on success
  • LE_OVERFLOW if the MCC or MNC would not fit in buffer
  • LE_FAULT for all other errors
Note
multi-app safe
Parameters
[in]preferredOperatorRefOperator object reference.
[out]mccPtrMobile Country Code.
[in]mccPtrSize
[out]mncPtrMobile Network Code.
[in]mncPtrSize
[out]ratMaskPtrBit mask for the RAT preferences.
le_mrc_PreferredOperatorListRef_t le_mrc_GetPreferredOperatorsList ( void  )

This function must be called to retrieve a list of the preferred operators.

Returns
  • Reference to the List object.
  • Null pointer if there is no preferences list.
Note
multi-app safe
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_FAULT Function failed to get the Radio Access Technology.
LE_BAD_PARAMETER A bad parameter was passed.
LE_OK Function succeeded.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
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_FAULT The function failed to get the Radio Module power state.
LE_BAD_PARAMETER if powerPtr is NULL.
LE_OK The function succeed.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[out]powerPtrPower state.
le_mrc_Rat_t le_mrc_GetRatOfSignalMetrics ( le_mrc_MetricsRef_t  MetricsRef)

This function returns the Radio Access Technology of the signal metrics.

Returns
The Radio Access Technology of the signal measure.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]MetricsRefSignal metrics reference.
le_result_t le_mrc_GetRatPreferences ( le_mrc_RatBitMask_t ratMaskPtrPtr)

Get the Radio Access Technology preferences

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
multi-app safe
Parameters
[out]ratMaskPtrPtrBit mask for the Radio Access Technology preferences.
le_result_t le_mrc_GetRegisterMode ( bool *  isManualPtrPtr,
char *  mccPtr,
size_t  mccPtrSize,
char *  mncPtr,
size_t  mncPtrSize 
)

Get the selected Selection Register mode.

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
multi-app safe
Parameters
[out]isManualPtrPtrtrue if the scan mode is manual, false if the scan mode is automatic.
[out]mccPtrMobile Country Code
[in]mccPtrSize
[out]mncPtrMobile Network Code
[in]mncPtrSize
uint32_t le_mrc_GetServingCellId ( void  )

This function must be called to get the serving Cell Identifier.

Returns
The Cell Identifier. UINT32_MAX value is returned if the value is not available.
Note
When the module is in UMTS network, the API returns the serving UTRAN Cell Identity (UC-Id) which is used to identify the cell uniquely. It is composed of the Controlling Radio Network Controller Identifier (CRNC-Id, 12 bits) and the Cell Identifier (C-Id, 16 bits). (3GPP 25.401, section 6.1.5) The Cell Identifier is coded in the lower 2 bytes of the 4 bytes UC-Id and the CRNC-Id is coded in the upper 2 bytes. Example: the API returns 7807609 -> 0x772279 (CRNC-Id = 0x77 , cell ID = 0x2279)
multi-app safe
uint32_t le_mrc_GetServingCellLocAreaCode ( void  )

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

Returns
The Location Area Code. UINT32_MAX value is returned if the value is not available.
Note
multi-app safe
uint16_t le_mrc_GetServingCellLteTracAreaCode ( void  )

This function must be called to get the Tracking Area Code of the serving cell (LTE only).

Returns
The Tracking Area Code. UINT16_MAX value is returned if the value is not available.
Note
multi-app safe
le_result_t le_mrc_GetSignalQual ( uint32_t *  qualityPtr)

Get the signal quality.

Returns
LE_FAULT The function failed to get the Signal Quality information.
LE_BAD_PARAMETER A bad parameter was passed.
LE_OK The function succeeded.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[out]qualityPtr[OUT] Received signal strength quality (0 = no signal strength, 5 = very good signal strength).
le_result_t le_mrc_GetTdScdmaBandCapabilities ( le_mrc_TdScdmaBandBitMask_t bandMaskPtrPtr)

Get the Bit mask for TD-SCDMA Band capabilities.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED The platform does not support this operation.
Note
multi-app safe
Parameters
[out]bandMaskPtrPtrBit mask for TD-SCDMA Band capabilities.
le_result_t le_mrc_GetTdScdmaBandPreferences ( le_mrc_TdScdmaBandBitMask_t bandMaskPtrPtr)

Get the Bit mask for TD-SCDMA Band preferences.

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
multi-app safe
Parameters
[out]bandMaskPtrPtrBit mask for TD-SCDMA Band preferences.
le_result_t le_mrc_GetUmtsSignalMetrics ( le_mrc_MetricsRef_t  MetricsRef,
int32_t *  ssPtr,
uint32_t *  blerPtr,
int32_t *  ecioPtr,
int32_t *  rscpPtr,
int32_t *  sinrPtr 
)

This function returns the signal metrics measured on UMTS or TD-SCDMA networks.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
multi-app safe
Parameters
[in]MetricsRefSignal metrics reference.
[out]ssPtrSignal strength in dBm
[out]blerPtrBlock error rate
[out]ecioPtrEc/Io value in dB with 1 decimal place (-15 = -1.5 dB) (Negative value)
[out]rscpPtrMeasured RSCP in dBm (only applicable for TD-SCDMA network, negative value, value INT32_MAX means that RSCP is not available)
[out]sinrPtrMeasured SINR in dB (only applicable for TD-SCDMA network, value INT32_MAX means that the SINR is not available)
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 isn't available
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
multi-app safe
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.
multi-app safe
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.
multi-app safe
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 isn't in use
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
multi-app safe
Parameters
[in]scanInformationRefScan information reference
le_mrc_MetricsRef_t le_mrc_MeasureSignalMetrics ( void  )

This function must be called to measure the signal metrics. It creates and returns a reference to the signal metrics.

Returns
A reference to the signal metrics.
NULL if no signal metrics are available.
Note
multi-app safe
le_mrc_ScanInformationListRef_t le_mrc_PerformCellularNetworkScan ( le_mrc_RatBitMask_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.
Note
multi-app safe
Parameters
[in]ratMaskRadio Access Technology mask
void le_mrc_PerformCellularNetworkScanAsync ( le_mrc_RatBitMask_t  ratMask,
le_mrc_CellularNetworkScanHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

This function must be called to perform a cellular network scan asynchronously. This function is not blocking, the response will be returned with a handler function.

Note
multi-app safe
Parameters
[in]ratMaskRadio Access Technology mask
[in]handlerPtrhandler for sending result.
[in]contextPtr
void le_mrc_RemoveNetRegStateEventHandler ( le_mrc_NetRegStateEventHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_NetRegStateEvent'

Parameters
[in]handlerRef
void le_mrc_RemoveNetworkRejectHandler ( le_mrc_NetworkRejectHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_NetworkReject'

Parameters
[in]handlerRef
void le_mrc_RemovePacketSwitchedChangeHandler ( le_mrc_PacketSwitchedChangeHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_PacketSwitchedChange'

Parameters
[in]handlerRef
le_result_t le_mrc_RemovePreferredOperator ( const char *LE_NONNULL  mcc,
const char *LE_NONNULL  mnc 
)

Remove a preferred operator by specifying the MCC/MNC.

Returns
  • LE_UNSUPPORTED List of User Preferred operators not available.
  • LE_NOT_FOUND Operator not found in the User Preferred operators list.
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
If strings are not set, too long (bigger than LE_MRC_MCC_LEN/LE_MRC_MNC_LEN digits), or too short (less than LE_MRC_MCC_LEN/LE_MRC_MNC_LEN-1 digits) it's a fatal error, the function won't return.
NOT multi-app safe
Parameters
[in]mccMobile Country Code
[in]mncMobile Network Code
void le_mrc_RemoveRatChangeHandler ( le_mrc_RatChangeHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_RatChange'

Parameters
[in]handlerRef
void le_mrc_RemoveSignalStrengthChangeHandler ( le_mrc_SignalStrengthChangeHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_SignalStrengthChange'

Parameters
[in]handlerRef
le_result_t le_mrc_SetAutomaticRegisterMode ( void  )

Enable the automatic Selection Register mode.

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
NOT multi-app safe
le_result_t le_mrc_SetBandPreferences ( le_mrc_BandBitMask_t  bandMask)

Set the 2G/3G Band preferences by using a bit mask.

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
NOT multi-app safe
Parameters
[in]bandMaskBit mask for 2G/3G Band preferences.
le_result_t le_mrc_SetLteBandPreferences ( le_mrc_LteBandBitMask_t  bandMask)

Set the LTE Band preferences by using a bit mask.

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
NOT multi-app safe
Parameters
[in]bandMaskBit mask for LTE Band preferences.
le_result_t le_mrc_SetManualRegisterMode ( const char *LE_NONNULL  mcc,
const char *LE_NONNULL  mnc 
)

Set the manual Selection Register mode with the MCC/MNC parameters.

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
If strings are not set, too long (bigger than LE_MRC_MCC_LEN/LE_MRC_MNC_LEN digits), or too short (less than LE_MRC_MCC_LEN/LE_MRC_MNC_LEN-1 digits) it's a fatal error, the function won't return.
NOT multi-app safe
Parameters
[in]mccMobile Country Code
[in]mncMobile Network Code
void le_mrc_SetManualRegisterModeAsync ( const char *LE_NONNULL  mcc,
const char *LE_NONNULL  mnc,
le_mrc_ManualSelectionHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Set the manual selection register mode asynchronously. This function is not blocking, the response will be returned with a handler function.

Note
If strings are not set, too long (bigger than LE_MRC_MCC_LEN/LE_MRC_MNC_LEN digits), or too short (less than LE_MRC_MCC_LEN/LE_MRC_MNC_LEN-1 digits) it's a fatal error, the function won't return.
NOT multi-app safe
Parameters
[in]mccMobile Country Code
[in]mncMobile Network Code
[in]handlerPtrhandler for sending result
[in]contextPtr
le_result_t le_mrc_SetRadioPower ( le_onoff_t  power)

Set the power of the Radio Module.

Returns
LE_BAD_PARAMETER Bad power mode specified.
LE_FAULT Function failed.
LE_OK Function succeed.
Note
NOT multi-app safe
Parameters
[in]powerThe power state.
le_result_t le_mrc_SetRatPreferences ( le_mrc_RatBitMask_t  ratMask)

Set the Radio Access Technology preferences by using a bit mask.

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
NOT multi-app safe
Parameters
[in]ratMaskBit mask for the Radio Access Technology preferences.
void le_mrc_SetServerDisconnectHandler ( le_mrc_DisconnectHandler_t  disconnectHandler,
void *  contextPtr 
)

Set handler called when server disconnection is detected.

When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants to continue without exiting, it should call longjmp() from inside the handler.

le_result_t le_mrc_SetSignalStrengthIndDelta ( le_mrc_Rat_t  rat,
uint16_t  delta 
)

This function sets a signal strength indication delta for a specific RAT.

Returns
  • LE_OK Function succeeded.
  • LE_BAD_PARAMETER Bad parameters.
  • LE_FAULT Function failed.
Note
The minimum signal delta is one unit of 0.1 dBm
Parameters
[in]ratRadio Access Technology
[in]deltaSignal delta in units of 0.1 dBm
le_result_t le_mrc_SetSignalStrengthIndThresholds ( le_mrc_Rat_t  rat,
int32_t  lowerRangeThreshold,
int32_t  upperRangeThreshold 
)

This function sets signal strength indication thresholds for a specific RAT.

Returns
  • LE_OK Function succeeded.
  • LE_BAD_PARAMETER Bad parameters
  • LE_FAULT Function failed.
Note
NOT multi-app safe
Parameters
[in]ratRadio Access Technology
[in]lowerRangeThresholdLower-range Signal strength threshold in dBm
[in]upperRangeThresholdUpper-range Signal strength threshold in dBm
le_result_t le_mrc_SetTdScdmaBandPreferences ( le_mrc_TdScdmaBandBitMask_t  bandMask)

Set the TD-SCDMA Band preferences by using a bit mask.

Returns
  • LE_FAULT Function failed.
  • LE_OK Function succeeded.
Note
NOT multi-app safe
Parameters
[in]bandMaskBit mask for TD-SCDMA Band preferences.
le_result_t le_mrc_TryConnectService ( void  )

Try to connect the current client thread to the service providing this API. Return with an error if the service is not available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client-specific Functions.

This function is created automatically.

Returns
  • LE_OK if the client connected successfully to the service.
  • LE_UNAVAILABLE if the server is not currently offering the service to which the client is bound.
  • LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).
  • LE_COMM_ERROR if the Service Directory cannot be reached.