34#ifndef OVE_WORKQUEUE_H
35#define OVE_WORKQUEUE_H
39#include "ove_config.h"
58#ifdef CONFIG_OVE_WORKQUEUE
77 ove_prio_t priority,
size_t stack_size,
void *stack);
104#ifdef OVE_HEAP_WORKQUEUE
144#ifdef OVE_HEAP_WORKQUEUE
204 const char *n,
ove_prio_t p,
size_t s,
void *stack)
ove_prio_t
Portable thread-priority levels.
Definition thread.h:68
struct ove_workqueue * ove_workqueue_t
Opaque handle for a work queue object.
Definition types.h:226
struct ove_work * ove_work_t
Opaque handle for a deferred work item.
Definition types.h:229
@ OVE_ERR_NOT_SUPPORTED
Definition types.h:98
void ove_work_free(ove_work_t work)
Free a heap-allocated work item.
void ove_workqueue_destroy(ove_workqueue_t wq)
Destroy a heap-allocated work queue.
int ove_workqueue_create(ove_workqueue_t *wq, const char *name, ove_prio_t priority, size_t stack_size)
Allocate a heap-backed work queue.
int ove_work_init(ove_work_t *work, ove_work_fn handler)
Allocate and initialise a heap-backed work item.
int ove_work_submit(ove_workqueue_t wq, ove_work_t work)
Submit a work item for immediate execution on the work queue.
int ove_work_init_static(ove_work_t *work, ove_work_storage_t *storage, ove_work_fn handler)
Initialise a work item using caller-provided static storage.
int ove_workqueue_init(ove_workqueue_t *wq, ove_workqueue_storage_t *storage, const char *name, ove_prio_t priority, size_t stack_size, void *stack)
Initialise a work queue using caller-provided static storage.
int ove_work_cancel(ove_work_t work)
Cancel a pending work item before it executes.
void(* ove_work_fn)(ove_work_t work)
Prototype for a work item handler function.
Definition workqueue.h:54
int ove_work_submit_delayed(ove_workqueue_t wq, ove_work_t work, uint32_t delay_ms)
Submit a work item for execution after a delay.
void ove_workqueue_deinit(ove_workqueue_t wq)
Deinitialise a statically-allocated work queue.