le_dualsys_interface.h File Reference

#include "legato.h"

Go to the source code of this file.

Typedefs

typedef void(* le_dualsys_DisconnectHandler_t) (void *)
 

Enumerations

enum  le_dualsys_System_t { LE_DUALSYS_MODEM_GROUP = 0x1, LE_DUALSYS_LK_GROUP = 0x2, LE_DUALSYS_LINUX_GROUP = 0x4 }
 

Functions

void le_dualsys_ConnectService (void)
 
le_result_t le_dualsys_TryConnectService (void)
 
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

Legato Dual Systems Update API include file.

Typedef Documentation

typedef void(* le_dualsys_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

Enumeration Type Documentation

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

Enumerator
LE_DUALSYS_MODEM_GROUP 

System 1 or 2 for MODEM sub-system.

LE_DUALSYS_LK_GROUP 

System 1 or 2 for LK sub-system.

LE_DUALSYS_LINUX_GROUP 

System 1 or 2 for LINUX sub-system.

Function Documentation

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_result_t le_dualsys_DisableSyncBeforeUpdate ( bool  isDisabled)

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)
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_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
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_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_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.