|
RADPx-OS Kernel (Radical Posix OS)
Crimson 0.1.4
POSIX-inspired kernel API with embedded and desktop VM targets
|
Portable RADPx-OS kernel service ABI for RADLib and RADPx-OS targets. More...
#include <stddef.h>#include <stdint.h>#include <stdarg.h>
Include dependency graph for radkernel.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Macros | |
| #define | RADEK_VERSION_MAJOR 0 |
| Public constant or ioctl helper. | |
| #define | RADEK_VERSION_MINOR 1 |
| Public constant or ioctl helper. | |
| #define | RADEK_VERSION_PATCH 2 |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_NONE 0u |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_WRITE 1u |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_READ 2u |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_READWRITE 3u |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL(dir, type, nr, size) ((((uint32_t)(dir) & 3u) << 30) | (((uint32_t)(size) & 0x3fffu) << 16) | (((uint32_t)(type) & 0xffu) << 8) | ((uint32_t)(nr) & 0xffu)) |
| Public constant or ioctl helper. | |
| #define | RAD_IO(type, nr) RAD_IOCTL(RAD_IOCTL_NONE, type, nr, 0u) |
| Public constant or ioctl helper. | |
| #define | RAD_IOR(type, nr, type_name) RAD_IOCTL(RAD_IOCTL_READ, type, nr, sizeof(type_name)) |
| Public constant or ioctl helper. | |
| #define | RAD_IOW(type, nr, type_name) RAD_IOCTL(RAD_IOCTL_WRITE, type, nr, sizeof(type_name)) |
| Public constant or ioctl helper. | |
| #define | RAD_IOWR(type, nr, type_name) RAD_IOCTL(RAD_IOCTL_READWRITE, type, nr, sizeof(type_name)) |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_DIR(request) (((uint32_t)(request) >> 30) & 3u) |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_SIZE(request) (((uint32_t)(request) >> 16) & 0x3fffu) |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE(request) (((uint32_t)(request) >> 8) & 0xffu) |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_NR(request) ((uint32_t)(request) & 0xffu) |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE_I2C 'I' |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE_SPI 'S' |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE_AUDIO 'A' |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE_SERIAL 'T' |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE_FRAMEBUFFER 'F' |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE_INPUT 'K' |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE_BLOCK 'B' |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE_NET 'N' |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE_COMPOSITOR 'C' |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE_USB 'U' |
| Public constant or ioctl helper. | |
| #define | RAD_IOCTL_TYPE_TTY 'Y' |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_I2C_TRANSFER RAD_IOWR(RAD_IOCTL_TYPE_I2C, 1u, struct rad_i2c_transfer) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_SPI_TRANSFER RAD_IOWR(RAD_IOCTL_TYPE_SPI, 1u, struct rad_spi_transfer) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_AUDIO_CONFIGURE RAD_IOW(RAD_IOCTL_TYPE_AUDIO, 1u, struct rad_audio_format) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_SERIAL_CONFIGURE RAD_IOW(RAD_IOCTL_TYPE_SERIAL, 1u, struct rad_serial_config) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_FRAMEBUFFER_INFO RAD_IOR(RAD_IOCTL_TYPE_FRAMEBUFFER, 1u, struct rad_framebuffer_info) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_FRAMEBUFFER_FLUSH RAD_IOW(RAD_IOCTL_TYPE_FRAMEBUFFER, 2u, struct rad_framebuffer_rect) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_BLOCK_INFO RAD_IOR(RAD_IOCTL_TYPE_BLOCK, 1u, struct rad_block_info) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_BLOCK_READ RAD_IOWR(RAD_IOCTL_TYPE_BLOCK, 2u, struct rad_block_request) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_BLOCK_WRITE RAD_IOWR(RAD_IOCTL_TYPE_BLOCK, 3u, struct rad_block_request) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_BLOCK_FLUSH RAD_IO(RAD_IOCTL_TYPE_BLOCK, 4u) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_NET_LINK_INFO RAD_IOR(RAD_IOCTL_TYPE_NET, 1u, struct rad_net_link_info) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_NET_SEND RAD_IOW(RAD_IOCTL_TYPE_NET, 2u, struct rad_net_packet) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_NET_POLL RAD_IO(RAD_IOCTL_TYPE_NET, 3u) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_NET_RECV RAD_IOWR(RAD_IOCTL_TYPE_NET, 4u, struct rad_net_packet) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_NET_STACK_INFO RAD_IOR(RAD_IOCTL_TYPE_NET, 5u, struct rad_net_stack_info) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_NET_NTP_QUERY RAD_IOWR(RAD_IOCTL_TYPE_NET, 6u, struct rad_ntp_query) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_NET_CONFIGURE RAD_IOW(RAD_IOCTL_TYPE_NET, 7u, struct rad_net_stack_config) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_COMPOSITOR_CREATE_SURFACE RAD_IOWR(RAD_IOCTL_TYPE_COMPOSITOR, 1u, struct rad_compositor_ipc_surface) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_COMPOSITOR_QUEUE_DAMAGE RAD_IOW(RAD_IOCTL_TYPE_COMPOSITOR, 2u, struct rad_compositor_ipc_damage) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_FRAMEBUFFER_PRESENT RAD_IOW(RAD_IOCTL_TYPE_FRAMEBUFFER, 3u, struct rad_framebuffer_present) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_USB_HOST_INFO RAD_IOR(RAD_IOCTL_TYPE_USB, 1u, struct rad_usb_host_info) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_TTY_GET_WINSIZE RAD_IOR(RAD_IOCTL_TYPE_TTY, 1u, struct rad_tty_window_size) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_TTY_SET_WINSIZE RAD_IOW(RAD_IOCTL_TYPE_TTY, 2u, struct rad_tty_window_size) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_TTY_GET_MODE RAD_IOR(RAD_IOCTL_TYPE_TTY, 3u, uint32_t) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_TTY_SET_MODE RAD_IOW(RAD_IOCTL_TYPE_TTY, 4u, uint32_t) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_TTY_GET_TERMIOS RAD_IOR(RAD_IOCTL_TYPE_TTY, 5u, struct rad_tty_termios) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_TTY_SET_TERMIOS RAD_IOW(RAD_IOCTL_TYPE_TTY, 6u, struct rad_tty_termios) |
| Public constant or ioctl helper. | |
| #define | RAD_DEVICE_IOCTL_TTY_FLUSH RAD_IOW(RAD_IOCTL_TYPE_TTY, 7u, uint32_t) |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_MAX_ARGS 16u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_MAX_MEMORY_REGIONS 8u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_MAX_STRING 64u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_HANDOFF_MAGIC 0x52414448u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_HANDOFF_VERSION 1u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_HANDOFF_FLAG_SECONDARIES_PARKED 0x00000001u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_HANDOFF_FLAG_MMU_DISABLED 0x00000002u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_HANDOFF_FLAG_DCACHE_DISABLED 0x00000004u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_HANDOFF_FLAG_ICACHE_INVALIDATED 0x00000008u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_HANDOFF_FLAG_TLB_INVALIDATED 0x00000010u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_HANDOFF_FLAG_INTERRUPTS_MASKED 0x00000020u |
| Public constant or ioctl helper. | |
| #define | RAD_OVERLAY_MAGIC 0x4f444152u |
| Public constant or ioctl helper. | |
| #define | RAD_OVERLAY_VERSION 1u |
| Public constant or ioctl helper. | |
| #define | RAD_TREE_MAX_PROPERTY_NAME 64u |
| Public constant or ioctl helper. | |
| #define | RAD_TREE_MAX_PATH 96u |
| Public constant or ioctl helper. | |
| #define | RAD_TREE_MAX_VALUE 96u |
| Public constant or ioctl helper. | |
| #define | RAD_I2C_BUS_NAME_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_SPI_BUS_NAME_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_DRIVER_NAME_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_COMPATIBLE_MAX 64u |
| Public constant or ioctl helper. | |
| #define | RAD_MODULE_NAME_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_MODULE_MAX_INFO 32u |
| Public constant or ioctl helper. | |
| #define | RAD_SERVICE_NAME_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_SERVICE_COMPATIBLE_MAX 64u |
| Public constant or ioctl helper. | |
| #define | RAD_SERVICE_CAPABILITY_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_IRQ_NAME_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_IRQ_DOMAIN_NAME_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_IRQ_MAX_RESOURCES 4u |
| Public constant or ioctl helper. | |
| #define | RAD_FRAMEBUFFER_NAME_MAX 64u |
| Public constant or ioctl helper. | |
| #define | RAD_DISPLAY_CONNECTOR_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_FRAMEBUFFER_MAX_MODES 8u |
| Public constant or ioctl helper. | |
| #define | RAD_SHM_NAME_MAX 64u |
| Public constant or ioctl helper. | |
| #define | RAD_SHM_MAX_PAGES 16u |
| Public constant or ioctl helper. | |
| #define | RAD_MMAP_PROT_READ 1u |
| Public constant or ioctl helper. | |
| #define | RAD_MMAP_PROT_WRITE 2u |
| Public constant or ioctl helper. | |
| #define | RAD_MMAP_SHARED 1u |
| Public constant or ioctl helper. | |
| #define | RAD_MMAP_PRIVATE 2u |
| Public constant or ioctl helper. | |
| #define | RAD_COMPOSITOR_DAMAGE_EXPOSED 1u |
| Public constant or ioctl helper. | |
| #define | RAD_AF_INET 2u |
| Public constant or ioctl helper. | |
| #define | RAD_SOCK_DGRAM 2u |
| Public constant or ioctl helper. | |
| #define | RAD_SOCK_STREAM 1u |
| Public constant or ioctl helper. | |
| #define | RAD_IPPROTO_UDP 17u |
| Public constant or ioctl helper. | |
| #define | RAD_IPPROTO_TCP 6u |
| Public constant or ioctl helper. | |
| #define | RAD_PERF_NAME_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_TIMER_NAME_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_INPUT_QUEUE_NAME_MAX 64u |
| Public constant or ioctl helper. | |
| #define | RAD_WAIT_FOREVER 0xffffffffu |
| Public constant or ioctl helper. | |
| #define | RAD_LOG_CATEGORY_MAX 32u |
| Public constant or ioctl helper. | |
| #define | RAD_LOG_MESSAGE_MAX 192u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_MEMORY_USABLE 1u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_MEMORY_RESERVED 2u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_MEMORY_PSRAM 3u |
| Public constant or ioctl helper. | |
| #define | RAD_BOOT_MEMORY_MMIO 4u |
| Public constant or ioctl helper. | |
| #define | RAD_WAIT_NOHANG 1u |
| Public constant or ioctl helper. | |
| #define | RAD_FD_CLOEXEC 1u |
| Public constant or ioctl helper. | |
| #define | RAD_FD_NONBLOCK 256u |
| Public constant or ioctl helper. | |
| #define | RAD_FCNTL_GETFD 1u |
| Public constant or ioctl helper. | |
| #define | RAD_FCNTL_SETFD 2u |
| Public constant or ioctl helper. | |
| #define | RAD_FCNTL_GETFL 3u |
| Public constant or ioctl helper. | |
| #define | RAD_FCNTL_SETFL 4u |
| Public constant or ioctl helper. | |
| #define | RAD_POLLIN 0x0001 |
| Data other than high-priority data may be read. | |
| #define | RAD_POLLOUT 0x0004 |
| Normal data may be written. | |
| #define | RAD_POLLERR 0x0008 |
| Error condition. | |
| #define | RAD_POLLHUP 0x0010 |
| Hung up. | |
| #define | RAD_POLLNVAL 0x0020 |
| Invalid file descriptor. | |
| #define | RAD_TASK_CORE_ANY (-1) |
| Public constant or ioctl helper. | |
| #define | RAD_TASK_CORE_SERVICE 0 |
| Public constant or ioctl helper. | |
| #define | RAD_TTY_NCCS 32u |
| Number of POSIX-shaped terminal control character slots. | |
| #define | RAD_TTY_FLUSH_INPUT 1u |
| Flush pending input bytes from a RADPx-OS TTY or PTY endpoint. | |
| #define | RAD_TTY_FLUSH_OUTPUT 2u |
| Flush pending output bytes from a RADPx-OS TTY or PTY endpoint. | |
Typedefs | |
| typedef enum rad_status | rad_status_t |
| Public enumeration for rad_status. More... | |
| typedef enum rad_log_level | rad_log_level_t |
| Public enumeration for rad_log_level. More... | |
| typedef enum rad_kernel_print_level | rad_kernel_print_level_t |
| Kernel-only printk severity. More... | |
| typedef enum rad_posix_syscall | rad_posix_syscall_t |
| Public enumeration for rad_posix_syscall. More... | |
| typedef enum rad_process_state | rad_process_state_t |
| Public enumeration for rad_process_state. More... | |
| typedef enum rad_vfs_open_flags | rad_vfs_open_flags_t |
| Public enumeration for rad_vfs_open_flags. More... | |
| typedef enum rad_seek_origin | rad_seek_origin_t |
| Public enumeration for rad_seek_origin. More... | |
| typedef uint32_t | rad_uid_t |
| POSIX-style user identifier. | |
| typedef uint32_t | rad_gid_t |
| POSIX-style group identifier. | |
| typedef struct rad_credentials | rad_credentials_t |
| Public data structure for process credentials. More... | |
| typedef enum rad_device_type | rad_device_type_t |
| Public enumeration for rad_device_type. More... | |
| typedef enum rad_usb_controller_type | rad_usb_controller_type_t |
| Public enumeration for rad_usb_controller_type. More... | |
| typedef enum rad_usb_device_class | rad_usb_device_class_t |
| Public enumeration for rad_usb_device_class. More... | |
| typedef enum rad_input_event_type | rad_input_event_type_t |
| Public enumeration for rad_input_event_type. More... | |
| typedef enum rad_input_key | rad_input_key_t |
| Public enumeration for rad_input_key. More... | |
| typedef enum rad_input_modifier_flags | rad_input_modifier_flags_t |
| Public enumeration for rad_input_modifier_flags. More... | |
| typedef enum rad_input_pointer_button_flags | rad_input_pointer_button_flags_t |
| Public enumeration for rad_input_pointer_button_flags. More... | |
| typedef enum rad_pixel_format | rad_pixel_format_t |
| Public enumeration for rad_pixel_format. More... | |
| typedef enum rad_sd_mode | rad_sd_mode_t |
| Public enumeration for rad_sd_mode. More... | |
| typedef enum rad_spi_transfer_mode | rad_spi_transfer_mode_t |
| Public enumeration for rad_spi_transfer_mode. More... | |
| typedef enum rad_dma_transfer_type | rad_dma_transfer_type_t |
| Public enumeration for rad_dma_transfer_type. More... | |
| typedef enum rad_dma_request_id | rad_dma_request_id_t |
| Public enumeration for rad_dma_request_id. More... | |
| typedef enum rad_display_output_type | rad_display_output_type_t |
| Public enumeration for rad_display_output_type. More... | |
| typedef enum rad_tty_mode_flags | rad_tty_mode_flags_t |
| Public enumeration for rad_tty_mode_flags. More... | |
| typedef enum rad_irq_trigger | rad_irq_trigger_t |
| Public enumeration for rad_irq_trigger. More... | |
| typedef enum rad_task_state | rad_task_state_t |
| Public enumeration for rad_task_state. More... | |
| typedef struct rad_kernel_config | rad_kernel_config_t |
| Public data structure for rad_kernel_config. More... | |
| typedef struct rad_boot_arg | rad_boot_arg_t |
| Public data structure for rad_boot_arg. More... | |
| typedef struct rad_boot_memory_region | rad_boot_memory_region_t |
| Public data structure for rad_boot_memory_region. More... | |
| typedef struct rad_boot_info | rad_boot_info_t |
| Public data structure for rad_boot_info. More... | |
| typedef struct rad_boot_handoff | rad_boot_handoff_t |
| Public data structure for rad_boot_handoff. More... | |
| typedef struct rad_memory_stats | rad_memory_stats_t |
| Public data structure for rad_memory_stats. More... | |
| typedef struct rad_perf_counter_info | rad_perf_counter_info_t |
| Public data structure for rad_perf_counter_info. More... | |
| typedef struct rad_timer_source_config | rad_timer_source_config_t |
| Public data structure for rad_timer_source_config. More... | |
| typedef struct rad_timer_source_ops | rad_timer_source_ops_t |
| Public data structure for rad_timer_source_ops. More... | |
| typedef struct rad_timer_source_info | rad_timer_source_info_t |
| Public data structure for rad_timer_source_info. More... | |
| typedef struct rad_task_info | rad_task_info_t |
| Public data structure for rad_task_info. More... | |
| typedef struct rad_task_config | rad_task_config_t |
| Public data structure for rad_task_config. More... | |
| typedef struct rad_core_info | rad_core_info_t |
| Public data structure for rad_core_info. More... | |
| typedef enum rad_scheduler_mode | rad_scheduler_mode_t |
| Public enumeration for rad_scheduler_mode. More... | |
| typedef struct rad_scheduler_info | rad_scheduler_info_t |
| Public data structure for rad_scheduler_info. More... | |
| typedef enum rad_tree_property_type | rad_tree_property_type_t |
| Public enumeration for rad_tree_property_type. More... | |
| typedef struct rad_tree_node_handle * | rad_tree_node_t |
| Opaque handle type rad_tree_node_t backed by rad_tree_node_handle. | |
| typedef struct rad_tree_node_info | rad_tree_node_info_t |
| Public data structure for rad_tree_node_info. More... | |
| typedef struct rad_overlay_info | rad_overlay_info_t |
| Public data structure for rad_overlay_info. More... | |
| typedef struct rad_vfs_stat | rad_vfs_stat_t |
| Public data structure for rad_vfs_stat. More... | |
| typedef struct rad_block_info | rad_block_info_t |
| Public data structure for rad_block_info. More... | |
| typedef struct rad_block_request | rad_block_request_t |
| Public data structure for rad_block_request. More... | |
| typedef struct rad_usb_host_info | rad_usb_host_info_t |
| Public data structure for rad_usb_host_info. More... | |
| typedef struct rad_mac_address | rad_mac_address_t |
| Public data structure for rad_mac_address. More... | |
| typedef struct rad_ipv4_address | rad_ipv4_address_t |
| Public data structure for rad_ipv4_address. More... | |
| typedef struct rad_net_packet | rad_net_packet_t |
| Public data structure for rad_net_packet. More... | |
| typedef struct rad_net_link_info | rad_net_link_info_t |
| Public data structure for rad_net_link_info. More... | |
| typedef struct rad_net_stack_info | rad_net_stack_info_t |
| Public data structure for rad_net_stack_info. More... | |
| typedef struct rad_net_stack_config | rad_net_stack_config_t |
| Public data structure for rad_net_stack_config. More... | |
| typedef struct rad_ntp_status | rad_ntp_status_t |
| Public data structure for rad_ntp_status. More... | |
| typedef struct rad_ntp_query | rad_ntp_query_t |
| Public data structure for rad_ntp_query. More... | |
| typedef struct rad_sockaddr_in | rad_sockaddr_in_t |
| Public data structure for rad_sockaddr_in. More... | |
| typedef enum rad_tcp_state | rad_tcp_state_t |
| Public enumeration for rad_tcp_state. More... | |
| typedef struct rad_socket_info | rad_socket_info_t |
| Public data structure for rad_socket_info. More... | |
| typedef struct rad_posix_timeval | rad_posix_timeval_t |
| Public data structure for rad_posix_timeval. More... | |
| typedef struct rad_pollfd | rad_pollfd_t |
| POSIX-style poll descriptor used by RADPx-OS userland. More... | |
| typedef struct rad_process_info | rad_process_info_t |
| Public data structure for rad_process_info. More... | |
| typedef struct rad_process_arch_ops | rad_process_arch_ops_t |
| Public data structure for rad_process_arch_ops. More... | |
| typedef struct rad_vfs_dirent | rad_vfs_dirent_t |
| Public data structure for rad_vfs_dirent. More... | |
| typedef struct rad_dirent_user | rad_dirent_user_t |
| Public data structure for userspace directory enumeration. More... | |
| typedef int(* | rad_vfs_list_callback_t) (const char *name, const rad_vfs_stat_t *stat, void *context) |
| Public callback typedef used by the RADPx-OS API. | |
| typedef struct rad_vfs_backend_ops | rad_vfs_backend_ops_t |
| Public data structure for rad_vfs_backend_ops. More... | |
| typedef enum rad_program_state | rad_program_state_t |
| Public enumeration for rad_program_state. More... | |
| typedef struct rad_program_info | rad_program_info_t |
| Public data structure for rad_program_info. More... | |
| typedef struct rad_device_ops | rad_device_ops_t |
| Public data structure for rad_device_ops. More... | |
| typedef struct rad_input_event | rad_input_event_t |
| Public data structure for rad_input_event. More... | |
| typedef struct rad_framebuffer_rect | rad_framebuffer_rect_t |
| Public data structure for rad_framebuffer_rect. More... | |
| typedef struct rad_framebuffer_info | rad_framebuffer_info_t |
| Public data structure for rad_framebuffer_info. More... | |
| typedef struct rad_framebuffer_present | rad_framebuffer_present_t |
| Public data structure for rad_framebuffer_present. More... | |
| typedef struct rad_display_mode | rad_display_mode_t |
| Public data structure for rad_display_mode. More... | |
| typedef struct rad_framebuffer_ops | rad_framebuffer_ops_t |
| Public data structure for rad_framebuffer_ops. More... | |
| typedef struct rad_framebuffer_handle * | rad_framebuffer_t |
| Opaque handle type rad_framebuffer_t backed by rad_framebuffer_handle. | |
| typedef struct rad_framebuffer_config | rad_framebuffer_config_t |
| Public data structure for rad_framebuffer_config. More... | |
| typedef struct rad_framebuffer_display_info | rad_framebuffer_display_info_t |
| Public data structure for rad_framebuffer_display_info. More... | |
| typedef struct rad_shm_info | rad_shm_info_t |
| Public data structure for rad_shm_info. More... | |
| typedef struct rad_compositor_ipc_surface | rad_compositor_ipc_surface_t |
| Public data structure for rad_compositor_ipc_surface. More... | |
| typedef struct rad_compositor_ipc_damage | rad_compositor_ipc_damage_t |
| Public data structure for rad_compositor_ipc_damage. More... | |
| typedef struct rad_i2c_transfer | rad_i2c_transfer_t |
| Public data structure for rad_i2c_transfer. More... | |
| typedef struct rad_i2c_bus_handle * | rad_i2c_bus_t |
| Opaque handle type rad_i2c_bus_t backed by rad_i2c_bus_handle. | |
| typedef struct rad_i2c_device | rad_i2c_device_t |
| Forward-declared public type rad_i2c_device_t backed by rad_i2c_device. | |
| typedef struct rad_i2c_controller_ops | rad_i2c_controller_ops_t |
| Public data structure for rad_i2c_controller_ops. More... | |
| typedef struct rad_i2c_controller_config | rad_i2c_controller_config_t |
| Public data structure for rad_i2c_controller_config. More... | |
| typedef struct rad_i2c_driver | rad_i2c_driver_t |
| Public data structure for rad_i2c_driver. More... | |
| typedef struct rad_spi_transfer | rad_spi_transfer_t |
| Public data structure for rad_spi_transfer. More... | |
| typedef struct rad_spi_bus_handle * | rad_spi_bus_t |
| Opaque handle type rad_spi_bus_t backed by rad_spi_bus_handle. | |
| typedef struct rad_spi_device | rad_spi_device_t |
| Forward-declared public type rad_spi_device_t backed by rad_spi_device. | |
| typedef struct rad_dma_channel_handle * | rad_dma_channel_t |
| Opaque handle type rad_dma_channel_t backed by rad_dma_channel_handle. | |
| typedef struct rad_dma_transfer | rad_dma_transfer_t |
| Public data structure for rad_dma_transfer. More... | |
| typedef struct rad_dma_backend_ops | rad_dma_backend_ops_t |
| Public data structure for rad_dma_backend_ops. More... | |
| typedef struct rad_dma_controller_config | rad_dma_controller_config_t |
| Public data structure for rad_dma_controller_config. More... | |
| typedef struct rad_spi_controller_ops | rad_spi_controller_ops_t |
| Public data structure for rad_spi_controller_ops. More... | |
| typedef struct rad_spi_controller_config | rad_spi_controller_config_t |
| Public data structure for rad_spi_controller_config. More... | |
| typedef struct rad_spi_driver | rad_spi_driver_t |
| Public data structure for rad_spi_driver. More... | |
| typedef struct rad_module_descriptor | rad_module_descriptor_t |
| Public data structure for rad_module_descriptor. More... | |
| typedef enum rad_module_state | rad_module_state_t |
| Public enumeration for rad_module_state. More... | |
| typedef enum rad_service_state | rad_service_state_t |
| Public enumeration for rad_service_state. More... | |
| typedef struct rad_module_info | rad_module_info_t |
| Public data structure for rad_module_info. More... | |
| typedef struct rad_service_config | rad_service_config_t |
| Public data structure for rad_service_config. More... | |
| typedef struct rad_service_descriptor | rad_service_descriptor_t |
| Public data structure for rad_service_descriptor. More... | |
| typedef struct rad_service_info | rad_service_info_t |
| Public data structure for rad_service_info. More... | |
| typedef struct rad_driver_info | rad_driver_info_t |
| Public data structure for rad_driver_info. More... | |
| typedef struct rad_irq_domain_handle * | rad_irq_domain_t |
| Opaque handle type rad_irq_domain_t backed by rad_irq_domain_handle. | |
| typedef struct rad_irq_domain_config | rad_irq_domain_config_t |
| Public data structure for rad_irq_domain_config. More... | |
| typedef struct rad_irq_resource | rad_irq_resource_t |
| Public data structure for rad_irq_resource. More... | |
| typedef struct rad_i2c_device_info | rad_i2c_device_info_t |
| Public data structure for rad_i2c_device_info. More... | |
| typedef struct rad_spi_device_info | rad_spi_device_info_t |
| Public data structure for rad_spi_device_info. More... | |
| typedef struct rad_dma_channel_info | rad_dma_channel_info_t |
| Public data structure for rad_dma_channel_info. More... | |
| typedef struct rad_irq_info | rad_irq_info_t |
| Public data structure for rad_irq_info. More... | |
| typedef struct rad_audio_format | rad_audio_format_t |
| Public data structure for rad_audio_format. More... | |
| typedef struct rad_serial_config | rad_serial_config_t |
| Public data structure for rad_serial_config. More... | |
| typedef struct rad_sd_config | rad_sd_config_t |
| Public data structure for rad_sd_config. More... | |
| typedef void(* | rad_task_entry_t) (void *context) |
| Public callback typedef used by the RADPx-OS API. | |
| typedef void(* | rad_terminal_write_t) (const char *text, void *context) |
| Public callback typedef used by the RADPx-OS API. | |
| typedef rad_status_t(* | rad_terminal_handler_t) (int argc, const char **argv, rad_terminal_write_t write, void *write_context, void *command_context) |
| Public callback typedef used by the RADPx-OS API. | |
| typedef void(* | rad_tty_output_t) (const void *data, size_t size, void *context) |
| Public callback typedef used by the RADPx-OS API. | |
| typedef void(* | rad_irq_handler_t) (uint32_t irq, void *context) |
| Public callback typedef used by the RADPx-OS API. | |
| typedef void(* | rad_work_handler_t) (void *context) |
| Public callback typedef used by the RADPx-OS API. | |
| typedef struct rad_task_handle * | rad_task_t |
| Opaque handle type rad_task_t backed by rad_task_handle. | |
| typedef struct rad_mutex_handle * | rad_mutex_t |
| Opaque handle type rad_mutex_t backed by rad_mutex_handle. | |
| typedef struct rad_event_handle * | rad_event_t |
| Opaque handle type rad_event_t backed by rad_event_handle. | |
| typedef struct rad_wait_queue_handle * | rad_wait_queue_t |
| Opaque handle type rad_wait_queue_t backed by rad_wait_queue_handle. | |
| typedef struct rad_input_queue_handle * | rad_input_queue_t |
| Opaque handle type rad_input_queue_t backed by rad_input_queue_handle. | |
| typedef struct rad_file_handle * | rad_file_t |
| Opaque handle type rad_file_t backed by rad_file_handle. | |
| typedef struct rad_dir_handle * | rad_dir_t |
| Opaque handle type rad_dir_t backed by rad_dir_handle. | |
| typedef struct rad_device_handle * | rad_device_t |
| Opaque handle type rad_device_t backed by rad_device_handle. | |
| typedef struct rad_program_handle * | rad_program_t |
| Opaque handle type rad_program_t backed by rad_program_handle. | |
| typedef struct rad_tty_handle * | rad_tty_t |
| Opaque handle type rad_tty_t backed by rad_tty_handle. | |
| typedef struct rad_pty_handle * | rad_pty_t |
| Opaque handle type rad_pty_t backed by rad_pty_handle. | |
| typedef struct rad_tty_window_size | rad_tty_window_size_t |
| Public data structure for rad_tty_window_size. More... | |
| typedef struct rad_tty_termios | rad_tty_termios_t |
| POSIX-shaped terminal attributes stored by RADPx-OS TTY devices. More... | |
| typedef struct rad_log_entry | rad_log_entry_t |
| Public data structure for rad_log_entry. More... | |
Functions | |
| rad_status_t | rad_kernel_init (const rad_kernel_config_t *config) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_kernel_shutdown (void) |
| Public RADPx-OS kernel API entry point. | |
| int | rad_kernel_is_initialized (void) |
| Public RADPx-OS kernel API entry point. | |
| const char * | rad_kernel_backend_name (void) |
| Return the active backend name string. | |
| const char * | rad_kernel_version_string (void) |
| Return the kernel version string. | |
| rad_status_t | rad_kernel_poll (void) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_kernel_run (void) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_kernel_request_shutdown (void) |
| Public RADPx-OS kernel API entry point. | |
| int | rad_kernel_is_shutdown_requested (void) |
| Public RADPx-OS kernel API entry point. | |
| int | rad_vprintk (const char *format, va_list args) |
| Public RADPx-OS kernel API entry point. | |
| int | rad_printk (const char *format,...) |
| Public RADPx-OS kernel API entry point. | |
| int | rad_vkprintk (rad_kernel_print_level_t level, const char *format, va_list args) |
| Public RADPx-OS kernel API entry point. | |
| int | rad_kprintk (rad_kernel_print_level_t level, const char *format,...) |
| Public RADPx-OS kernel API entry point. | |
| int | rad_early_vprintk (const char *format, va_list args) |
| Public RADPx-OS kernel API entry point. | |
| int | rad_early_printk (const char *format,...) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_debug_marker (const char *marker) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_log_write (rad_log_level_t level, const char *category, const char *message) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_log_read (rad_log_entry_t *entries, size_t capacity, uint64_t after_sequence) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_log_flush_to_path (const char *path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_cpu_interrupts_enable (void) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_cpu_interrupts_disable (void) |
| Public RADPx-OS kernel API entry point. | |
| int | rad_cpu_interrupts_enabled (void) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_cpu_idle (void) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_cpu_halt_forever (void) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_boot_info_set (const rad_boot_info_t *boot_info) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_boot_info_get (rad_boot_info_t *boot_info) |
| Public RADPx-OS kernel API entry point. | |
| const char * | rad_boot_arg_get (const char *key) |
| Return a boot argument value by key, or nullptr when absent. | |
| uint64_t | rad_time_micros (void) |
| Public RADPx-OS kernel API entry point. | |
| uint64_t | rad_time_millis (void) |
| Public RADPx-OS kernel API entry point. | |
| uint64_t | rad_realtime_micros (void) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_realtime_set_micros (uint64_t unix_micros) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_sleep_ms (uint32_t milliseconds) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_sleep_us (uint32_t microseconds) |
| Public RADPx-OS kernel API entry point. | |
| uint64_t | rad_perf_now_cycles (void) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_perf_counter_add (const char *name, uint64_t delta) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_perf_counter_list (rad_perf_counter_info_t *counters, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_work_submit (const char *name, rad_work_handler_t handler, void *context) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_work_poll (size_t budget, size_t *ran) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_wait_queue_create (rad_wait_queue_t *queue) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_wait_queue_destroy (rad_wait_queue_t queue) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_wait_queue_wait (rad_wait_queue_t queue, uint32_t timeout_ms) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_wait_queue_wake_one (rad_wait_queue_t queue) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_wait_queue_wake_all (rad_wait_queue_t queue) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_timer_source_register (const rad_timer_source_config_t *config, const rad_timer_source_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_timer_source_unregister (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_timer_tick (uint64_t elapsed_micros) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_timer_schedule_oneshot (uint64_t delay_micros) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_timer_cancel_oneshot (void) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_timer_list (rad_timer_source_info_t *timers, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_task_create (rad_task_t *task, const char *name, rad_task_entry_t entry, void *context, size_t stack_size) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_task_create_config (rad_task_t *task, const rad_task_config_t *config, rad_task_entry_t entry, void *context) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_task_join (rad_task_t task) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_task_detach (rad_task_t task) |
| Public RADPx-OS kernel API entry point. | |
| uint64_t | rad_task_current_id (void) |
| Public RADPx-OS kernel API entry point. | |
| int | rad_task_current_core (void) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_task_yield (void) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_task_sleep_ms (uint32_t milliseconds) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_task_sleep_us (uint32_t microseconds) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_task_list (rad_task_info_t *tasks, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_core_info_get (rad_core_info_t *info) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_scheduler_info_get (rad_scheduler_info_t *info) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_scheduler_yield_from_irq (void) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_scheduler_set_preemption_enabled (int enabled) |
| Public RADPx-OS kernel API entry point. | |
| uint32_t | rad_scheduler_current_core (void) |
| Public RADPx-OS kernel API entry point. | |
| uint32_t | rad_scheduler_online_core_mask (void) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_mutex_create (rad_mutex_t *mutex) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_mutex_destroy (rad_mutex_t mutex) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_mutex_lock (rad_mutex_t mutex) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_mutex_unlock (rad_mutex_t mutex) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_event_create (rad_event_t *event, int initially_signaled) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_event_destroy (rad_event_t event) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_event_wait (rad_event_t event, uint32_t timeout_ms) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_event_signal (rad_event_t event) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_event_reset (rad_event_t event) |
| Public RADPx-OS kernel API entry point. | |
| void * | rad_memory_alloc (size_t size) |
| Allocate kernel-managed memory. | |
| void | rad_memory_free (void *pointer) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_memory_get_stats (rad_memory_stats_t *stats) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_mount_host (const char *mount_point, const char *host_path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_mount_sd (const rad_sd_config_t *config) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_mount_provider (const char *mount_point, const rad_vfs_backend_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_unmount (const char *mount_point) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_open (const char *path, uint32_t flags, rad_file_t *file) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_read (rad_file_t file, void *buffer, size_t size, size_t *bytes_read) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_write (rad_file_t file, const void *buffer, size_t size, size_t *bytes_written) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_seek (rad_file_t file, int64_t offset, rad_seek_origin_t origin) |
| Public RADPx-OS kernel API entry point. | |
| uint64_t | rad_vfs_tell (rad_file_t file) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_vfs_close (rad_file_t file) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_stat (const char *path, rad_vfs_stat_t *stat) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_list (const char *path, rad_vfs_list_callback_t callback, void *context) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_mkdir (const char *path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_remove (const char *path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_rename (const char *old_path, const char *new_path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_rmdir (const char *path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_fsync (rad_file_t file) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_truncate (const char *path, uint64_t size) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_readlink (const char *path, char *buffer, size_t size) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_symlink (const char *target, const char *link_path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_link (const char *old_path, const char *new_path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_chmod (const char *path, uint32_t mode) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_chdir (const char *path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_getcwd (char *buffer, size_t size) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_opendir (const char *path, rad_dir_t *dir) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_vfs_readdir (rad_dir_t dir, rad_vfs_dirent_t *entry) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_vfs_closedir (rad_dir_t dir) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_current_pid (void) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_parent_pid (void) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_fork (void) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_execve (const char *path, const char *const argv[]) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_waitpid (int32_t pid, int32_t *status, uint32_t options) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_process_exit (int32_t status) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_kill (int32_t pid, int32_t signal_number) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_process_list (rad_process_info_t *processes, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_create (const char *path, int32_t parent_pid) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_process_attach_task (int32_t pid, rad_task_t task) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_process_set_current_pid (int32_t pid) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_process_mark_exec (int32_t pid, const char *path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_process_clone_fds (int32_t parent_pid, int32_t child_pid) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_process_arch_register (const rad_process_arch_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_fork_from_arch_frame (void *trap_frame) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_reap (int32_t pid, int32_t *status) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_process_get_credentials (int32_t pid, rad_credentials_t *credentials) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_process_set_credentials (int32_t pid, const rad_credentials_t *credentials) |
| Public RADPx-OS kernel API entry point. | |
| rad_uid_t | rad_process_getuid (void) |
| Public RADPx-OS kernel API entry point. | |
| rad_uid_t | rad_process_geteuid (void) |
| Public RADPx-OS kernel API entry point. | |
| rad_gid_t | rad_process_getgid (void) |
| Public RADPx-OS kernel API entry point. | |
| rad_gid_t | rad_process_getegid (void) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_process_setuid (rad_uid_t uid) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_process_setgid (rad_gid_t gid) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_getpgid (int32_t pid) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_setpgid (int32_t pid, int32_t pgid) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_getsid (int32_t pid) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_setsid (void) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_tcgetpgrp (int32_t fd) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_process_tcsetpgrp (int32_t fd, int32_t pgid) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_module_register (const rad_module_descriptor_t *descriptor) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_module_unregister (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_module_list (rad_module_info_t *modules, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_service_register (const rad_service_descriptor_t *descriptor) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_service_unregister (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_service_configure (const char *name, const rad_service_config_t *config) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_service_configure_tree (rad_tree_node_t node) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_service_start (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_service_stop (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_service_poll_all (void) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_service_list (rad_service_info_t *services, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_irq_register (uint32_t irq, const char *name, rad_irq_handler_t handler, void *context) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_irq_unregister (uint32_t irq) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_irq_enable (uint32_t irq) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_irq_disable (uint32_t irq) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_irq_dispatch (uint32_t irq) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_irq_list (rad_irq_info_t *irqs, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_irq_domain_register (const rad_irq_domain_config_t *config, rad_irq_domain_t *domain) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_irq_domain_unregister (const char *tree_path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_irq_domain_find (const char *tree_path, rad_irq_domain_t *domain) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_irq_resolve_tree (rad_tree_node_t node, rad_irq_resource_t *resources, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_irq_resource_enable (const rad_irq_resource_t *resource) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_irq_resource_disable (const rad_irq_resource_t *resource) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_irq_resource_register_handler (const rad_irq_resource_t *resource, const char *name, rad_irq_handler_t handler, void *context) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_fd_open (const char *path, uint32_t flags) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_fd_close (int32_t fd) |
| Public RADPx-OS kernel API entry point. | |
| intptr_t | rad_fd_read (int32_t fd, void *buffer, size_t size) |
| Public RADPx-OS kernel API entry point. | |
| intptr_t | rad_fd_write (int32_t fd, const void *buffer, size_t size) |
| Public RADPx-OS kernel API entry point. | |
| int64_t | rad_fd_lseek (int32_t fd, int64_t offset, rad_seek_origin_t origin) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_fd_ioctl (int32_t fd, uint32_t request, void *argument) |
| Public RADPx-OS kernel API entry point. | |
| intptr_t | rad_fd_getdents (int32_t fd, rad_dirent_user_t *entries, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_fd_stat (const char *path, rad_vfs_stat_t *stat) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_fd_fstat (int32_t fd, rad_vfs_stat_t *stat) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_fd_fchdir (int32_t fd) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_fd_ftruncate (int32_t fd, uint64_t size) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_fd_dup (int32_t fd) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_fd_dup2 (int32_t old_fd, int32_t new_fd) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_fd_fcntl (int32_t fd, uint32_t command, uintptr_t argument) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_fd_poll (rad_pollfd_t *fds, size_t count, int32_t timeout_ms) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_pipe_create (int32_t pipefd[2]) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_shm_open (const char *name, size_t byte_size, uint32_t flags) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_shm_unlink (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_shm_get_info (int32_t fd, rad_shm_info_t *info) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_shm_set_page (int32_t fd, size_t page_index, uintptr_t page_token) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_shm_get_page (int32_t fd, size_t page_index, uintptr_t *page_token) |
| Public RADPx-OS kernel API entry point. | |
| void * | rad_shm_kernel_pointer (int32_t fd) |
| Public RADPx-OS kernel API entry point. | |
| intptr_t | rad_syscall_dispatch (uintptr_t number, uintptr_t arg0, uintptr_t arg1, uintptr_t arg2, uintptr_t arg3, uintptr_t arg4, uintptr_t arg5) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_program_load (const char *path, rad_program_t *program) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_program_spawn (rad_program_t program, int argc, const char **argv, rad_task_t *task) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_program_unload (rad_program_t program) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_program_list (rad_program_info_t *programs, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_overlay_load_memory (const void *data, size_t size) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_overlay_load_file (const char *path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_overlay_apply_boot (void) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_overlay_list (rad_overlay_info_t *overlays, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_tree_list (rad_tree_node_info_t *nodes, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_tree_node_t | rad_tree_find (const char *path) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tree_get_property_u32 (rad_tree_node_t node, const char *name, uint32_t *value) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_tree_get_property_u32_array (rad_tree_node_t node, const char *name, uint32_t *values, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tree_get_property_bool (rad_tree_node_t node, const char *name, int *value) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tree_get_property_string (rad_tree_node_t node, const char *name, char *buffer, size_t size) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_device_register (const char *name, rad_device_type_t type, const rad_device_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_device_unregister (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_device_open (const char *name, rad_device_t *device) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_device_close (rad_device_t device) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_device_read (rad_device_t device, void *buffer, size_t size, size_t *bytes_read) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_device_write (rad_device_t device, const void *buffer, size_t size, size_t *bytes_written) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_device_ioctl (rad_device_t device, uint32_t request, void *argument) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_device_list (char names[][64], rad_device_type_t *types, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_input_device_register (const char *name, const rad_device_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_input_device_unregister (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_input_open (const char *name, rad_device_t *device) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_input_read_event (rad_device_t device, rad_input_event_t *event) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_input_queue_create (const char *name, size_t capacity, rad_input_queue_t *queue) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_input_queue_destroy (rad_input_queue_t queue) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_input_queue_push (rad_input_queue_t queue, const rad_input_event_t *event) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_input_queue_read (rad_input_queue_t queue, rad_input_event_t *events, size_t capacity, uint32_t timeout_ms, size_t *count) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_input_device_register_queue (const char *name, rad_input_queue_t queue) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_block_device_register (const char *name, const rad_device_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_block_open (const char *name, rad_device_t *device) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_block_info (rad_device_t device, rad_block_info_t *info) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_block_read (rad_device_t device, uint64_t sector, uint32_t sector_count, void *buffer) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_block_write (rad_device_t device, uint64_t sector, uint32_t sector_count, const void *buffer) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_block_flush (rad_device_t device) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_net_device_register (const char *name, const rad_device_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_net_open (const char *name, rad_device_t *device) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_net_link_info (rad_device_t device, rad_net_link_info_t *info) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_net_send (rad_device_t device, const void *data, size_t length) |
| Public RADPx-OS kernel API entry point. | |
| intptr_t | rad_net_receive (rad_device_t device, void *data, size_t length) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_net_poll (rad_device_t device) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_net_stack_info (rad_net_stack_info_t *info) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_net_configure (const rad_net_stack_config_t *config) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_net_ntp_status (rad_ntp_status_t *status) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_net_ntp_query (rad_ntp_query_t *query) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_socket_create (int domain, int type, int protocol) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_socket_bind (int32_t fd, const rad_sockaddr_in_t *address, size_t address_length) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_socket_listen (int32_t fd, int backlog) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_socket_accept (int32_t fd, rad_sockaddr_in_t *address, size_t *address_length) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_socket_connect (int32_t fd, const rad_sockaddr_in_t *address, size_t address_length) |
| Public RADPx-OS kernel API entry point. | |
| intptr_t | rad_socket_sendto (int32_t fd, const void *buffer, size_t size, uint32_t flags, const rad_sockaddr_in_t *address, size_t address_length) |
| Public RADPx-OS kernel API entry point. | |
| intptr_t | rad_socket_recvfrom (int32_t fd, void *buffer, size_t size, uint32_t flags, rad_sockaddr_in_t *address, size_t *address_length) |
| Public RADPx-OS kernel API entry point. | |
| intptr_t | rad_socket_send (int32_t fd, const void *buffer, size_t size, uint32_t flags) |
| Public RADPx-OS kernel API entry point. | |
| intptr_t | rad_socket_recv (int32_t fd, void *buffer, size_t size, uint32_t flags) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_socket_shutdown (int32_t fd, int how) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_socket_get_info (int32_t fd, rad_socket_info_t *info) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_socket_setsockopt (int32_t fd, int level, int option, const void *value, size_t value_length) |
| Public RADPx-OS kernel API entry point. | |
| int32_t | rad_socket_getsockopt (int32_t fd, int level, int option, void *value, size_t *value_length) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_register (const char *name, const rad_framebuffer_info_t *info, const rad_framebuffer_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_register_ex (const rad_framebuffer_config_t *config, const rad_framebuffer_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_unregister (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_open (const char *name, rad_framebuffer_t *framebuffer) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_open_primary (rad_framebuffer_t *framebuffer) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_framebuffer_close (rad_framebuffer_t framebuffer) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_get_info (rad_framebuffer_t framebuffer, rad_framebuffer_info_t *info) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_get_display_info (rad_framebuffer_t framebuffer, rad_framebuffer_display_info_t *info) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_set_primary (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_set_mode (rad_framebuffer_t framebuffer, uint32_t mode_index) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_blank (rad_framebuffer_t framebuffer, int blanked) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_get_vsync_counter (rad_framebuffer_t framebuffer, uint64_t *counter) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_clear (rad_framebuffer_t framebuffer, uint32_t color) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_draw_text (rad_framebuffer_t framebuffer, uint32_t cell_x, uint32_t cell_y, const char *text, uint32_t foreground, uint32_t background) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_flush (rad_framebuffer_t framebuffer, const rad_framebuffer_rect_t *rect) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_framebuffer_present (rad_framebuffer_t framebuffer, const rad_framebuffer_present_t *present) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_framebuffer_list (rad_framebuffer_info_t *framebuffers, char names[][64], size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_framebuffer_list_ex (rad_framebuffer_display_info_t *framebuffers, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_i2c_controller_register (const rad_i2c_controller_config_t *config, const rad_i2c_controller_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_i2c_controller_unregister (uint32_t bus_id) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_i2c_bus_open (uint32_t bus_id, rad_i2c_bus_t *bus) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_i2c_bus_close (rad_i2c_bus_t bus) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_i2c_transfer (rad_i2c_bus_t bus, const rad_i2c_transfer_t *transfer) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_i2c_bind_tree (void) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_i2c_driver_register (const rad_i2c_driver_t *driver) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_i2c_driver_unregister (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_i2c_device_open (uint32_t bus_id, uint8_t address, rad_i2c_device_t **device) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_i2c_device_close (rad_i2c_device_t *device) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_i2c_device_transfer (rad_i2c_device_t *device, const rad_i2c_transfer_t *transfer) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_i2c_device_irq_count (const rad_i2c_device_t *device) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_i2c_device_get_irq (const rad_i2c_device_t *device, size_t index, rad_irq_resource_t *resource) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_i2c_list_devices (rad_i2c_device_info_t *devices, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_i2c_transfer_device (rad_device_t device, const rad_i2c_transfer_t *transfer) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_spi_controller_register (const rad_spi_controller_config_t *config, const rad_spi_controller_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_spi_controller_unregister (uint32_t bus_id) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_spi_bus_open (uint32_t bus_id, rad_spi_bus_t *bus) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_spi_bus_close (rad_spi_bus_t bus) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_spi_transfer (rad_spi_bus_t bus, const rad_spi_transfer_t *transfer) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_spi_driver_register (const rad_spi_driver_t *driver) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_spi_driver_unregister (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_spi_device_open (uint32_t bus_id, uint8_t cs, rad_spi_device_t **device) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_spi_device_close (rad_spi_device_t *device) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_spi_device_transfer (rad_spi_device_t *device, const rad_spi_transfer_t *transfer) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_spi_device_irq_count (const rad_spi_device_t *device) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_spi_device_get_irq (const rad_spi_device_t *device, size_t index, rad_irq_resource_t *resource) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_spi_list_devices (rad_spi_device_info_t *devices, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_spi_transfer_device (rad_device_t device, const rad_spi_transfer_t *transfer) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_dma_controller_register (const rad_dma_controller_config_t *config, const rad_dma_backend_ops_t *ops) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_dma_controller_unregister (const char *name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_dma_channel_request (rad_dma_request_id_t request_id, rad_dma_channel_t *channel) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_dma_channel_release (rad_dma_channel_t channel) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_dma_submit (rad_dma_channel_t channel, const rad_dma_transfer_t *transfer) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_dma_wait (rad_dma_channel_t channel, uint32_t timeout_ms) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_dma_cancel (rad_dma_channel_t channel) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_dma_list_channels (rad_dma_channel_info_t *channels, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| size_t | rad_driver_list (rad_driver_info_t *drivers, size_t capacity) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_audio_configure (rad_device_t device, const rad_audio_format_t *format) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_serial_configure (rad_device_t device, const rad_serial_config_t *config) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_open (const char *name, rad_tty_t *tty) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_tty_close (rad_tty_t tty) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_read (rad_tty_t tty, void *buffer, size_t size, size_t *bytes_read) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_write (rad_tty_t tty, const void *buffer, size_t size, size_t *bytes_written) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_push_input (rad_tty_t tty, const void *buffer, size_t size, size_t *bytes_consumed) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_set_output_callback (rad_tty_t tty, rad_tty_output_t output, void *context) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_set_window_size (rad_tty_t tty, const rad_tty_window_size_t *size) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_get_window_size (rad_tty_t tty, rad_tty_window_size_t *size) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_set_mode (rad_tty_t tty, uint32_t mode) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_get_mode (rad_tty_t tty, uint32_t *mode) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_set_termios (rad_tty_t tty, const rad_tty_termios_t *termios) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_get_termios (rad_tty_t tty, rad_tty_termios_t *termios) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_tty_flush (rad_tty_t tty, uint32_t queues) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_pty_open_pair (const char *name, rad_pty_t *pty) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_pty_close (rad_pty_t pty) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_pty_read_master (rad_pty_t pty, void *buffer, size_t size, size_t *bytes_read) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_pty_write_master (rad_pty_t pty, const void *buffer, size_t size, size_t *bytes_written) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_pty_read_slave (rad_pty_t pty, void *buffer, size_t size, size_t *bytes_read) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_pty_write_slave (rad_pty_t pty, const void *buffer, size_t size, size_t *bytes_written) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_pty_resize (rad_pty_t pty, const rad_tty_window_size_t *size) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_pty_slave_name (rad_pty_t pty, char *buffer, size_t size) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_terminal_register_command (const char *name, const char *description, rad_terminal_handler_t handler, void *context) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_terminal_execute (const char *line, rad_terminal_write_t write, void *write_context) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_terminal_poll_tty (rad_tty_t tty) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_terminal_attach_device (const char *device_name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_terminal_attach_tty (const char *serial_device_name, const char *tty_name) |
| Public RADPx-OS kernel API entry point. | |
| rad_status_t | rad_terminal_poll_attached (void) |
| Public RADPx-OS kernel API entry point. | |
| void | rad_terminal_repl_set (int enabled) |
| Enable/disable the kernel debug REPL on the attached tty; disable while a user session owns it. Input pumping continues either way. | |
| size_t | rad_terminal_command_count (void) |
| Public RADPx-OS kernel API entry point. | |
Portable RADPx-OS kernel service ABI for RADLib and RADPx-OS targets.
RADKernel exposes a small POSIX-like service contract for bare-metal and simulator backends. The C ABI is the stable boundary; the C++ wrappers are convenience helpers for RADLib applications and examples.
| typedef struct rad_audio_format rad_audio_format_t |
Public data structure for rad_audio_format.
Public typedef alias.
| typedef struct rad_block_info rad_block_info_t |
Public data structure for rad_block_info.
Public typedef alias.
| typedef struct rad_block_request rad_block_request_t |
Public data structure for rad_block_request.
Public typedef alias.
| typedef struct rad_boot_arg rad_boot_arg_t |
Public data structure for rad_boot_arg.
Public typedef alias.
| typedef struct rad_boot_handoff rad_boot_handoff_t |
Public data structure for rad_boot_handoff.
Public typedef alias.
| typedef struct rad_boot_info rad_boot_info_t |
Public data structure for rad_boot_info.
Public typedef alias.
| typedef struct rad_boot_memory_region rad_boot_memory_region_t |
Public data structure for rad_boot_memory_region.
Public typedef alias.
| typedef struct rad_compositor_ipc_damage rad_compositor_ipc_damage_t |
Public data structure for rad_compositor_ipc_damage.
Public typedef alias.
| typedef struct rad_compositor_ipc_surface rad_compositor_ipc_surface_t |
Public data structure for rad_compositor_ipc_surface.
Public typedef alias.
| typedef struct rad_core_info rad_core_info_t |
Public data structure for rad_core_info.
Public typedef alias.
| typedef struct rad_credentials rad_credentials_t |
Public data structure for process credentials.
Public typedef alias.
| typedef struct rad_device_ops rad_device_ops_t |
Public data structure for rad_device_ops.
Public typedef alias.
| typedef enum rad_device_type rad_device_type_t |
Public enumeration for rad_device_type.
Public typedef alias.
| typedef struct rad_dirent_user rad_dirent_user_t |
Public data structure for userspace directory enumeration.
Public typedef alias.
| typedef struct rad_display_mode rad_display_mode_t |
Public data structure for rad_display_mode.
Public typedef alias.
| typedef enum rad_display_output_type rad_display_output_type_t |
Public enumeration for rad_display_output_type.
Public typedef alias.
| typedef struct rad_dma_backend_ops rad_dma_backend_ops_t |
Public data structure for rad_dma_backend_ops.
Public typedef alias.
| typedef struct rad_dma_channel_info rad_dma_channel_info_t |
Public data structure for rad_dma_channel_info.
Public typedef alias.
| typedef struct rad_dma_controller_config rad_dma_controller_config_t |
Public data structure for rad_dma_controller_config.
Public typedef alias.
| typedef enum rad_dma_request_id rad_dma_request_id_t |
Public enumeration for rad_dma_request_id.
Public typedef alias.
| typedef struct rad_dma_transfer rad_dma_transfer_t |
Public data structure for rad_dma_transfer.
Public typedef alias.
| typedef enum rad_dma_transfer_type rad_dma_transfer_type_t |
Public enumeration for rad_dma_transfer_type.
Public typedef alias.
| typedef struct rad_driver_info rad_driver_info_t |
Public data structure for rad_driver_info.
Public typedef alias.
| typedef struct rad_framebuffer_config rad_framebuffer_config_t |
Public data structure for rad_framebuffer_config.
Public typedef alias.
| typedef struct rad_framebuffer_display_info rad_framebuffer_display_info_t |
Public data structure for rad_framebuffer_display_info.
Public typedef alias.
| typedef struct rad_framebuffer_info rad_framebuffer_info_t |
Public data structure for rad_framebuffer_info.
Public typedef alias.
| typedef struct rad_framebuffer_ops rad_framebuffer_ops_t |
Public data structure for rad_framebuffer_ops.
Public typedef alias.
| typedef struct rad_framebuffer_present rad_framebuffer_present_t |
Public data structure for rad_framebuffer_present.
Public typedef alias.
| typedef struct rad_framebuffer_rect rad_framebuffer_rect_t |
Public data structure for rad_framebuffer_rect.
Public typedef alias.
| typedef struct rad_i2c_controller_config rad_i2c_controller_config_t |
Public data structure for rad_i2c_controller_config.
Public typedef alias.
| typedef struct rad_i2c_controller_ops rad_i2c_controller_ops_t |
Public data structure for rad_i2c_controller_ops.
Public typedef alias.
| typedef struct rad_i2c_device_info rad_i2c_device_info_t |
Public data structure for rad_i2c_device_info.
Public typedef alias.
| typedef struct rad_i2c_driver rad_i2c_driver_t |
Public data structure for rad_i2c_driver.
Public typedef alias.
| typedef struct rad_i2c_transfer rad_i2c_transfer_t |
Public data structure for rad_i2c_transfer.
Public typedef alias.
| typedef struct rad_input_event rad_input_event_t |
Public data structure for rad_input_event.
Public typedef alias.
| typedef enum rad_input_event_type rad_input_event_type_t |
Public enumeration for rad_input_event_type.
Public typedef alias.
| typedef enum rad_input_key rad_input_key_t |
Public enumeration for rad_input_key.
Public typedef alias.
| typedef enum rad_input_modifier_flags rad_input_modifier_flags_t |
Public enumeration for rad_input_modifier_flags.
Public typedef alias.
Public enumeration for rad_input_pointer_button_flags.
Public typedef alias.
| typedef struct rad_ipv4_address rad_ipv4_address_t |
Public data structure for rad_ipv4_address.
Public typedef alias.
| typedef struct rad_irq_domain_config rad_irq_domain_config_t |
Public data structure for rad_irq_domain_config.
Public typedef alias.
| typedef struct rad_irq_info rad_irq_info_t |
Public data structure for rad_irq_info.
Public typedef alias.
| typedef struct rad_irq_resource rad_irq_resource_t |
Public data structure for rad_irq_resource.
Public typedef alias.
| typedef enum rad_irq_trigger rad_irq_trigger_t |
Public enumeration for rad_irq_trigger.
Public typedef alias.
| typedef struct rad_kernel_config rad_kernel_config_t |
Public data structure for rad_kernel_config.
Public typedef alias.
| typedef enum rad_kernel_print_level rad_kernel_print_level_t |
Kernel-only printk severity.
Public typedef alias.
| typedef struct rad_log_entry rad_log_entry_t |
Public data structure for rad_log_entry.
Public typedef alias.
| typedef enum rad_log_level rad_log_level_t |
Public enumeration for rad_log_level.
Public typedef alias.
| typedef struct rad_mac_address rad_mac_address_t |
Public data structure for rad_mac_address.
Public typedef alias.
| typedef struct rad_memory_stats rad_memory_stats_t |
Public data structure for rad_memory_stats.
Public typedef alias.
| typedef struct rad_module_descriptor rad_module_descriptor_t |
Public data structure for rad_module_descriptor.
Public typedef alias.
| typedef struct rad_module_info rad_module_info_t |
Public data structure for rad_module_info.
Public typedef alias.
| typedef enum rad_module_state rad_module_state_t |
Public enumeration for rad_module_state.
Public typedef alias.
| typedef struct rad_net_link_info rad_net_link_info_t |
Public data structure for rad_net_link_info.
Public typedef alias.
| typedef struct rad_net_packet rad_net_packet_t |
Public data structure for rad_net_packet.
Public typedef alias.
| typedef struct rad_net_stack_config rad_net_stack_config_t |
Public data structure for rad_net_stack_config.
Public typedef alias.
| typedef struct rad_net_stack_info rad_net_stack_info_t |
Public data structure for rad_net_stack_info.
Public typedef alias.
| typedef struct rad_ntp_query rad_ntp_query_t |
Public data structure for rad_ntp_query.
Public typedef alias.
| typedef struct rad_ntp_status rad_ntp_status_t |
Public data structure for rad_ntp_status.
Public typedef alias.
| typedef struct rad_overlay_info rad_overlay_info_t |
Public data structure for rad_overlay_info.
Public typedef alias.
| typedef struct rad_perf_counter_info rad_perf_counter_info_t |
Public data structure for rad_perf_counter_info.
Public typedef alias.
| typedef enum rad_pixel_format rad_pixel_format_t |
Public enumeration for rad_pixel_format.
Public typedef alias.
| typedef struct rad_pollfd rad_pollfd_t |
POSIX-style poll descriptor used by RADPx-OS userland.
Public typedef alias.
| typedef enum rad_posix_syscall rad_posix_syscall_t |
Public enumeration for rad_posix_syscall.
Public typedef alias.
| typedef struct rad_posix_timeval rad_posix_timeval_t |
Public data structure for rad_posix_timeval.
Public typedef alias.
| typedef struct rad_process_arch_ops rad_process_arch_ops_t |
Public data structure for rad_process_arch_ops.
Public typedef alias.
| typedef struct rad_process_info rad_process_info_t |
Public data structure for rad_process_info.
Public typedef alias.
| typedef enum rad_process_state rad_process_state_t |
Public enumeration for rad_process_state.
Public typedef alias.
| typedef struct rad_program_info rad_program_info_t |
Public data structure for rad_program_info.
Public typedef alias.
| typedef enum rad_program_state rad_program_state_t |
Public enumeration for rad_program_state.
Public typedef alias.
| typedef struct rad_scheduler_info rad_scheduler_info_t |
Public data structure for rad_scheduler_info.
Public typedef alias.
| typedef enum rad_scheduler_mode rad_scheduler_mode_t |
Public enumeration for rad_scheduler_mode.
Public typedef alias.
| typedef struct rad_sd_config rad_sd_config_t |
Public data structure for rad_sd_config.
Public typedef alias.
| typedef enum rad_sd_mode rad_sd_mode_t |
Public enumeration for rad_sd_mode.
Public typedef alias.
| typedef enum rad_seek_origin rad_seek_origin_t |
Public enumeration for rad_seek_origin.
Public typedef alias.
| typedef struct rad_serial_config rad_serial_config_t |
Public data structure for rad_serial_config.
Public typedef alias.
| typedef struct rad_service_config rad_service_config_t |
Public data structure for rad_service_config.
Public typedef alias.
| typedef struct rad_service_descriptor rad_service_descriptor_t |
Public data structure for rad_service_descriptor.
Public typedef alias.
| typedef struct rad_service_info rad_service_info_t |
Public data structure for rad_service_info.
Public typedef alias.
| typedef enum rad_service_state rad_service_state_t |
Public enumeration for rad_service_state.
Public typedef alias.
| typedef struct rad_shm_info rad_shm_info_t |
Public data structure for rad_shm_info.
Public typedef alias.
| typedef struct rad_sockaddr_in rad_sockaddr_in_t |
Public data structure for rad_sockaddr_in.
Public typedef alias.
| typedef struct rad_socket_info rad_socket_info_t |
Public data structure for rad_socket_info.
Public typedef alias.
| typedef struct rad_spi_controller_config rad_spi_controller_config_t |
Public data structure for rad_spi_controller_config.
Public typedef alias.
| typedef struct rad_spi_controller_ops rad_spi_controller_ops_t |
Public data structure for rad_spi_controller_ops.
Public typedef alias.
| typedef struct rad_spi_device_info rad_spi_device_info_t |
Public data structure for rad_spi_device_info.
Public typedef alias.
| typedef struct rad_spi_driver rad_spi_driver_t |
Public data structure for rad_spi_driver.
Public typedef alias.
| typedef enum rad_spi_transfer_mode rad_spi_transfer_mode_t |
Public enumeration for rad_spi_transfer_mode.
Public typedef alias.
| typedef struct rad_spi_transfer rad_spi_transfer_t |
Public data structure for rad_spi_transfer.
Public typedef alias.
| typedef enum rad_status rad_status_t |
Public enumeration for rad_status.
Public typedef alias.
| typedef struct rad_task_config rad_task_config_t |
Public data structure for rad_task_config.
Public typedef alias.
| typedef struct rad_task_info rad_task_info_t |
Public data structure for rad_task_info.
Public typedef alias.
| typedef enum rad_task_state rad_task_state_t |
Public enumeration for rad_task_state.
Public typedef alias.
| typedef enum rad_tcp_state rad_tcp_state_t |
Public enumeration for rad_tcp_state.
Public typedef alias.
| typedef struct rad_timer_source_config rad_timer_source_config_t |
Public data structure for rad_timer_source_config.
Public typedef alias.
| typedef struct rad_timer_source_info rad_timer_source_info_t |
Public data structure for rad_timer_source_info.
Public typedef alias.
| typedef struct rad_timer_source_ops rad_timer_source_ops_t |
Public data structure for rad_timer_source_ops.
Public typedef alias.
| typedef struct rad_tree_node_info rad_tree_node_info_t |
Public data structure for rad_tree_node_info.
Public typedef alias.
| typedef enum rad_tree_property_type rad_tree_property_type_t |
Public enumeration for rad_tree_property_type.
Public typedef alias.
| typedef enum rad_tty_mode_flags rad_tty_mode_flags_t |
Public enumeration for rad_tty_mode_flags.
Public typedef alias.
| typedef struct rad_tty_termios rad_tty_termios_t |
POSIX-shaped terminal attributes stored by RADPx-OS TTY devices.
Public typedef alias.
| typedef struct rad_tty_window_size rad_tty_window_size_t |
Public data structure for rad_tty_window_size.
Public typedef alias.
| typedef enum rad_usb_controller_type rad_usb_controller_type_t |
Public enumeration for rad_usb_controller_type.
Public typedef alias.
| typedef enum rad_usb_device_class rad_usb_device_class_t |
Public enumeration for rad_usb_device_class.
Public typedef alias.
| typedef struct rad_usb_host_info rad_usb_host_info_t |
Public data structure for rad_usb_host_info.
Public typedef alias.
| typedef struct rad_vfs_backend_ops rad_vfs_backend_ops_t |
Public data structure for rad_vfs_backend_ops.
Public typedef alias.
| typedef struct rad_vfs_dirent rad_vfs_dirent_t |
Public data structure for rad_vfs_dirent.
Public typedef alias.
| typedef enum rad_vfs_open_flags rad_vfs_open_flags_t |
Public enumeration for rad_vfs_open_flags.
Public typedef alias.
| typedef struct rad_vfs_stat rad_vfs_stat_t |
Public data structure for rad_vfs_stat.
Public typedef alias.
| enum rad_device_type |
Public enumeration for rad_device_type.
Public enumeration for rad_display_output_type.
| enum rad_dma_request_id |
Public enumeration for rad_dma_request_id.
| enum rad_input_event_type |
Public enumeration for rad_input_event_type.
| enum rad_input_key |
Public enumeration for rad_input_key.
| enum rad_irq_trigger |
Public enumeration for rad_irq_trigger.
| enum rad_log_level |
| enum rad_module_state |
| enum rad_pixel_format |
| enum rad_posix_syscall |
Public enumeration for rad_posix_syscall.
| enum rad_process_state |
| enum rad_program_state |
| enum rad_scheduler_mode |
| enum rad_sd_mode |
| enum rad_seek_origin |
| enum rad_service_state |
| enum rad_status |
Public enumeration for rad_status.
| enum rad_task_state |
| enum rad_tcp_state |
Public enumeration for rad_tcp_state.
| enum rad_tty_mode_flags |
| enum rad_usb_device_class |
| enum rad_vfs_open_flags |