oveRTOS C API
Embedded RTOS framework — build system, configuration, and portable C API
Loading...
Searching...
No Matches
Macros | Typedefs
Types

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.
 

Detailed Description

Common error codes, opaque handle types, and utility macros used throughout the oveRTOS public API.

Macro Definition Documentation

◆ OVE_WAIT_FOREVER

#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.

◆ OVE_RTOS_NAME

#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 Documentation

◆ ove_thread_t

typedef struct ove_thread* ove_thread_t

Opaque handle for a thread object.

See also
ove_thread_init, ove_thread_create

◆ ove_mutex_t

typedef struct ove_mutex* ove_mutex_t

Opaque handle for a mutex object.

See also
ove_mutex_init, ove_mutex_create

◆ ove_sem_t

typedef struct ove_sem* ove_sem_t

Opaque handle for a counting semaphore object.

See also
ove_sem_init, ove_sem_create

◆ ove_event_t

typedef struct ove_event* ove_event_t

Opaque handle for a binary event (signal/wait) object.

See also
ove_event_init, ove_event_create

◆ ove_condvar_t

typedef struct ove_condvar* ove_condvar_t

Opaque handle for a condition variable object.

See also
ove_condvar_init, ove_condvar_create

◆ ove_model_t

typedef struct ove_model* ove_model_t

Opaque handle for an ML inference model session.

See also
ove_model_init, ove_model_create

◆ ove_socket_t

typedef struct ove_socket* ove_socket_t

Opaque handle for a network socket.

See also
ove_socket_open, ove_socket_create

◆ ove_netif_t

typedef struct ove_netif* ove_netif_t

Opaque handle for a network interface.

See also
ove_netif_init, ove_netif_create

◆ ove_tls_t

typedef struct ove_tls* ove_tls_t

Opaque handle for a TLS session.

See also
ove_tls_init, ove_tls_create

◆ ove_http_client_t

typedef struct ove_http_client* ove_http_client_t

Opaque handle for an HTTP client.

See also
ove_http_client_init, ove_http_client_create

◆ ove_mqtt_client_t

typedef struct ove_mqtt_client* ove_mqtt_client_t

Opaque handle for an MQTT client.

See also
ove_mqtt_client_init, ove_mqtt_client_create

◆ ove_uart_t

typedef struct ove_uart* ove_uart_t

Opaque handle for a UART peripheral.

See also
ove_uart_init, ove_uart_create

◆ ove_spi_t

typedef struct ove_spi* ove_spi_t

Opaque handle for an SPI bus controller.

See also
ove_spi_init, ove_spi_create

◆ ove_i2c_t

typedef struct ove_i2c* ove_i2c_t

Opaque handle for an I2C bus controller.

See also
ove_i2c_init, ove_i2c_create

◆ ove_i2s_t

typedef struct ove_i2s* ove_i2s_t

Opaque handle for an I2S / SAI bus controller.

See also
ove_i2s_init, ove_i2s_create

◆ ove_eventbits_t

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.