le_info_interface.h File Reference

#include "legato.h"

Go to the source code of this file.

Macros

#define LE_INFO_IMEI_MAX_LEN   15
 
#define LE_INFO_IMEI_MAX_BYTES   16
 
#define LE_INFO_MAX_VERS_LEN   256
 
#define LE_INFO_MAX_VERS_BYTES   257
 
#define LE_INFO_MAX_MODEL_LEN   256
 
#define LE_INFO_MAX_MODEL_BYTES   257
 
#define LE_INFO_MAX_ESN_LEN   32
 
#define LE_INFO_MAX_ESN_BYTES   33
 
#define LE_INFO_MAX_MEID_LEN   32
 
#define LE_INFO_MAX_MEID_BYTES   33
 
#define LE_INFO_MAX_MDN_LEN   32
 
#define LE_INFO_MAX_MDN_BYTES   33
 
#define LE_INFO_MAX_MIN_LEN   32
 
#define LE_INFO_MAX_MIN_BYTES   33
 
#define LE_INFO_MAX_NAI_LEN   72
 
#define LE_INFO_MAX_NAI_BYTES   73
 
#define LE_INFO_MAX_MFR_NAME_LEN   128
 
#define LE_INFO_MAX_MFR_NAME_BYTES   129
 
#define LE_INFO_MAX_PRIID_PN_LEN   7
 
#define LE_INFO_MAX_PRIID_PN_BYTES   8
 
#define LE_INFO_MAX_PRIID_REV_LEN   5
 
#define LE_INFO_MAX_PRIID_REV_BYTES   6
 
#define LE_INFO_MAX_PSN_LEN   14
 
#define LE_INFO_MAX_PSN_BYTES   15
 
#define LE_INFO_RF_DEVICES_STATUS_MAX   10
 
#define LE_INFO_MAX_SKU_LEN   32
 
#define LE_INFO_MAX_SKU_BYTES   33
 

Functions

void le_info_ConnectService (void)
 
le_result_t le_info_TryConnectService (void)
 
void le_info_DisconnectService (void)
 
le_result_t le_info_GetImei (char *imei, size_t imeiNumElements)
 
le_result_t le_info_GetFirmwareVersion (char *version, size_t versionNumElements)
 
le_result_t le_info_GetBootloaderVersion (char *version, size_t versionNumElements)
 
le_result_t le_info_GetDeviceModel (char *modelPtr, size_t modelPtrNumElements)
 
le_result_t le_info_GetMeid (char *meidStr, size_t meidStrNumElements)
 
le_result_t le_info_GetEsn (char *esnStr, size_t esnStrNumElements)
 
le_result_t le_info_GetMdn (char *mdnStr, size_t mdnStrNumElements)
 
le_result_t le_info_GetPrlVersion (uint16_t *prlVersionPtr)
 
le_result_t le_info_GetPrlOnlyPreference (bool *prlOnlyPreferencePtr)
 
le_result_t le_info_GetMin (char *msisdnStr, size_t msisdnStrNumElements)
 
le_result_t le_info_GetNai (char *naiStr, size_t naiStrNumElements)
 
le_result_t le_info_GetManufacturerName (char *mfrNameStr, size_t mfrNameStrNumElements)
 
le_result_t le_info_GetPriId (char *priIdPnStr, size_t priIdPnStrNumElements, char *priIdRevStr, size_t priIdRevStrNumElements)
 
le_result_t le_info_GetPlatformSerialNumber (char *platformSerialNumberStr, size_t platformSerialNumberStrNumElements)
 
le_result_t le_info_GetRfDeviceStatus (uint16_t *manufacturedIdPtr, size_t *manufacturedIdNumElementsPtr, uint8_t *productIdPtr, size_t *productIdNumElementsPtr, bool *statusPtr, size_t *statusNumElementsPtr)
 
le_result_t le_info_GetSku (char *skuIdStr, size_t skuIdStrNumElements)
 

Detailed Description

Legato Modem Information include file.

Macro Definition Documentation

#define LE_INFO_IMEI_MAX_BYTES   16

Maximum IMEI length (15 digits) One extra byte is added for the null character.

#define LE_INFO_IMEI_MAX_LEN   15

Maximum IMEI length (15 digits), excluding any termination character.

#define LE_INFO_MAX_ESN_BYTES   33

Maximum length of an Electronic Serial Number (ESN) string. One extra byte is added for the null character.

#define LE_INFO_MAX_ESN_LEN   32

Maximum length of an Electronic Serial Number (ESN) string, excluding any termination character.

#define LE_INFO_MAX_MDN_BYTES   33

Maximum length of an Mobile Directory Number (MDN) string. One extra byte is added for the null character.

#define LE_INFO_MAX_MDN_LEN   32

Maximum length of an Mobile Directory Number (MDN) string, excluding any termination character.

#define LE_INFO_MAX_MEID_BYTES   33

Maximum length of an Mobile Equipment Identifier (MEID) string. One extra byte is added for the null character.

#define LE_INFO_MAX_MEID_LEN   32

Maximum length of an Mobile Equipment Identifier (MEID) string, excluding any termination character.

#define LE_INFO_MAX_MFR_NAME_BYTES   129

Maximum length of an Manufacturer Name string. One extra byte is added for the null character.

#define LE_INFO_MAX_MFR_NAME_LEN   128

Maximum length of an Manufacturer Name string, excluding any termination character.

#define LE_INFO_MAX_MIN_BYTES   33

Maximum length of an Mobile Station ISDN Number (MSISDN) string. One extra byte is added for the null character.

#define LE_INFO_MAX_MIN_LEN   32

Maximum length of an Mobile Station ISDN Number (MSISDN) string, excluding any termination character.

#define LE_INFO_MAX_MODEL_BYTES   257

Maximum length of a model string One extra byte is added for the null character.

#define LE_INFO_MAX_MODEL_LEN   256

Maximum length of a model string, excluding any termination character.

#define LE_INFO_MAX_NAI_BYTES   73

Maximum length of an Mobile Station ISDN Number (NAI) string. One extra byte is added for the null character.

#define LE_INFO_MAX_NAI_LEN   72

Maximum length of an Mobile Station ISDN Number (NAI) string, excluding any termination character.

#define LE_INFO_MAX_PRIID_PN_BYTES   8

Maximum length of the Product Requirement Information Identifier (PRI ID) Part Number string. One extra byte is added for the null character.

#define LE_INFO_MAX_PRIID_PN_LEN   7

Maximum length of the Product Requirement Information Identifier (PRI ID) Part Number string , excluding any termination character.

#define LE_INFO_MAX_PRIID_REV_BYTES   6

Maximum length of the Product Requirement Information Identifier (PRI ID) Revision Number string. One extra byte is added for the null character.

#define LE_INFO_MAX_PRIID_REV_LEN   5

Maximum length of the Product Requirement Information Identifier (PRI ID) Revision Number string , excluding any termination character.

#define LE_INFO_MAX_PSN_BYTES   15

Maximum length of the Platform Serial Number (PSN) string. One extra byte is added for the null character.

#define LE_INFO_MAX_PSN_LEN   14

Maximum length of an Platform Serial Number (PSN) string, excluding any termination character.

#define LE_INFO_MAX_SKU_BYTES   33

Maximum length of the product stock keeping unit number (SKU) string. One extra byte is added for the null character.

#define LE_INFO_MAX_SKU_LEN   32

Maximum length of the product stock keeping unit number (SKU) string, excluding any termination character.

#define LE_INFO_MAX_VERS_BYTES   257

Maximum length of a version string One extra byte is added for the null character.

#define LE_INFO_MAX_VERS_LEN   256

Maximum length of a version string, excluding any termination character.

#define LE_INFO_RF_DEVICES_STATUS_MAX   10

Maximum fields for the RF devices status request.

Function Documentation

void le_info_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_info_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_info_GetBootloaderVersion ( char *  version,
size_t  versionNumElements 
)

Get the bootloader version string

Returns
  • LE_OK on success
  • LE_NOT_FOUND if the version string is not available
  • LE_OVERFLOW if version string to big to fit in provided buffer
  • LE_FAULT for any other errors
Parameters
[out]versionBootloader version string
[in]versionNumElements
le_result_t le_info_GetDeviceModel ( char *  modelPtr,
size_t  modelPtrNumElements 
)

Get the device model identity (Target Hardware Platform).

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed to get the value.
  • LE_OVERFLOW The device model identity length exceed the maximum length.
Parameters
[out]modelPtrThe model identity string (null-terminated).
[in]modelPtrNumElements
le_result_t le_info_GetEsn ( char *  esnStr,
size_t  esnStrNumElements 
)

Get the CDMA Electronic Serial Number (ESN) of the device.

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed to get the value.
  • LE_OVERFLOW The Electronic Serial Number length exceed the maximum length.
Parameters
[out]esnStrThe Electronic Serial Number (ESN) of the device. string (null-terminated).
[in]esnStrNumElements
le_result_t le_info_GetFirmwareVersion ( char *  version,
size_t  versionNumElements 
)

Get the firmware version string

Returns
  • LE_OK on success
  • LE_NOT_FOUND if the version string is not available
  • LE_OVERFLOW if version string to big to fit in provided buffer
  • LE_FAULT for any other errors
Parameters
[out]versionFirmware version string
[in]versionNumElements
le_result_t le_info_GetImei ( char *  imei,
size_t  imeiNumElements 
)

Retrieve the International Mobile Equipment Identity (IMEI).

Returns
LE_FAULT Function failed to retrieve the IMEI.
LE_OVERFLOW IMEI length exceed the maximum length.
LE_OK Function succeeded.
Note
If the caller passes a bad pointer into this function, it's a fatal error the function will not return.
Parameters
[out]imeiIMEI string.
[in]imeiNumElements
le_result_t le_info_GetManufacturerName ( char *  mfrNameStr,
size_t  mfrNameStrNumElements 
)

Get the Manufacturer Name string in ASCII text.

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed to get the value.
  • LE_OVERFLOW The Manufacturer Name length exceed the maximum length.
Parameters
[out]mfrNameStrThe Manufacturer Name string (null-terminated).
[in]mfrNameStrNumElements
le_result_t le_info_GetMdn ( char *  mdnStr,
size_t  mdnStrNumElements 
)

Get the CDMA Mobile Directory Number (MDN) of the device.

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed to get the value.
  • LE_OVERFLOW The Mobile Directory Number length exceed the maximum length.
Parameters
[out]mdnStrThe Mobile Directory Number (MDN) string (null-terminated).
[in]mdnStrNumElements
le_result_t le_info_GetMeid ( char *  meidStr,
size_t  meidStrNumElements 
)

Get the CDMA device Mobile Equipment Identifier (MEID).

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed to get the value.
  • LE_OVERFLOW The device Mobile Equipment identifier length exceed the maximum length.
Parameters
[out]meidStrThe Mobile Equipment identifier (MEID) string (null-terminated).
[in]meidStrNumElements
le_result_t le_info_GetMin ( char *  msisdnStr,
size_t  msisdnStrNumElements 
)

Get the CDMA Mobile Identification Number (MIN).

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed to get the value.
  • LE_OVERFLOW The CDMA Mobile Identification Number length exceed the maximum length.
Parameters
[out]msisdnStrThe Mobile Identification Number (MIN) string (null-terminated).
[in]msisdnStrNumElements
le_result_t le_info_GetNai ( char *  naiStr,
size_t  naiStrNumElements 
)

Get the CDMA Network Access Identifier (NAI) string in ASCII text.

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed to get the value.
  • LE_OVERFLOW The Network Access Identifier (NAI) length exceed the maximum length.
Parameters
[out]naiStrThe Network Access Identifier (NAI) string (null-terminated).
[in]naiStrNumElements
le_result_t le_info_GetPlatformSerialNumber ( char *  platformSerialNumberStr,
size_t  platformSerialNumberStrNumElements 
)

Get the Platform Serial Number (PSN) string.

Returns
  • LE_OK on success
  • LE_OVERFLOW if Platform Serial Number to big to fit in provided buffer
  • LE_FAULT for any other errors
Parameters
[out]platformSerialNumberStrPlatform Serial Number string.
[in]platformSerialNumberStrNumElements
le_result_t le_info_GetPriId ( char *  priIdPnStr,
size_t  priIdPnStrNumElements,
char *  priIdRevStr,
size_t  priIdRevStrNumElements 
)

Get the Product Requirement Information Part Number and Revision Number strings in ASCII text.

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed to get the value.
  • LE_OVERFLOW The Part or the Revision Number strings length exceed the maximum length.
Parameters
[out]priIdPnStrThe Product Requirement Information Identifier (PRI ID) Part Number string (null-terminated).
[in]priIdPnStrNumElements
[out]priIdRevStrThe Product Requirement Information Identifier (PRI ID) Revision Number string (null-terminated).
[in]priIdRevStrNumElements
le_result_t le_info_GetPrlOnlyPreference ( bool *  prlOnlyPreferencePtr)

Get the CDMA Preferred Roaming List (PRL) only preferences status.

Returns
  • LE_OK The function succeeded.
  • LE_NOT_FOUND The information is not available.
  • LE_FAULT The function failed to get the value.
Parameters
[out]prlOnlyPreferencePtrThe CDMA Preferred Roaming List only preferences status.
le_result_t le_info_GetPrlVersion ( uint16_t *  prlVersionPtr)

Get the CDMA version of Preferred Roaming List (PRL).

Returns
  • LE_OK The function succeeded.
  • LE_NOT_FOUND The information is not available.
  • LE_FAULT The function failed to get the value.
Parameters
[out]prlVersionPtrThe Preferred Roaming List (PRL) version.
le_result_t le_info_GetRfDeviceStatus ( uint16_t *  manufacturedIdPtr,
size_t *  manufacturedIdNumElementsPtr,
uint8_t *  productIdPtr,
size_t *  productIdNumElementsPtr,
bool *  statusPtr,
size_t *  statusNumElementsPtr 
)

Get the RF devices working status (i.e. working or broken) of modem's RF devices such as power amplifier, antenna switch and transceiver. That status is updated every time the module power on.

Returns
  • LE_OK on success
  • LE_UNSUPPORTED request not supported
  • LE_FAULT function failed to get the RF devices working status
  • LE_OVERFLOW the number of statuses exceeds the maximum size (LE_INFO_RF_DEVICES_STATUS_MAX)
Parameters
[out]manufacturedIdPtrManufactured identifier (MID)
[in,out]manufacturedIdNumElementsPtr
[out]productIdPtrProduct identifier (PID)
[in,out]productIdNumElementsPtr
[out]statusPtrStatus of the RF device (MID,PID): 0 means something wrong 1 means no error found
[in,out]statusNumElementsPtr
le_result_t le_info_GetSku ( char *  skuIdStr,
size_t  skuIdStrNumElements 
)

Get the product stock keeping unit number (SKU) string in ASCII text.

Returns
  • LE_OK The function succeeded.
  • LE_FAULT The function failed to get the value.
  • LE_OVERFLOW The SKU number string length exceeds the maximum length.
Parameters
[out]skuIdStrProduct SKU ID string.
[in]skuIdStrNumElements
le_result_t le_info_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.