SE RT Services Utilities library

General Description

Syscall functions definitions.

Functions

ifx_se_status_t ifx_se_syscall (ifx_se_fih_ptr_t ipc_packet, ifx_se_fih_t ipc_packet_size, void *ctx)
 Used to call syscall to SE RT Services. More...
 
ifx_se_status_t ifx_se_syscall_builtin (ifx_se_fih_ptr_t ipc_packet, void *ctx)
 Used to perform syscall to SE RT Services. More...
 
ifx_se_status_t ifx_se_hal_syscall_lock (void *ctx)
 Used to set syscall execution mutex in multi-threaded environments. More...
 
ifx_se_status_t ifx_se_hal_syscall_start (void *ctx)
 Used to acquire syscall IPC structure. More...
 
ifx_se_status_t ifx_se_hal_syscall_wait_response (void *ctx)
 Used to waiting the syscall response. More...
 
void ifx_se_hal_syscall_release (void *ctx)
 Used to release syscall execution mutex in multi-threaded environments. More...
 

Function Documentation

◆ ifx_se_syscall()

ifx_se_status_t ifx_se_syscall ( ifx_se_fih_ptr_t  ipc_packet,
ifx_se_fih_t  ipc_packet_size,
void *  ctx 
)

Used to call syscall to SE RT Services.

Parameters
[in]ipc_packetThe pointer to the buffer with syscall parameters.
[in]ipc_packet_sizeThe size of the buffer with syscall parameters.
[in]*ctxThe pointer to the SE syscall context that contain a special syscall data (IPC release callback etc).
Returns
IFX_SE_SUCCESS for success or error code
Note
This function is marked as WEAK so user can replace it by own implementation according to the platform environment

◆ ifx_se_syscall_builtin()

ifx_se_status_t ifx_se_syscall_builtin ( ifx_se_fih_ptr_t  ipc_packet,
void *  ctx 
)

Used to perform syscall to SE RT Services.

Parameters
[in]ipc_packetThe pointer to the buffer with syscall parameters.
[in]*ctxThe pointer to the SE syscall context that contain a special syscall data (IPC release callback etc).
Returns
IFX_SE_SUCCESS for success or error code

◆ ifx_se_hal_syscall_lock()

ifx_se_status_t ifx_se_hal_syscall_lock ( void *  ctx)

Used to set syscall execution mutex in multi-threaded environments.

Default implementation is not thread-safe and provided as template.

Parameters
[in]*ctxThe pointer to the SE syscall context that contain a special syscall data (IPC release callback etc).
Returns
IFX_SE_SUCCESS for success otherwise timeout error.
Note
This function is marked as WEAK so user can replace it by own implementation according to the platform environment

◆ ifx_se_hal_syscall_start()

ifx_se_status_t ifx_se_hal_syscall_start ( void *  ctx)

Used to acquire syscall IPC structure.

Additionally can be used to register IPC Release event callback.

Should use Cy_IPC_Drv_LockAcquire to acquire syscall IPC structure.

Parameters
[in]*ctxThe pointer to the SE syscall context that contain a special syscall data (IPC release callback etc).
Returns
IFX_SE_SUCCESS for success otherwise timeout error.
Note
This function is marked as WEAK so user can replace it by own implementation according to the platform environment

◆ ifx_se_hal_syscall_wait_response()

ifx_se_status_t ifx_se_hal_syscall_wait_response ( void *  ctx)

Used to waiting the syscall response.

Should use Cy_IPC_Drv_GetLockStatus or Cy_IPC_Drv_IsLockAcquired to check syscall IPC structure status on waiting.

Parameters
[in]*ctxThe pointer to the SE syscall context that contain a special syscall data (IPC release callback etc).
Returns
IFX_SE_SUCCESS for success otherwise timeout error.
Note
This function is marked as WEAK so user can replace it by own implementation according to the platform environment

◆ ifx_se_hal_syscall_release()

void ifx_se_hal_syscall_release ( void *  ctx)

Used to release syscall execution mutex in multi-threaded environments.

Default implementation is not thread-safe and provided as template.

Parameters
[in]*ctxThe pointer to the SE syscall context that contain a special syscall data (IPC release callback etc).
Note
This function is marked as WEAK so user can replace it by own implementation according to the platform environment