Snapdragon® Telematics Application Framework (TelAF) Interface Specification
taf_diagUpdate_interface.h File Reference
#include "legato.h"
#include "taf_types_interface.h"
#include "taf_diagUpdate_common.h"

Go to the source code of this file.

Typedefs

typedef void(* taf_diagUpdate_DisconnectHandler_t) (void *)
 

Functions

void taf_diagUpdate_ConnectService (void)
 
le_result_t taf_diagUpdate_TryConnectService (void)
 
LE_FULL_API void taf_diagUpdate_SetServerDisconnectHandler (taf_diagUpdate_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
LE_FULL_API void taf_diagUpdate_SetNonExitServerDisconnectHandler (taf_diagUpdate_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
void taf_diagUpdate_DisconnectService (void)
 
taf_diagUpdate_ServiceRef_t taf_diagUpdate_GetService (void)
 
taf_diagUpdate_RxFileXferMsgHandlerRef_t taf_diagUpdate_AddRxFileXferMsgHandler (taf_diagUpdate_ServiceRef_t svcRef, taf_diagUpdate_RxFileXferMsgHandlerFunc_t handlerPtr, void *contextPtr)
 
void taf_diagUpdate_RemoveRxFileXferMsgHandler (taf_diagUpdate_RxFileXferMsgHandlerRef_t handlerRef)
 
le_result_t taf_diagUpdate_GetFilePathAndName (taf_diagUpdate_RxFileXferMsgRef_t rxMsgRef, uint8_t *fileNamePtr, size_t *fileNameSizePtr)
 
le_result_t taf_diagUpdate_GetDataFormatID (taf_diagUpdate_RxFileXferMsgRef_t rxMsgRef, uint8_t *dataFormatIDPtr)
 
le_result_t taf_diagUpdate_GetUnCompFileSize (taf_diagUpdate_RxFileXferMsgRef_t rxMsgRef, uint32_t *unCompFileSizePtr)
 
le_result_t taf_diagUpdate_GetCompFileSize (taf_diagUpdate_RxFileXferMsgRef_t rxMsgRef, uint32_t *compFileSizePtr)
 
le_result_t taf_diagUpdate_SetFilePosition (taf_diagUpdate_RxFileXferMsgRef_t rxMsgRef, uint64_t filePosition)
 
le_result_t taf_diagUpdate_SetFileSizeOrDirInfoLength (taf_diagUpdate_RxFileXferMsgRef_t rxMsgRef, uint64_t fileSizeUncompressedOrDirInfoLength, uint64_t fileSizeCompressed)
 
le_result_t taf_diagUpdate_SendFileXferResp (taf_diagUpdate_RxFileXferMsgRef_t rxMsgRef, taf_diagUpdate_FileXferErrorCode_t errCode)
 
taf_diagUpdate_RxXferDataMsgHandlerRef_t taf_diagUpdate_AddRxXferDataMsgHandler (taf_diagUpdate_ServiceRef_t svcRef, taf_diagUpdate_RxXferDataMsgHandlerFunc_t handlerPtr, void *contextPtr)
 
void taf_diagUpdate_RemoveRxXferDataMsgHandler (taf_diagUpdate_RxXferDataMsgHandlerRef_t handlerRef)
 
le_result_t taf_diagUpdate_GetblockSeqCount (taf_diagUpdate_RxXferDataMsgRef_t rxMsgRef, uint8_t *countPtr)
 
le_result_t taf_diagUpdate_GetXferDataParamRecLen (taf_diagUpdate_RxXferDataMsgRef_t rxMsgRef, uint16_t *xferDataRecLenPtr)
 
le_result_t taf_diagUpdate_GetXferDataParamRec (taf_diagUpdate_RxXferDataMsgRef_t rxMsgRef, uint8_t *xferDataRecPtr, size_t *xferDataRecSizePtr)
 
le_result_t taf_diagUpdate_SendXferDataResp (taf_diagUpdate_RxXferDataMsgRef_t rxMsgRef, taf_diagUpdate_XferDataErrorCode_t errCode, const uint8_t *dataPtr, size_t dataSize)
 
taf_diagUpdate_RxXferExitMsgHandlerRef_t taf_diagUpdate_AddRxXferExitMsgHandler (taf_diagUpdate_ServiceRef_t svcRef, taf_diagUpdate_RxXferExitMsgHandlerFunc_t handlerPtr, void *contextPtr)
 
void taf_diagUpdate_RemoveRxXferExitMsgHandler (taf_diagUpdate_RxXferExitMsgHandlerRef_t handlerRef)
 
le_result_t taf_diagUpdate_GetXferExitParamRecLen (taf_diagUpdate_RxXferExitMsgRef_t rxMsgRef, uint16_t *exitDataRecLenPtr)
 
le_result_t taf_diagUpdate_GetXferExitParamRec (taf_diagUpdate_RxXferExitMsgRef_t rxMsgRef, uint8_t *exitDataRecPtr, size_t *exitDataRecSizePtr)
 
le_result_t taf_diagUpdate_SendXferExitResp (taf_diagUpdate_RxXferExitMsgRef_t rxMsgRef, taf_diagUpdate_XferExitErrorCode_t errCode, const uint8_t *dataPtr, size_t dataSize)
 
le_result_t taf_diagUpdate_RemoveSvc (taf_diagUpdate_ServiceRef_t svcRef)
 

Typedef Documentation

◆ taf_diagUpdate_DisconnectHandler_t

typedef void(* taf_diagUpdate_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

Function Documentation

◆ taf_diagUpdate_ConnectService()

void taf_diagUpdate_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 apiFilesC_client.

This function is created automatically.

◆ taf_diagUpdate_TryConnectService()

le_result_t taf_diagUpdate_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 apiFilesC_client.

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.

◆ taf_diagUpdate_SetServerDisconnectHandler()

LE_FULL_API void taf_diagUpdate_SetServerDisconnectHandler ( taf_diagUpdate_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.

◆ taf_diagUpdate_SetNonExitServerDisconnectHandler()

LE_FULL_API void taf_diagUpdate_SetNonExitServerDisconnectHandler ( taf_diagUpdate_DisconnectHandler_t  disconnectHandler,
void *  contextPtr 
)

Set handler called when server disconnection is detected without exiting.

When a server connection is lost, call this handler without exit.

Warning
When using the API, it needs the application developer to handle some cases like re-connecting and recycling the resources. For most of cases, it is safe to use SetServerDisconnectHandler.

◆ taf_diagUpdate_DisconnectService()

void taf_diagUpdate_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 apiFilesC_client.

This function is created automatically.

◆ taf_diagUpdate_GetService()

taf_diagUpdate_ServiceRef_t taf_diagUpdate_GetService ( void  )

Gets the reference to a Diag update service, if there's no Diag update service, a new one will be created.

Returns
  • Reference to the service instance.
  • NULL if not allowed to create the service.
Note
The process exits if an invalid reference is passed.

◆ taf_diagUpdate_AddRxFileXferMsgHandler()

taf_diagUpdate_RxFileXferMsgHandlerRef_t taf_diagUpdate_AddRxFileXferMsgHandler ( taf_diagUpdate_ServiceRef_t  svcRef,
taf_diagUpdate_RxFileXferMsgHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'taf_diagUpdate_RxFileXferMsg'

This event provides information on RequestFileTransfer message.

Parameters
[in]svcRefService reference.
[in]handlerPtrReceived message handler.
[in]contextPtr

◆ taf_diagUpdate_RemoveRxFileXferMsgHandler()

void taf_diagUpdate_RemoveRxFileXferMsgHandler ( taf_diagUpdate_RxFileXferMsgHandlerRef_t  handlerRef)

Remove handler function for EVENT 'taf_diagUpdate_RxFileXferMsg'

Parameters
[in]handlerRef

◆ taf_diagUpdate_GetFilePathAndName()

le_result_t taf_diagUpdate_GetFilePathAndName ( taf_diagUpdate_RxFileXferMsgRef_t  rxMsgRef,
uint8_t *  fileNamePtr,
size_t *  fileNameSizePtr 
)

Gets the file path and name of the Rx RequestFileTransfer message.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_NOT_FOUND – Reference not found.
  • LE_OVERFLOW – Payload size is too small.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceive message reference.
[out]fileNamePtrFile path and name.
[in,out]fileNameSizePtr

◆ taf_diagUpdate_GetDataFormatID()

le_result_t taf_diagUpdate_GetDataFormatID ( taf_diagUpdate_RxFileXferMsgRef_t  rxMsgRef,
uint8_t *  dataFormatIDPtr 
)

Gets the data format ID of the Rx RequestFileTransfer message.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_NOT_FOUND – Reference not found.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceive message reference.
[out]dataFormatIDPtrData format ID.

◆ taf_diagUpdate_GetUnCompFileSize()

le_result_t taf_diagUpdate_GetUnCompFileSize ( taf_diagUpdate_RxFileXferMsgRef_t  rxMsgRef,
uint32_t *  unCompFileSizePtr 
)

Gets the size of the uncompressed file of the Rx RequestFileTransfer message.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_NOT_FOUND – Reference not found.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[out]unCompFileSizePtrSize of the uncompressed file.

◆ taf_diagUpdate_GetCompFileSize()

le_result_t taf_diagUpdate_GetCompFileSize ( taf_diagUpdate_RxFileXferMsgRef_t  rxMsgRef,
uint32_t *  compFileSizePtr 
)

Gets the size of the compressed file of the Rx RequestFileTransfer message.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_NOT_FOUND – Reference not found.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[out]compFileSizePtrSize of the compressed file.

◆ taf_diagUpdate_SetFilePosition()

le_result_t taf_diagUpdate_SetFilePosition ( taf_diagUpdate_RxFileXferMsgRef_t  rxMsgRef,
uint64_t  filePosition 
)

Sets the file position into RequestFileTransfer response message.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef or wrong modeOfOperation.
  • LE_NOT_FOUND – Reference not found.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[in]filePositionSpecifies the byte position for downloading file resume.

◆ taf_diagUpdate_SetFileSizeOrDirInfoLength()

le_result_t taf_diagUpdate_SetFileSizeOrDirInfoLength ( taf_diagUpdate_RxFileXferMsgRef_t  rxMsgRef,
uint64_t  fileSizeUncompressedOrDirInfoLength,
uint64_t  fileSizeCompressed 
)

Sets the fileSizeUncompressedOrDirInfoLength and fileSizeCompressed into RequestFileTransfer response message.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef or wrong modeOfOperation.
  • LE_NOT_FOUND – Reference not found.
  • LE_OVERFLOW – file size more than UINT32_MAX.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[in]fileSizeUncompressedOrDirInfoLengthSpecifies the size of the uncompressed file to be uploaded or the length of the directory information to be read in bytes.
[in]fileSizeCompressedSpecifies the size of the compressed file in bytes.

◆ taf_diagUpdate_SendFileXferResp()

le_result_t taf_diagUpdate_SendFileXferResp ( taf_diagUpdate_RxFileXferMsgRef_t  rxMsgRef,
taf_diagUpdate_FileXferErrorCode_t  errCode 
)

Sends a response message for the Rx RequestFileTransfer message.

Note
This function must be called to send a response if receiving a RequestFileTransfer message.
Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_NOT_FOUND – Reference not found.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[in]errCodeError code type.

◆ taf_diagUpdate_AddRxXferDataMsgHandler()

taf_diagUpdate_RxXferDataMsgHandlerRef_t taf_diagUpdate_AddRxXferDataMsgHandler ( taf_diagUpdate_ServiceRef_t  svcRef,
taf_diagUpdate_RxXferDataMsgHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'taf_diagUpdate_RxXferDataMsg'

This event provides information on TransferData message.

Parameters
[in]svcRefService reference.
[in]handlerPtrReceived message handler.
[in]contextPtr

◆ taf_diagUpdate_RemoveRxXferDataMsgHandler()

void taf_diagUpdate_RemoveRxXferDataMsgHandler ( taf_diagUpdate_RxXferDataMsgHandlerRef_t  handlerRef)

Remove handler function for EVENT 'taf_diagUpdate_RxXferDataMsg'

Parameters
[in]handlerRef

◆ taf_diagUpdate_GetblockSeqCount()

le_result_t taf_diagUpdate_GetblockSeqCount ( taf_diagUpdate_RxXferDataMsgRef_t  rxMsgRef,
uint8_t *  countPtr 
)

Gets the block sequence counter of the Rx TransferData message.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_NOT_FOUND – Reference not found.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[out]countPtrBlock sequence counter.

◆ taf_diagUpdate_GetXferDataParamRecLen()

le_result_t taf_diagUpdate_GetXferDataParamRecLen ( taf_diagUpdate_RxXferDataMsgRef_t  rxMsgRef,
uint16_t *  xferDataRecLenPtr 
)

Gets the the data request record length of the Rx TransferData message.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_NOT_FOUND – Reference not found.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[out]xferDataRecLenPtrTransfer data request parameter record length.

◆ taf_diagUpdate_GetXferDataParamRec()

le_result_t taf_diagUpdate_GetXferDataParamRec ( taf_diagUpdate_RxXferDataMsgRef_t  rxMsgRef,
uint8_t *  xferDataRecPtr,
size_t *  xferDataRecSizePtr 
)

Gets the transfer data request record of the Rx TransferData message.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_OVERFLOW – Payload size is too small.
  • LE_NOT_FOUND – Reference not found.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[out]xferDataRecPtrTransfer data request parameter record.
[in,out]xferDataRecSizePtr

◆ taf_diagUpdate_SendXferDataResp()

le_result_t taf_diagUpdate_SendXferDataResp ( taf_diagUpdate_RxXferDataMsgRef_t  rxMsgRef,
taf_diagUpdate_XferDataErrorCode_t  errCode,
const uint8_t *  dataPtr,
size_t  dataSize 
)

Sends a response message for the Rx TransferData message.

Note
This function must be called to send a response if receiving a TransferData message.
Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_NOT_FOUND – Reference not found.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[in]errCodeError code type.
[in]dataPtrPayload data.
[in]dataSize

◆ taf_diagUpdate_AddRxXferExitMsgHandler()

taf_diagUpdate_RxXferExitMsgHandlerRef_t taf_diagUpdate_AddRxXferExitMsgHandler ( taf_diagUpdate_ServiceRef_t  svcRef,
taf_diagUpdate_RxXferExitMsgHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'taf_diagUpdate_RxXferExitMsg'

This event provides information on RequestTransferExit message.

Parameters
[in]svcRefService reference.
[in]handlerPtrReceived message handler.
[in]contextPtr

◆ taf_diagUpdate_RemoveRxXferExitMsgHandler()

void taf_diagUpdate_RemoveRxXferExitMsgHandler ( taf_diagUpdate_RxXferExitMsgHandlerRef_t  handlerRef)

Remove handler function for EVENT 'taf_diagUpdate_RxXferExitMsg'

Parameters
[in]handlerRef

◆ taf_diagUpdate_GetXferExitParamRecLen()

le_result_t taf_diagUpdate_GetXferExitParamRecLen ( taf_diagUpdate_RxXferExitMsgRef_t  rxMsgRef,
uint16_t *  exitDataRecLenPtr 
)

Gets the length of the received RequestTransferExit message.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_NOT_FOUND – Reference not found.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[out]exitDataRecLenPtrTransfer exit request parameter record length.

◆ taf_diagUpdate_GetXferExitParamRec()

le_result_t taf_diagUpdate_GetXferExitParamRec ( taf_diagUpdate_RxXferExitMsgRef_t  rxMsgRef,
uint8_t *  exitDataRecPtr,
size_t *  exitDataRecSizePtr 
)

Gets the transfer exit request parameter record of the Rx RequestTransferExit message.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_OVERFLOW – Payload size is too small.
  • LE_NOT_FOUND – Reference not found.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[out]exitDataRecPtrTransfer exit request parameter record.
[in,out]exitDataRecSizePtr

◆ taf_diagUpdate_SendXferExitResp()

le_result_t taf_diagUpdate_SendXferExitResp ( taf_diagUpdate_RxXferExitMsgRef_t  rxMsgRef,
taf_diagUpdate_XferExitErrorCode_t  errCode,
const uint8_t *  dataPtr,
size_t  dataSize 
)

Sends a response message for the Rx RequestTransferExit message.

Note
This function must be called to send a response if receiving a RequestTransferExit message.
Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid rxMsgRef.
  • LE_NOT_FOUND – Reference not found.
  • LE_FAULT – Failed.
Note
The process exits if an invalid reference is passed.
Parameters
[in]rxMsgRefReceived message reference.
[in]errCodeError code type.
[in]dataPtrPayload data.
[in]dataSize

◆ taf_diagUpdate_RemoveSvc()

le_result_t taf_diagUpdate_RemoveSvc ( taf_diagUpdate_ServiceRef_t  svcRef)

Removes the Update server service.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid svcRef.
Parameters
[in]svcRefService reference.