Expand description
Sentry kernelspace/userspace shared types and values
§Usage
This module holds all the Sentry kernel types and values required by all other modules but also types that need to be used by upper layers in order to properly manipulate Sentry’s syscalls.
This module do not hold any function nor macro, but only all scalar and non-scalar types for userspace/Sentry-kernel exchanges.
Some types are snake case based because of the C export. None the less, they will be moved to standard Rust Caml case to stay conform to the Rust guildelines
Note: there is no bindgen nor cbindgen call in order to ensure FFI interface with the C language, to avoid any inter-languages naming and complexity (macros cases, static inline case and so on), meaning that the corresponding C types are defined in a dedicated include dir
Modules§
Enums§
- Alarm
Flag - Alarm type for alarm-related API
- CPUSleep
- Low power configuration support, defining the CPU sleep state exit event
- Erase
Mode - Erase mode that can be used to clear the SVC_Exchange.
- Erase
Type - Erase type that can be used to clear the SVC_Exchange.
- Event
Type - Definition of Sentry events
- Precision
- SHMPermission
- Permission model definition for shared memories
- Signal
- Sentry signals definition. Most of them are aligned on standard POSIX signals
- Sleep
Duration - Sleep durations input values for the sleep API
- Sleep
Mode - Sleep mode requested
- Status
- Sentry syscall return values
- Syscall
Type Aliases§
- Device
Handle - A device handle is a unique identifier required to manipulate a devive
- Device
Label - A device label is a development-time fixed identifier that can be used hardcoded in the source code in order to identify declared device. This label is, by now, the result of the device tree analysis but will be replaced by a clean outpost,label field at dts level, in the same way other label are set, to highly simplify userspace level usage. This label is used to get back the associated handle at run time.
- ShmHandle
- A SHM handle is a unique identifier required to manipulate a shared memory.
- ShmLabel
- A shm label is a development-time fixed identifier that can be used hardcoded in the source code. This label is set in the device-tree in the shm declaration, and can be used in order to get back the effective shm handler from it in order to manipulate it
- Stream
Handle - A DMA stream handle is a unique identifier required to manipulate a DMA stream.
- Stream
Label - A stream label is a development-time fixed identifier that can be used hardcoded in the source code in order to identify declared DMA streams. This label is set in the device-tree in the stream declaration, and can be used in order to get back the effective DMA stream handler from it in order to manipulate it
- Task
Handle - A task handle is a unique identifier required to communicate with another task.
- Task
Label - A process label is a development-time fixed identifier that can be used hardcoded in the source code. This can be used in order to get back remote process effective identifier from label at any time in order to communicate