SE RT Services Utilities library

| SE RT Services Utilities library

Functions
Syscall functions
IFX SE low-level Syscall API

## 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_packet | The pointer to the buffer with syscall parameters.
  [in] | ipc_packet_size | The size of the buffer with syscall parameters.
  [in] | *ctx | The 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_packet | The pointer to the buffer with syscall parameters.
  [in] | *ctx | The 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] | *ctx | The 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] | *ctx | The 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] | *ctx | The 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] | *ctx | The 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