le_dualsys API Reference

Files

file  le_dualsys_common.h
 
file  le_dualsys_interface.h
 

Macros

#define LE_DUALSYS_MODEM_GROUP   0x1
 
#define LE_DUALSYS_LK_GROUP   0x2
 
#define LE_DUALSYS_LINUX_GROUP   0x4
 

Typedefs

typedef uint32_t le_dualsys_System_t
 
typedef void(* le_dualsys_DisconnectHandler_t) (void *)
 

Functions

void le_dualsys_ConnectService (void)
 
le_result_t le_dualsys_TryConnectService (void)
 
LE_FULL_API void le_dualsys_SetServerDisconnectHandler (le_dualsys_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
void le_dualsys_DisconnectService (void)
 
le_result_t le_dualsys_DisableSyncBeforeUpdate (bool isDisabled)
 
le_result_t le_dualsys_SetSystem (le_dualsys_System_t systemMask)
 
le_result_t le_dualsys_GetCurrentSystem (le_dualsys_System_t *systemMaskPtr)
 

Detailed Description

Macro Definition Documentation

◆ LE_DUALSYS_MODEM_GROUP

#define LE_DUALSYS_MODEM_GROUP   0x1

System Define on which system 1 or 2 belong the partition group (0 = system 1, 1 = system 2)

Typedef Documentation

◆ le_dualsys_DisconnectHandler_t

typedef void(* le_dualsys_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

Function Documentation

◆ le_dualsys_ConnectService()

void le_dualsys_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_dualsys_DisableSyncBeforeUpdate()

le_result_t le_dualsys_DisableSyncBeforeUpdate ( bool  isDisabled)

System Define on which system 1 or 2 belong the partition group (0 = system 1, 1 = system 2) Disable (true) or enable (false) the synchronisation check before performing an update. The default behavior at startup is always to have the check enabled. It remains enabled until this service is called with the value true. To re-enable the synchronization check call this service with the value false.

Note
Upgrading some partitions without performing a sync before may let the whole system into a unworkable state. THIS IS THE RESPONSABILITY OF THE CALLER TO KNOW WHAT IMAGES ARE ALREADY FLASHED INTO THE UPDATE SYSTEM.
Fuction must be called after each target reboot or updateDaemon restart
Returns
  • LE_OK On success
  • LE_UNSUPPORTED The feature is not supported
  • LE_FAULT On failure
Parameters
[in]isDisabledState of sync check : true (disable) or false (enable)

◆ le_dualsys_DisconnectService()

void le_dualsys_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_dualsys_GetCurrentSystem()

le_result_t le_dualsys_GetCurrentSystem ( le_dualsys_System_t *  systemMaskPtr)

Get the current "system" in use.

Returns
  • LE_OK On success
  • LE_FAULT On failure
  • LE_UNSUPPORTED The feature is not supported
Parameters
[out]systemMaskPtrSub-system bitmask for "modem/lk/linux" partitions

◆ le_dualsys_SetServerDisconnectHandler()

LE_FULL_API void le_dualsys_SetServerDisconnectHandler ( le_dualsys_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_dualsys_SetSystem()

le_result_t le_dualsys_SetSystem ( le_dualsys_System_t  systemMask)

Define a new "system" by setting the three sub-systems. This system will become the current system in use after the reset performed by this service, if no error are reported.

Note
On success, a device reboot is initiated without returning any value.
Returns
  • LE_FAULT On failure
  • LE_UNSUPPORTED The feature is not supported
Parameters
[in]systemMaskSub-system bitmask for "modem/lk/linux" partitions

◆ le_dualsys_TryConnectService()

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