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_IMEISV_MAX_LEN   255
 
#define LE_INFO_IMEISV_MAX_BYTES   256
 
#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_CAPRI_NAME_LEN   16
 
#define LE_INFO_MAX_CAPRI_NAME_BYTES   17
 
#define LE_INFO_MAX_CAPRI_REV_LEN   12
 
#define LE_INFO_MAX_CAPRI_REV_BYTES   13
 
#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
 

Typedefs

typedef void(* le_info_DisconnectHandler_t) (void *)
 

Functions

void le_info_ConnectService (void)
 
le_result_t le_info_TryConnectService (void)
 
void le_info_SetServerDisconnectHandler (le_info_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
void le_info_DisconnectService (void)
 
le_result_t le_info_GetImei (char *imei, size_t imeiSize)
 
le_result_t le_info_GetImeiSv (char *imeiSv, size_t imeiSvSize)
 
le_result_t le_info_GetFirmwareVersion (char *version, size_t versionSize)
 
le_result_t le_info_GetBootloaderVersion (char *version, size_t versionSize)
 
le_result_t le_info_GetDeviceModel (char *modelPtr, size_t modelPtrSize)
 
le_result_t le_info_GetMeid (char *meidStr, size_t meidStrSize)
 
le_result_t le_info_GetEsn (char *esnStr, size_t esnStrSize)
 
le_result_t le_info_GetMdn (char *mdnStr, size_t mdnStrSize)
 
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 msisdnStrSize)
 
le_result_t le_info_GetNai (char *naiStr, size_t naiStrSize)
 
le_result_t le_info_GetManufacturerName (char *mfrNameStr, size_t mfrNameStrSize)
 
le_result_t le_info_GetPriId (char *priIdPnStr, size_t priIdPnStrSize, char *priIdRevStr, size_t priIdRevStrSize)
 
le_result_t le_info_GetCarrierPri (char *capriNameStr, size_t capriNameStrSize, char *capriRevStr, size_t capriRevStrSize)
 
le_result_t le_info_GetPlatformSerialNumber (char *platformSerialNumberStr, size_t platformSerialNumberStrSize)
 
le_result_t le_info_GetRfDeviceStatus (uint16_t *manufacturedIdPtr, size_t *manufacturedIdSizePtr, uint8_t *productIdPtr, size_t *productIdSizePtr, bool *statusPtr, size_t *statusSizePtr)
 
le_result_t le_info_GetSku (char *skuIdStr, size_t skuIdStrSize)
 

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_IMEISV_MAX_BYTES   256

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

#define LE_INFO_IMEISV_MAX_LEN   255

Maximum length of the IMEISV string, excluding any termination character.

#define LE_INFO_MAX_CAPRI_NAME_BYTES   17

Maximum length of the Carrier Product Requirement Information (CAPRI) Name string. One extra byte is added for the null character.

#define LE_INFO_MAX_CAPRI_NAME_LEN   16

Maximum length of the Carrier Product Requirement Information (CAPRI) Name string. , excluding any termination character.

#define LE_INFO_MAX_CAPRI_REV_BYTES   13

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

#define LE_INFO_MAX_CAPRI_REV_LEN   12

Maximum length of the Carrier Product Requirement Information (CAPRI) Revision Number string. , 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.

Typedef Documentation

typedef void(* le_info_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

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

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
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]versionBootloader version string
[in]versionSize
le_result_t le_info_GetCarrierPri ( char *  capriNameStr,
size_t  capriNameStrSize,
char *  capriRevStr,
size_t  capriRevStrSize 
)

Get the Carrier PRI Name 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.
  • LE_UNSUPPORTED The function is not supported on the platform.
Parameters
[out]capriNameStrThe Carrier Product Requirement Information (CAPRI) Name string (null-terminated).
[in]capriNameStrSize
[out]capriRevStrThe Carrier Product Requirement Information (CAPRI) Revision Number string (null-terminated).
[in]capriRevStrSize
le_result_t le_info_GetDeviceModel ( char *  modelPtr,
size_t  modelPtrSize 
)

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]modelPtrSize
le_result_t le_info_GetEsn ( char *  esnStr,
size_t  esnStrSize 
)

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]esnStrSize
le_result_t le_info_GetFirmwareVersion ( char *  version,
size_t  versionSize 
)

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
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]versionFirmware version string
[in]versionSize
le_result_t le_info_GetImei ( char *  imei,
size_t  imeiSize 
)

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]imeiSize
le_result_t le_info_GetImeiSv ( char *  imeiSv,
size_t  imeiSvSize 
)

Retrieve the International Mobile Equipment Identity software version number (IMEISV).

Returns
LE_FAULT Function failed to retrieve the IMEISV.
LE_OVERFLOW IMEISV 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]imeiSvIMEISV string.
[in]imeiSvSize
le_result_t le_info_GetManufacturerName ( char *  mfrNameStr,
size_t  mfrNameStrSize 
)

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]mfrNameStrSize
le_result_t le_info_GetMdn ( char *  mdnStr,
size_t  mdnStrSize 
)

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]mdnStrSize
le_result_t le_info_GetMeid ( char *  meidStr,
size_t  meidStrSize 
)

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]meidStrSize
le_result_t le_info_GetMin ( char *  msisdnStr,
size_t  msisdnStrSize 
)

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]msisdnStrSize
le_result_t le_info_GetNai ( char *  naiStr,
size_t  naiStrSize 
)

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]naiStrSize
le_result_t le_info_GetPlatformSerialNumber ( char *  platformSerialNumberStr,
size_t  platformSerialNumberStrSize 
)

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]platformSerialNumberStrSize
le_result_t le_info_GetPriId ( char *  priIdPnStr,
size_t  priIdPnStrSize,
char *  priIdRevStr,
size_t  priIdRevStrSize 
)

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]priIdPnStrSize
[out]priIdRevStrThe Product Requirement Information Identifier (PRI ID) Revision Number string (null-terminated).
[in]priIdRevStrSize
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 *  manufacturedIdSizePtr,
uint8_t *  productIdPtr,
size_t *  productIdSizePtr,
bool *  statusPtr,
size_t *  statusSizePtr 
)

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]manufacturedIdSizePtr
[out]productIdPtrProduct identifier (PID)
[in,out]productIdSizePtr
[out]statusPtrStatus of the RF device (MID,PID): 0 means something wrong 1 means no error found
[in,out]statusSizePtr
le_result_t le_info_GetSku ( char *  skuIdStr,
size_t  skuIdStrSize 
)

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]skuIdStrSize
void le_info_SetServerDisconnectHandler ( le_info_DisconnectHandler_t  disconnectHandler,
void *  contextPtr 
)

Set handler called when server disconnection is detected.

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

le_result_t le_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.