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

Go to the source code of this file.

Typedefs

typedef struct
le_mrc_NetRegStateHandler * 
le_mrc_NetRegStateHandlerRef_t
 
typedef struct
le_mrc_RatChangeHandler * 
le_mrc_RatChangeHandlerRef_t
 
typedef void(* le_mrc_NetRegStateHandlerFunc_t )(le_mrc_NetRegState_t state, void *contextPtr)
 
typedef void(* le_mrc_RatChangeHandlerFunc_t )(le_mrc_Rat_t rat, void *contextPtr)
 

Functions

void le_mrc_StartClient (const char *serviceInstanceName)
 
void le_mrc_StopClient (void)
 
le_mrc_NetRegStateHandlerRef_t le_mrc_AddNetRegStateHandler (le_mrc_NetRegStateHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_mrc_RemoveNetRegStateHandler (le_mrc_NetRegStateHandlerRef_t addHandlerRef)
 
le_mrc_RatChangeHandlerRef_t le_mrc_AddRatChangeHandler (le_mrc_RatChangeHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_mrc_RemoveRatChangeHandler (le_mrc_RatChangeHandlerRef_t addHandlerRef)
 
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_result_t le_mrc_RegisterCellularNetwork (const char *mcc, const char *mnc)
 
le_mrc_ScanInformationListRef_t le_mrc_PerformCellularNetworkScan (le_mrc_Rat_t ratMask)
 
le_mrc_ScanInformationRef_t le_mrc_GetFirstCellularNetworkScan (le_mrc_ScanInformationListRef_t scanInformationListRef)
 
le_mrc_ScanInformationRef_t le_mrc_GetNextCellularNetworkScan (le_mrc_ScanInformationListRef_t scanInformationListRef)
 
void le_mrc_DeleteCellularNetworkScan (le_mrc_ScanInformationListRef_t scanInformationListRef)
 
le_result_t le_mrc_GetCellularNetworkMccMnc (le_mrc_ScanInformationRef_t scanInformationRef, char *mccPtr, size_t mccPtrNumElements, char *mncPtr, size_t mncPtrNumElements)
 
le_result_t le_mrc_GetCellularNetworkName (le_mrc_ScanInformationRef_t scanInformationRef, char *namePtr, size_t namePtrNumElements)
 
bool le_mrc_IsCellularNetworkRatAvailable (le_mrc_ScanInformationRef_t scanInformationRef, le_mrc_Rat_t rat)
 
bool le_mrc_IsCellularNetworkInUse (le_mrc_ScanInformationRef_t scanInformationRef)
 
bool le_mrc_IsCellularNetworkAvailable (le_mrc_ScanInformationRef_t scanInformationRef)
 
bool le_mrc_IsCellularNetworkHome (le_mrc_ScanInformationRef_t scanInformationRef)
 
bool le_mrc_IsCellularNetworkForbidden (le_mrc_ScanInformationRef_t scanInformationRef)
 
le_result_t le_mrc_GetHomeNetworkName (char *nameStr, size_t nameStrNumElements)
 
le_result_t le_mrc_GetRadioAccessTechInUse (le_mrc_Rat_t *ratPtr)
 
le_mrc_NeighborCellsRef_t le_mrc_GetNeighborCellsInfo (void)
 
void le_mrc_DeleteNeighborCellsInfo (le_mrc_NeighborCellsRef_t ngbrCellsRef)
 
le_mrc_CellInfoRef_t le_mrc_GetFirstNeighborCellInfo (le_mrc_NeighborCellsRef_t ngbrCellsRef)
 
le_mrc_CellInfoRef_t le_mrc_GetNextNeighborCellInfo (le_mrc_NeighborCellsRef_t ngbrCellsRef)
 
uint32_t le_mrc_GetNeighborCellId (le_mrc_CellInfoRef_t ngbrCellInfoRef)
 
uint32_t le_mrc_GetNeighborCellLocAreaCode (le_mrc_CellInfoRef_t ngbrCellInfoRef)
 
int32_t le_mrc_GetNeighborCellRxLevel (le_mrc_CellInfoRef_t ngbrCellInfoRef)
 

Detailed Description

Legato Modem Radio Control include file.

Copyright (C) Sierra Wireless, Inc. 2014. Use of this work is subject to license.

Typedef Documentation

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

Handler for Network registration state changes.

Parameters
stateParameter ready to receive the Network Registration state.
contextPtr
typedef struct le_mrc_NetRegStateHandler* le_mrc_NetRegStateHandlerRef_t

Reference type for le_mrc_NetRegStateHandler handler ADD/REMOVE functions

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

Handler for Radio Access Technologie changes.

Parameters
ratParameter ready to receive the Radio Access Technology.
contextPtr
typedef struct le_mrc_RatChangeHandler* le_mrc_RatChangeHandlerRef_t

Reference type for le_mrc_RatChangeHandler handler ADD/REMOVE functions

Function Documentation

le_mrc_NetRegStateHandlerRef_t le_mrc_AddNetRegStateHandler ( le_mrc_NetRegStateHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

le_mrc_NetRegStateHandler handler ADD function

Parameters
[in]handlerPtr
[in]contextPtr
le_mrc_RatChangeHandlerRef_t le_mrc_AddRatChangeHandler ( le_mrc_RatChangeHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

le_mrc_RatChangeHandler handler ADD function

Parameters
[in]handlerPtr
[in]contextPtr
void le_mrc_DeleteCellularNetworkScan ( le_mrc_ScanInformationListRef_t  scanInformationListRef)

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

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

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

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

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

Returns
  • LE_OK on success
  • LE_NOT_POSSIBLE for all other errors
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
Parameters
[in]scanInformationRefScan information reference
[out]mccPtrMobile Country Code
[in]mccPtrNumElements
[out]mncPtrMobile Network Code
[in]mncPtrNumElements
le_result_t le_mrc_GetCellularNetworkName ( le_mrc_ScanInformationRef_t  scanInformationRef,
char *  namePtr,
size_t  namePtrNumElements 
)

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

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

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

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

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

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

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

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

This function must be called to get the Cell Identifier.

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

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

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

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

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

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

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

Get the network registration state.

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

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

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

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

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

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

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

Must be called to get the Radio Module power state.

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

Get the signal quality.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

le_mrc_NetRegStateHandler handler REMOVE function

Parameters
[in]addHandlerRef
void le_mrc_RemoveRatChangeHandler ( le_mrc_RatChangeHandlerRef_t  addHandlerRef)

le_mrc_RatChangeHandler handler REMOVE function

Parameters
[in]addHandlerRef
le_result_t le_mrc_SetRadioPower ( le_onoff_t  power)

Set the power of the Radio Module.

Returns
LE_FAULT Function failed.
LE_OK Function succeed.
Parameters
[in]powerThe power state.
void le_mrc_StartClient ( const char *  serviceInstanceName)

Start the service for the client main thread

Parameters
[in]serviceInstanceName
void le_mrc_StopClient ( void  )

Stop the service for the current client thread