|
oveRTOS C API
Embedded RTOS framework — build system, configuration, and portable C API
|
Common error codes, opaque handle types, and utility macros used throughout the oveRTOS public API. More...
Macros | |
| #define | OVE_OK 0 |
| Operation completed successfully. | |
| #define | OVE_ERR_NOT_REGISTERED (-1) |
| The requested backend or feature has not been registered. | |
| #define | OVE_ERR_INVALID_PARAM (-2) |
| One or more parameters are invalid (e.g. NULL pointer, zero size). | |
| #define | OVE_ERR_NO_MEMORY (-3) |
| Dynamic allocation failed — heap is full or not available. | |
| #define | OVE_ERR_TIMEOUT (-4) |
| Operation timed out before it could complete. | |
| #define | OVE_ERR_NOT_SUPPORTED (-5) |
| The requested feature is not supported by the active backend. | |
| #define | OVE_ERR_QUEUE_FULL (-6) |
| Queue send failed because the queue is at maximum capacity. | |
| #define | OVE_ERR_ML_FAILED (-7) |
| ML inference or model loading failed. | |
| #define | OVE_ERR_NET_REFUSED (-8) |
| Remote peer refused the connection. | |
| #define | OVE_ERR_NET_UNREACHABLE (-9) |
| Network or host is unreachable. | |
| #define | OVE_ERR_NET_ADDR_IN_USE (-10) |
| Local address already in use. | |
| #define | OVE_ERR_NET_RESET (-11) |
| Connection was reset by the remote peer. | |
| #define | OVE_ERR_NET_DNS_FAIL (-12) |
| DNS name resolution failed. | |
| #define | OVE_ERR_NET_CLOSED (-13) |
| Connection closed by the remote peer. | |
| #define | OVE_ERR_BUS_NACK (-14) |
| Bus device did not acknowledge (I2C NACK). | |
| #define | OVE_ERR_BUS_BUSY (-15) |
| Bus arbitration lost (multi-master). | |
| #define | OVE_ERR_BUS_ERROR (-16) |
| Framing, parity, or hardware error on a serial bus. | |
| #define | OVE_WAIT_FOREVER UINT32_MAX |
| Timeout value that means "block indefinitely". | |
| #define | OVE_RTOS_NAME "Unknown" |
| Compile-time string identifying the active RTOS backend. | |
Typedefs | |
| typedef struct ove_thread * | ove_thread_t |
| Opaque handle for a thread object. | |
| typedef struct ove_mutex * | ove_mutex_t |
| Opaque handle for a mutex object. | |
| typedef struct ove_sem * | ove_sem_t |
| Opaque handle for a counting semaphore object. | |
| typedef struct ove_event * | ove_event_t |
| Opaque handle for a binary event (signal/wait) object. | |
| typedef struct ove_condvar * | ove_condvar_t |
| Opaque handle for a condition variable object. | |
| typedef struct ove_eventgroup * | ove_eventgroup_t |
| Opaque handle for an event-group (bit-field) object. | |
| typedef struct ove_workqueue * | ove_workqueue_t |
| Opaque handle for a work queue object. | |
| typedef struct ove_work * | ove_work_t |
| Opaque handle for a deferred work item. | |
| typedef struct ove_stream * | ove_stream_t |
| Opaque handle for a byte-stream (ring-buffer) object. | |
| typedef struct ove_watchdog * | ove_watchdog_t |
| Opaque handle for a software watchdog object. | |
| typedef struct ove_file * | ove_file_t |
| Opaque handle for an open file. | |
| typedef struct ove_dir * | ove_dir_t |
| Opaque handle for an open directory. | |
| typedef struct ove_model * | ove_model_t |
| Opaque handle for an ML inference model session. | |
| typedef struct ove_socket * | ove_socket_t |
| Opaque handle for a network socket. | |
| typedef struct ove_netif * | ove_netif_t |
| Opaque handle for a network interface. | |
| typedef struct ove_tls * | ove_tls_t |
| Opaque handle for a TLS session. | |
| typedef struct ove_http_client * | ove_http_client_t |
| Opaque handle for an HTTP client. | |
| typedef struct ove_mqtt_client * | ove_mqtt_client_t |
| Opaque handle for an MQTT client. | |
| typedef struct ove_uart * | ove_uart_t |
| Opaque handle for a UART peripheral. | |
| typedef struct ove_spi * | ove_spi_t |
| Opaque handle for an SPI bus controller. | |
| typedef struct ove_i2c * | ove_i2c_t |
| Opaque handle for an I2C bus controller. | |
| typedef struct ove_i2s * | ove_i2s_t |
| Opaque handle for an I2S / SAI bus controller. | |
| typedef uint32_t | ove_eventbits_t |
| Bit-mask type used by the event-group API. | |
Common error codes, opaque handle types, and utility macros used throughout the oveRTOS public API.
| #define OVE_WAIT_FOREVER UINT32_MAX |
Timeout value that means "block indefinitely".
Pass this as the timeout_ms argument to any blocking API to wait without a deadline.
| #define OVE_RTOS_NAME "Unknown" |
Compile-time string identifying the active RTOS backend.
Resolved to a human-readable string literal ("FreeRTOS", "Zephyr", "NuttX", "POSIX", or "Unknown") based on which CONFIG_OVE_RTOS_* symbol is defined in ove_config.h.
| typedef struct ove_thread* ove_thread_t |
Opaque handle for a thread object.
| typedef struct ove_mutex* ove_mutex_t |
Opaque handle for a mutex object.
| typedef struct ove_sem* ove_sem_t |
Opaque handle for a counting semaphore object.
| typedef struct ove_event* ove_event_t |
Opaque handle for a binary event (signal/wait) object.
| typedef struct ove_condvar* ove_condvar_t |
Opaque handle for a condition variable object.
| typedef struct ove_model* ove_model_t |
Opaque handle for an ML inference model session.
| typedef struct ove_socket* ove_socket_t |
Opaque handle for a network socket.
| typedef struct ove_netif* ove_netif_t |
Opaque handle for a network interface.
| typedef struct ove_tls* ove_tls_t |
Opaque handle for a TLS session.
| typedef struct ove_http_client* ove_http_client_t |
Opaque handle for an HTTP client.
| typedef struct ove_mqtt_client* ove_mqtt_client_t |
Opaque handle for an MQTT client.
| typedef struct ove_uart* ove_uart_t |
Opaque handle for a UART peripheral.
| typedef struct ove_spi* ove_spi_t |
Opaque handle for an SPI bus controller.
| typedef struct ove_i2c* ove_i2c_t |
Opaque handle for an I2C bus controller.
| typedef struct ove_i2s* ove_i2s_t |
Opaque handle for an I2S / SAI bus controller.
| typedef uint32_t ove_eventbits_t |
Bit-mask type used by the event-group API.
Each bit represents a distinct event flag. Up to 32 independent flags can be combined in a single event group.