Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
work.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Croxel Inc.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12
13#ifndef ZEPHYR_INCLUDE_RTIO_WORK_H_
14#define ZEPHYR_INCLUDE_RTIO_WORK_H_
15
16#include <stdint.h>
17#include <zephyr/device.h>
18#include <zephyr/rtio/rtio.h>
19#include <zephyr/sys/p4wq.h>
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
30typedef void (*rtio_work_submit_t)(struct rtio_iodev_sqe *iodev_sqe);
31
52
63
74
81
82#ifdef __cplusplus
83}
84#endif
85
86#endif /* ZEPHYR_INCLUDE_RTIO_WORK_H_ */
Real-Time IO device API for moving bytes with low effort.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
P4 Queue Work Item.
Definition p4wq.h:36
IO device submission queue entry.
Definition sqe.h:398
RTIO Work request.
Definition work.h:38
struct k_p4wq_work work
Work item used to submit unit of work.
Definition work.h:40
rtio_work_submit_t handler
Callback handler where synchronous operation may be executed.
Definition work.h:50
struct rtio_iodev_sqe * iodev_sqe
Handle to IODEV SQE containing the operation.
Definition work.h:45
uint32_t rtio_work_req_used_count_get(void)
Obtain number of currently used items from the pre-allocated pool.
void rtio_work_req_submit(struct rtio_work_req *req, struct rtio_iodev_sqe *iodev_sqe, rtio_work_submit_t handler)
Submit RTIO work request.
struct rtio_work_req * rtio_work_req_alloc(void)
Allocate item to perform an RTIO work request.
void(* rtio_work_submit_t)(struct rtio_iodev_sqe *iodev_sqe)
Callback API to execute work operation.
Definition work.h:30