le_mrc_interface.h File Reference

#include "legato.h"

Go to the source code of this file.

Data Structures

struct  le_mrc_NetRegRejectInd_t
 

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_PciScanInformationList * le_mrc_PciScanInformationListRef_t
 
typedef struct le_mrc_PciScanInformation * le_mrc_PciScanInformationRef_t
 
typedef struct le_mrc_PlmnInformation * le_mrc_PlmnInformationRef_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 struct le_mrc_NetRegRejectHandler * le_mrc_NetRegRejectHandlerRef_t
 
typedef struct le_mrc_JammingDetectionEventHandler * le_mrc_JammingDetectionEventHandlerRef_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_PciNetworkScanHandlerFunc_t) (le_mrc_PciScanInformationListRef_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)
 
typedef void(* le_mrc_NetRegRejectHandlerFunc_t) (const le_mrc_NetRegRejectInd_t *LE_NONNULL networkRejectIndPtr, void *contextPtr)
 
typedef void(* le_mrc_JammingDetectionHandlerFunc_t) (le_mrc_JammingReport_t report, le_mrc_JammingStatus_t status, 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_26 = 0x200000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_28 = 0x400000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_33 = 0x800000,
  LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_34 = 0x1000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_35 = 0x2000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_36 = 0x4000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_37 = 0x8000000,
  LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_38 = 0x10000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_39 = 0x20000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_40 = 0x40000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_41 = 0x80000000,
  LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_42 = 0x100000000, LE_MRC_BITMASK_LTE_BAND_E_UTRA_OP_BAND_43 = 0x200000000
}
 
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_JammingReport_t { LE_MRC_JAMMING_REPORT_FINAL = 0, LE_MRC_JAMMING_REPORT_INTERMEDIATE = 1 }
 
enum  le_mrc_JammingStatus_t {
  LE_MRC_JAMMING_STATUS_UNKNOWN = 0, LE_MRC_JAMMING_STATUS_NULL = 1, LE_MRC_JAMMING_STATUS_LOW = 2, LE_MRC_JAMMING_STATUS_MEDIUM = 3,
  LE_MRC_JAMMING_STATUS_HIGH = 4, LE_MRC_JAMMING_STATUS_JAMMED = 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
}
 
enum  le_mrc_NetRejCause_t {
  LE_MRC_IMSI_UNKNOWN = 0, LE_MRC_ILLEGAL_MS = 1, LE_MRC_IMEI_NOT_ACCEPTED = 2, LE_MRC_ILLEGAL_ME = 3,
  LE_MRC_GPRS_NOT_ALLOWED = 4, LE_MRC_GPRS_NON_GPRS_NOT_ALLOWED = 5, LE_MRC_MS_IDENTITY_UNKNOWN = 6, LE_MRC_NETWORK_IMPLICIT_DETACH = 7,
  LE_MRC_PLMN_NOT_ALLOWED = 8, LE_MRC_LOCATION_NOT_ALLOWED = 9, LE_MRC_ROAMING_NOT_ALLOWED = 10, LE_MRC_GPRS_NOT_ALLOWED_PLMN = 11,
  LE_MRC_NO_SUITABLE_CELL = 12, LE_MRC_MSC_NOT_REACHABLE = 13, LE_MRC_NETWORK_FAILURE = 14, LE_MRC_MAC_FAILURE = 15,
  LE_MRC_SYNCH_FAILURE = 16, LE_MRC_CONGESTION = 17, LE_MRC_GSM_AUTH_FAILURE = 18, LE_MRC_CSG_NOT_AUTHORIZED = 19,
  LE_MRC_SMS_VIA_GPRS = 20, LE_MRC_No_PDP_ACTIVATED = 21, LE_MRC_RETRY_NEW_CELL = 22, LE_MRC_SEMANTICAL_INCORRECT = 23,
  LE_MRC_INVALID_INFORMATION = 24, LE_MRC_MESSAGE_TYPE_WRONG = 25, LE_MRC_MESSAGE_TYPE_NOT_COMPATIBLE = 26, LE_MRC_WRONG_IE = 27,
  LE_MRC_IE_ERROR = 28, LE_MRC_MESSAGE_NOT_COMPATIBLE = 29, LE_MRC_PROTOCOL_ERROR = 30
}
 
enum  le_mrc_NetRegDomain_t {
  LE_MRC_NO_SERVICE = 0, LE_MRC_CS = 1, LE_MRC_PS = 2, LE_MRC_CS_PS = 3,
  LE_MRC_LIMITED_SERVICE = 4
}
 

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)
 
le_mrc_PciScanInformationListRef_t le_mrc_PerformPciNetworkScan (le_mrc_RatBitMask_t ratMask)
 
void le_mrc_PerformCellularNetworkScanAsync (le_mrc_RatBitMask_t ratMask, le_mrc_CellularNetworkScanHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_mrc_PerformPciNetworkScanAsync (le_mrc_RatBitMask_t ratMask, le_mrc_PciNetworkScanHandlerFunc_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)
 
le_mrc_PciScanInformationRef_t le_mrc_GetFirstPciScanInfo (le_mrc_PciScanInformationListRef_t scanInformationListRef)
 
le_mrc_PciScanInformationRef_t le_mrc_GetNextPciScanInfo (le_mrc_PciScanInformationListRef_t scanInformationListRef)
 
le_mrc_PlmnInformationRef_t le_mrc_GetFirstPlmnInfo (le_mrc_PciScanInformationRef_t pciScanInformationRef)
 
le_mrc_PlmnInformationRef_t le_mrc_GetNextPlmnInfo (le_mrc_PciScanInformationRef_t plmnRef)
 
uint16_t le_mrc_GetPciScanCellId (le_mrc_PciScanInformationRef_t pciScanInformationRef)
 
uint32_t le_mrc_GetPciScanGlobalCellId (le_mrc_PciScanInformationRef_t pciScanInformationRef)
 
le_result_t le_mrc_GetPciScanMccMnc (le_mrc_PlmnInformationRef_t plmnRef, char *mccPtr, size_t mccPtrSize, char *mncPtr, size_t mncPtrSize)
 
void le_mrc_DeleteCellularNetworkScan (le_mrc_ScanInformationListRef_t scanInformationListRef)
 
void le_mrc_DeletePciNetworkScan (le_mrc_PciScanInformationListRef_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 *snrPtr)
 
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)
 
le_mrc_NetRegRejectHandlerRef_t le_mrc_AddNetRegRejectHandler (le_mrc_NetRegRejectHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_mrc_RemoveNetRegRejectHandler (le_mrc_NetRegRejectHandlerRef_t handlerRef)
 
le_mrc_JammingDetectionEventHandlerRef_t le_mrc_AddJammingDetectionEventHandler (le_mrc_JammingDetectionHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_mrc_RemoveJammingDetectionEventHandler (le_mrc_JammingDetectionEventHandlerRef_t handlerRef)
 
le_result_t le_mrc_StartJammingDetection (void)
 
le_result_t le_mrc_StopJammingDetection (void)
 
le_result_t le_mrc_SetSarBackoffState (uint8_t state)
 
le_result_t le_mrc_GetSarBackoffState (uint8_t *statePtr)
 

Detailed Description

Legato Modem Radio Control include file.

Macro Definition Documentation

◆ LE_MRC_MCC_BYTES

#define LE_MRC_MCC_BYTES   4

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

◆ LE_MRC_MCC_LEN

#define LE_MRC_MCC_LEN   3

Mobile Country Code length

◆ LE_MRC_MNC_BYTES

#define LE_MRC_MNC_BYTES   4

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

◆ LE_MRC_MNC_LEN

#define LE_MRC_MNC_LEN   3

Mobile Network Code length

◆ LE_MRC_NETWORK_NAME_MAX_LEN

#define LE_MRC_NETWORK_NAME_MAX_LEN   100

Cellular Network length.

Typedef Documentation

◆ le_mrc_CellInfoRef_t

typedef struct le_mrc_CellInfo* le_mrc_CellInfoRef_t

Reference type for one Cell Information.

◆ le_mrc_CellularNetworkScanHandlerFunc_t

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.

◆ le_mrc_DisconnectHandler_t

typedef void(* le_mrc_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

◆ le_mrc_JammingDetectionEventHandlerRef_t

typedef struct le_mrc_JammingDetectionEventHandler* le_mrc_JammingDetectionEventHandlerRef_t

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

◆ le_mrc_JammingDetectionHandlerFunc_t

typedef void(* le_mrc_JammingDetectionHandlerFunc_t) (le_mrc_JammingReport_t report, le_mrc_JammingStatus_t status, void *contextPtr)

Handler for jamming detection event.

◆ le_mrc_ManualSelectionHandlerFunc_t

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

Handler for asynchronous manual selection response

◆ le_mrc_MetricsRef_t

typedef struct le_mrc_Metrics* le_mrc_MetricsRef_t

Reference type for the signal metrics.

◆ le_mrc_NeighborCellsRef_t

typedef struct le_mrc_NeighborCells* le_mrc_NeighborCellsRef_t

Reference type for all Neighboring Cells Information.

◆ le_mrc_NetRegRejectHandlerFunc_t

typedef void(* le_mrc_NetRegRejectHandlerFunc_t) (const le_mrc_NetRegRejectInd_t *LE_NONNULL networkRejectIndPtr, void *contextPtr)

Handler to report network registration reject indication. NetworkRejectHandler is deprecated.

◆ le_mrc_NetRegRejectHandlerRef_t

typedef struct le_mrc_NetRegRejectHandler* le_mrc_NetRegRejectHandlerRef_t

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

◆ le_mrc_NetRegStateEventHandlerRef_t

typedef struct le_mrc_NetRegStateEventHandler* le_mrc_NetRegStateEventHandlerRef_t

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

◆ le_mrc_NetRegStateHandlerFunc_t

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

Handler for Network registration state changes.

◆ le_mrc_NetworkRejectHandlerFunc_t

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.

Deprecated:
le_mrc_NetworkRejectHandler() will be removed in near future. It will be replaced by le_mrc_AddNetRegRejectHandler().

◆ le_mrc_NetworkRejectHandlerRef_t

typedef struct le_mrc_NetworkRejectHandler* le_mrc_NetworkRejectHandlerRef_t

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

◆ le_mrc_PacketSwitchedChangeHandlerFunc_t

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

Handler for Packet Switched service state changes.

◆ le_mrc_PacketSwitchedChangeHandlerRef_t

typedef struct le_mrc_PacketSwitchedChangeHandler* le_mrc_PacketSwitchedChangeHandlerRef_t

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

◆ le_mrc_PciNetworkScanHandlerFunc_t

typedef void(* le_mrc_PciNetworkScanHandlerFunc_t) (le_mrc_PciScanInformationListRef_t listRef, void *contextPtr)

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

◆ le_mrc_PciScanInformationListRef_t

typedef struct le_mrc_PciScanInformationList* le_mrc_PciScanInformationListRef_t

Reference type for PCI Scan Information Listing.

◆ le_mrc_PciScanInformationRef_t

typedef struct le_mrc_PciScanInformation* le_mrc_PciScanInformationRef_t

Reference type for PCI Scan Information .

◆ le_mrc_PlmnInformationRef_t

typedef struct le_mrc_PlmnInformation* le_mrc_PlmnInformationRef_t

Reference type for PLMN Information .

◆ le_mrc_PreferredOperatorListRef_t

typedef struct le_mrc_PreferredOperatorList* le_mrc_PreferredOperatorListRef_t

Reference type for Preferred Operator Listing.

◆ le_mrc_PreferredOperatorRef_t

typedef struct le_mrc_PreferredOperator* le_mrc_PreferredOperatorRef_t

Reference type for referring to the Preferred Operator objects.

◆ le_mrc_RatChangeHandlerFunc_t

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

Handler for Radio Access Technology changes.

◆ le_mrc_RatChangeHandlerRef_t

typedef struct le_mrc_RatChangeHandler* le_mrc_RatChangeHandlerRef_t

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

◆ le_mrc_ScanInformationListRef_t

typedef struct le_mrc_ScanInformationList* le_mrc_ScanInformationListRef_t

Reference type for Scan Information Listing.

◆ le_mrc_ScanInformationRef_t

typedef struct le_mrc_ScanInformation* le_mrc_ScanInformationRef_t

Reference type for referring to MRC Scan Information objects.

◆ le_mrc_SignalStrengthChangeHandlerFunc_t

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

Handler for Signal Strength value changes.

◆ le_mrc_SignalStrengthChangeHandlerRef_t

typedef struct le_mrc_SignalStrengthChangeHandler* le_mrc_SignalStrengthChangeHandlerRef_t

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

Enumeration Type Documentation

◆ le_mrc_BandBitMask_t

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

◆ le_mrc_JammingReport_t

Jamming detection report type enum

Note
If the reported status is the final status (end of the procedure), this shall be indicated within the status report.
Other reports, called intermediate reports, gives only intermediate results issuing from the algorithm
Enumerator
LE_MRC_JAMMING_REPORT_FINAL 

Final jamming status report.

LE_MRC_JAMMING_REPORT_INTERMEDIATE 

Intermediate jamming status report.

◆ le_mrc_JammingStatus_t

Jamming detection status type enum

Note
The final status can be only NULL or JAMMED.
Enumerator
LE_MRC_JAMMING_STATUS_UNKNOWN 

Status is unknown.

LE_MRC_JAMMING_STATUS_NULL 

No jamming suspicion; radio environment is considered normal.

LE_MRC_JAMMING_STATUS_LOW 

Low probability that the device is jammed, but some radio environment parameters are considered abnormal

LE_MRC_JAMMING_STATUS_MEDIUM 

Medium probability that the device is jammed; a lot of interferences in the radio spectrum

LE_MRC_JAMMING_STATUS_HIGH 

High probability that the device is jammed; radio environment is considered jammed, but there is still a possibility that the module succeeds in synchronizing a cell

LE_MRC_JAMMING_STATUS_JAMMED 

Module is jammed; cell synchronization impossible while sufficient power level is detected on a large number of frequencies

◆ le_mrc_LteBandBitMask_t

LTE Band Bit Mask (64 bits)

◆ le_mrc_NetRegDomain_t

Network Registration service domain type enum.

Enumerator
LE_MRC_NO_SERVICE 

Scan is ongoing, the module cannot see any networks.

LE_MRC_CS 

Circuit-switched only.

LE_MRC_PS 

Packet-switched only.

LE_MRC_CS_PS 

Circuit-switched and packet-switched.

LE_MRC_LIMITED_SERVICE 

No network register after scan.

◆ le_mrc_NetRegState_t

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.

◆ le_mrc_NetRejCause_t

Network Registration reject cause type enum.

Enumerator
LE_MRC_IMSI_UNKNOWN 

IMSI unknown in HLR.

LE_MRC_ILLEGAL_MS 

Illegal MS.

LE_MRC_IMEI_NOT_ACCEPTED 

IMEI not accepted.

LE_MRC_ILLEGAL_ME 

Illegal ME.

LE_MRC_GPRS_NOT_ALLOWED 

GPRS services not allowed.

LE_MRC_GPRS_NON_GPRS_NOT_ALLOWED 

GPRS services and non-GPRS services not allowed.

LE_MRC_MS_IDENTITY_UNKNOWN 

Network cannot derive the MS’s identity.

LE_MRC_NETWORK_IMPLICIT_DETACH 

Implicitly detached.

LE_MRC_PLMN_NOT_ALLOWED 

PLMN not allowed.

LE_MRC_LOCATION_NOT_ALLOWED 

Location Area not allowed.

LE_MRC_ROAMING_NOT_ALLOWED 

Roaming not allowed in this location area.

LE_MRC_GPRS_NOT_ALLOWED_PLMN 

GPRS services not allowed in this PLMN.

LE_MRC_NO_SUITABLE_CELL 

No Suitable Cells In Location Area.

LE_MRC_MSC_NOT_REACHABLE 

MSC temporarily not reachable.

LE_MRC_NETWORK_FAILURE 

Network failure.

LE_MRC_MAC_FAILURE 

MAC failure.

LE_MRC_SYNCH_FAILURE 

Synch failure.

LE_MRC_CONGESTION 

Congestion.

LE_MRC_GSM_AUTH_FAILURE 

GSM authentication unacceptable.

LE_MRC_CSG_NOT_AUTHORIZED 

Not authorized for this CSG.

LE_MRC_SMS_VIA_GPRS 

SMS provided via GPRS in this routing area.

LE_MRC_No_PDP_ACTIVATED 

No PDP context activated.

LE_MRC_RETRY_NEW_CELL 

Retry upon entry into a new cell.

LE_MRC_SEMANTICAL_INCORRECT 

Semantically incorrect message.

LE_MRC_INVALID_INFORMATION 

Invalid mandatory information.

LE_MRC_MESSAGE_TYPE_WRONG 

Message type non-existent or not implemented.

LE_MRC_MESSAGE_TYPE_NOT_COMPATIBLE 

Message type not compatible with the protocol state.

LE_MRC_WRONG_IE 

Information element non-existent or not implemented.

LE_MRC_IE_ERROR 

Conditional IE error.

LE_MRC_MESSAGE_NOT_COMPATIBLE 

Message not compatible with the protocol state.

LE_MRC_PROTOCOL_ERROR 

Protocol error, unspecified.

◆ le_mrc_Rat_t

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.

◆ le_mrc_RatBitMask_t

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.

◆ le_mrc_TdScdmaBandBitMask_t

TDSCDMA Band Bit Mask

Function Documentation

◆ le_mrc_AddJammingDetectionEventHandler()

le_mrc_JammingDetectionEventHandlerRef_t le_mrc_AddJammingDetectionEventHandler ( le_mrc_JammingDetectionHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'le_mrc_JammingDetectionEvent'

This event provides information on jamming detection.

Parameters
[in]handlerPtr
[in]contextPtr

◆ le_mrc_AddNetRegRejectHandler()

le_mrc_NetRegRejectHandlerRef_t le_mrc_AddNetRegRejectHandler ( le_mrc_NetRegRejectHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'le_mrc_NetRegReject'

Event to report network registration reject indication. NetworkReject will be deprecated.

Parameters
[in]handlerPtr
[in]contextPtr

◆ le_mrc_AddNetRegStateEventHandler()

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_AddNetworkRejectHandler()

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_AddPacketSwitchedChangeHandler()

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_mrc_AddPreferredOperator()

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_AddRatChangeHandler()

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_AddSignalStrengthChangeHandler()

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

◆ le_mrc_ConnectService()

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.

◆ le_mrc_DeleteCellularNetworkScan()

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.

◆ le_mrc_DeleteNeighborCellsInfo()

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.

◆ le_mrc_DeletePciNetworkScan()

void le_mrc_DeletePciNetworkScan ( le_mrc_PciScanInformationListRef_t  scanInformationListRef)

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

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.

◆ le_mrc_DeletePreferredOperatorsList()

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.

◆ le_mrc_DeleteSignalMetrics()

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.

◆ le_mrc_DisconnectService()

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_mrc_GetBandCapabilities()

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 Unable to get the 2G/3G Band capabilities on this platform
Note
multi-app safe
Parameters
[out]bandMaskPtrPtrBit mask for 2G/3G Band capabilities.

◆ le_mrc_GetBandPreferences()

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_mrc_GetCdmaSignalMetrics()

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_mrc_GetCellularNetworkMccMnc()

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_mrc_GetCellularNetworkName()

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_GetCellularNetworkRat()

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_mrc_GetCurrentNetworkMccMnc()

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_mrc_GetCurrentNetworkName()

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_GetFirstCellularNetworkScan()

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_GetFirstNeighborCellInfo()

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_GetFirstPciScanInfo()

le_mrc_PciScanInformationRef_t le_mrc_GetFirstPciScanInfo ( le_mrc_PciScanInformationListRef_t  scanInformationListRef)

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

Returns
NULL No scan information found.
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_GetFirstPlmnInfo()

le_mrc_PlmnInformationRef_t le_mrc_GetFirstPlmnInfo ( le_mrc_PciScanInformationRef_t  pciScanInformationRef)

This function must be called to get the first Plmn Information object reference in the list of Plmn on each cell.

Returns
NULL No scan information found.
le_mrc_PlmnInformationRef_t The Plmn 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.
Parameters
[in]pciScanInformationRef[IN] The reference to the cell information.

◆ le_mrc_GetFirstPreferredOperator()

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_mrc_GetGsmSignalMetrics()

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_mrc_GetLteBandCapabilities()

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 Unable to get the LTE Band capabilities on this platform
Note
multi-app safe
Parameters
[out]bandMaskPtrPtrBit mask for LTE Band capabilities.

◆ le_mrc_GetLteBandPreferences()

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_mrc_GetLteSignalMetrics()

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 *  snrPtr 
)

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]snrPtrSNR level in dB with 1 decimal place (15 = 1.5 dB)

◆ le_mrc_GetNeighborCellId()

uint32_t le_mrc_GetNeighborCellId ( le_mrc_CellInfoRef_t  ngbrCellInfoRef)

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

Returns
The Physical Cell Identifier. UINT32_MAX value is returned if the Cell Identifier 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_mrc_GetNeighborCellLocAreaCode()

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_mrc_GetNeighborCellLteInterFreq()

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_mrc_GetNeighborCellLteIntraFreq()

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_GetNeighborCellRat()

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.

◆ le_mrc_GetNeighborCellRxLevel()

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_GetNeighborCellsInfo()

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

◆ le_mrc_GetNeighborCellUmtsEcIo()

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_mrc_GetNetRegState()

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_GetNextCellularNetworkScan()

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_GetNextNeighborCellInfo()

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_GetNextPciScanInfo()

le_mrc_PciScanInformationRef_t le_mrc_GetNextPciScanInfo ( le_mrc_PciScanInformationListRef_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_PerformPciNetworkScan().

Returns
NULL No scan information found.
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_GetNextPlmnInfo()

le_mrc_PlmnInformationRef_t le_mrc_GetNextPlmnInfo ( le_mrc_PciScanInformationRef_t  plmnRef)

This function must be called to get the next Plmn Information object reference in the list of Plmn on each cell.

Returns
NULL No scan information found.
le_mrc_PlmnInformationRef_t The Plmn 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.
Parameters
[in]plmnRef[IN] The reference to the cell information.

◆ le_mrc_GetNextPreferredOperator()

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_mrc_GetPacketSwitchedState()

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.

◆ le_mrc_GetPciScanCellId()

uint16_t le_mrc_GetPciScanCellId ( le_mrc_PciScanInformationRef_t  pciScanInformationRef)

This function must be called to get the physical cell id referenced by PciScanInformation which is returned by le_mrc_GetFirstPciScanInfo() and le_mrc_GetNextPciScanInfo().

Returns
The Physical Cell Identifier.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
Parameters
[in]pciScanInformationRef[IN] The reference to the cell information.

◆ le_mrc_GetPciScanGlobalCellId()

uint32_t le_mrc_GetPciScanGlobalCellId ( le_mrc_PciScanInformationRef_t  pciScanInformationRef)

This function must be called to get the global cell id referenced by PciScanInformation which is returned by le_mrc_GetFirstPciScanInfo() and le_mrc_GetNextPciScanInfo().

Returns
The Global Cell Identifier.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
Parameters
[in]pciScanInformationRef[IN] The reference to the cell information.

◆ le_mrc_GetPciScanMccMnc()

le_result_t le_mrc_GetPciScanMccMnc ( le_mrc_PlmnInformationRef_t  plmnRef,
char *  mccPtr,
size_t  mccPtrSize,
char *  mncPtr,
size_t  mncPtrSize 
)

This function must be called to get the Mcc/Mnc of each PLMN referenced in the list of Plmn Information retrieved with le_mrc_GetFirstPlmnInfo() and le_mrc_GetNextPlmnInfo().

Returns
  • LE_OK on success
  • LE_OVERFLOW if the MCC or MNC would not fit in buffer
  • LE_FAULT for all other errors
Parameters
[in]plmnRef[IN] The reference to the cell information.
[out]mccPtrMobile Country Code
[in]mccPtrSize
[out]mncPtrMobile Network Code
[in]mncPtrSize

◆ le_mrc_GetPlatformSpecificRegistrationErrorCode()

int32_t le_mrc_GetPlatformSpecificRegistrationErrorCode ( void  )

Get the platform specific network registration error code.

Refer to Platform specific error codes for platform specific registration error code description.

Returns
the platform specific registration error code

◆ le_mrc_GetPreferredOperatorDetails()

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_GetPreferredOperatorsList()

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_mrc_GetRadioAccessTechInUse()

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_OK Function succeeded.
LE_BAD_PARAMETER Invalid parameter.
LE_FAULT Function failed to get the Radio Access Technology.
Note
If the caller is passing a bad pointer into this function, it's a fatal error, the function won't return.
The API returns the RAT only if the device is registered on the network. le_mrc_GetNetRegState() function can be called first to obtain the network registration state.
multi-app safe
Parameters
[out]ratPtrThe Radio Access Technology.

◆ le_mrc_GetRadioPower()

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_GetRatOfSignalMetrics()

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_mrc_GetRatPreferences()

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_mrc_GetRegisterMode()

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

◆ le_mrc_GetSarBackoffState()

le_result_t le_mrc_GetSarBackoffState ( uint8_t *  statePtr)

Get the SAR backoff state

Warning
The SAR backoff feature might be unsupported by some platforms. Please refer to the platform documentation Modem Control platform constraints.
Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed.
  • LE_UNSUPPORTED The feature is not supported.
Parameters
[out]statePtrCurrent state. By default, SAR is disabled (state = 0). Refer to platformConstraitsMdc for the number of maximum states.

◆ le_mrc_GetServingCellId()

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

◆ le_mrc_GetServingCellLocAreaCode()

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

◆ le_mrc_GetServingCellLteTracAreaCode()

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_mrc_GetSignalQual()

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_mrc_GetTdScdmaBandCapabilities()

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 Unable to get the TD-SCDMA Band Capabilities on this platform
Note
multi-app safe
Parameters
[out]bandMaskPtrPtrBit mask for TD-SCDMA Band capabilities.

◆ le_mrc_GetTdScdmaBandPreferences()

le_result_t le_mrc_GetTdScdmaBandPreferences ( le_mrc_TdScdmaBandBitMask_t bandMaskPtrPtr)

Get the Bit mask for TD-SCDMA Band preferences.

Returns
  • LE_OK Function succeeded.
  • LE_FAULT Function failed.
  • LE_UNSUPPORTED The platform doesn't support getting TD-SCDMA Band preferences.
Note
multi-app safe
Parameters
[out]bandMaskPtrPtrBit mask for TD-SCDMA Band preferences.

◆ le_mrc_GetUmtsSignalMetrics()

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

◆ le_mrc_IsCellularNetworkAvailable()

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

◆ le_mrc_IsCellularNetworkForbidden()

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

◆ le_mrc_IsCellularNetworkHome()

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

◆ le_mrc_IsCellularNetworkInUse()

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_MeasureSignalMetrics()

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

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

◆ le_mrc_PerformCellularNetworkScanAsync()

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

◆ le_mrc_PerformPciNetworkScan()

le_mrc_PciScanInformationListRef_t le_mrc_PerformPciNetworkScan ( le_mrc_RatBitMask_t  ratMask)

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

Returns
Reference to the List object. Null pointer if the scan failed.
Warning
PCI scan is platform dependent. Please refer to Modem Control platform constraints for further details.
Note
multi-app safe
Parameters
[in]ratMaskRadio Access Technology mask

◆ le_mrc_PerformPciNetworkScanAsync()

void le_mrc_PerformPciNetworkScanAsync ( le_mrc_RatBitMask_t  ratMask,
le_mrc_PciNetworkScanHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

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

Warning
PCI scan is platform dependent. Please refer to Modem Control platform constraints for further details.
Note
multi-app safe
Parameters
[in]ratMaskRadio Access Technology mask
[in]handlerPtrhandler for sending result.
[in]contextPtr

◆ le_mrc_RemoveJammingDetectionEventHandler()

void le_mrc_RemoveJammingDetectionEventHandler ( le_mrc_JammingDetectionEventHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_JammingDetectionEvent'

Parameters
[in]handlerRef

◆ le_mrc_RemoveNetRegRejectHandler()

void le_mrc_RemoveNetRegRejectHandler ( le_mrc_NetRegRejectHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_NetRegReject'

Parameters
[in]handlerRef

◆ le_mrc_RemoveNetRegStateEventHandler()

void le_mrc_RemoveNetRegStateEventHandler ( le_mrc_NetRegStateEventHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_NetRegStateEvent'

Parameters
[in]handlerRef

◆ le_mrc_RemoveNetworkRejectHandler()

void le_mrc_RemoveNetworkRejectHandler ( le_mrc_NetworkRejectHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_NetworkReject'

Parameters
[in]handlerRef

◆ le_mrc_RemovePacketSwitchedChangeHandler()

void le_mrc_RemovePacketSwitchedChangeHandler ( le_mrc_PacketSwitchedChangeHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_PacketSwitchedChange'

Parameters
[in]handlerRef

◆ le_mrc_RemovePreferredOperator()

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

◆ le_mrc_RemoveRatChangeHandler()

void le_mrc_RemoveRatChangeHandler ( le_mrc_RatChangeHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_RatChange'

Parameters
[in]handlerRef

◆ le_mrc_RemoveSignalStrengthChangeHandler()

void le_mrc_RemoveSignalStrengthChangeHandler ( le_mrc_SignalStrengthChangeHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_mrc_SignalStrengthChange'

Parameters
[in]handlerRef

◆ le_mrc_SetAutomaticRegisterMode()

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_mrc_SetBandPreferences()

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_mrc_SetLteBandPreferences()

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.
  • LE_UNSUPPORTED The platform doesn't support setting LTE Band preferences.
Note
NOT multi-app safe
Parameters
[in]bandMaskBit mask for LTE Band preferences.

◆ le_mrc_SetManualRegisterMode()

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

◆ le_mrc_SetManualRegisterModeAsync()

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_mrc_SetRadioPower()

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_mrc_SetRatPreferences()

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.
  • LE_UNSUPPORTED Not supported by platform.
Note
NOT multi-app safe
Parameters
[in]ratMaskBit mask for the Radio Access Technology preferences.

◆ le_mrc_SetSarBackoffState()

le_result_t le_mrc_SetSarBackoffState ( uint8_t  state)

Set the SAR backoff state

Warning
The SAR backoff feature might be unsupported by some platforms. Please refer to the platform documentation Modem Control platform constraints.
Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed.
  • LE_UNSUPPORTED The feature is not supported.
  • LE_OUT_OF_RANGE The provided index is out of range.
Parameters
[in]stateNew state to enable. By default, SAR is disabled (state = 0). Refer to platformConstraitsMdc for the number of maximum states.

◆ le_mrc_SetServerDisconnectHandler()

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_mrc_SetSignalStrengthIndDelta()

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 signal delta is set in units of 0.1 dBm. For example, to set a delta of 10.6 dBm, the delta value must be set to 106.
Warning
The signal delta resolution is platform dependent. Please refer to Modem Control platform constraints section for full details.
Parameters
[in]ratRadio Access Technology
[in]deltaSignal delta in units of 0.1 dBm

◆ le_mrc_SetSignalStrengthIndThresholds()

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_mrc_SetTdScdmaBandPreferences()

le_result_t le_mrc_SetTdScdmaBandPreferences ( le_mrc_TdScdmaBandBitMask_t  bandMask)

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

Returns
  • LE_OK Function succeeded.
  • LE_FAULT Function failed.
  • LE_UNSUPPORTED The platform doesn't support setting TD-SCDMA Band preferences.
Note
NOT multi-app safe
Parameters
[in]bandMaskBit mask for TD-SCDMA Band preferences.

◆ le_mrc_StartJammingDetection()

le_result_t le_mrc_StartJammingDetection ( void  )

Start the jamming detection monitoring.

Warning
The jamming detection feature might be limited by the platform. Please refer to the platform documentation Modem Control platform constraints.
Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed.
  • LE_DUPLICATE The feature is already activated and an activation is requested.
  • LE_UNSUPPORTED The feature is not supported.

◆ le_mrc_StopJammingDetection()

le_result_t le_mrc_StopJammingDetection ( void  )

Stop the jamming detection monitoring.

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed or the application did not start the jamming detection.
  • LE_UNSUPPORTED The feature is not supported.

◆ le_mrc_TryConnectService()

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.