/* SPDX-License-Identifier: GPL-2.0 */ #ifndef foouringhfoo #define foouringhfoo extern uint64_t sqe_count; extern uint64_t cqe_count; void uring_task_refdump(struct uring_task *task); void uring_task_destroy(struct uring_task *task); void uring_task_put(struct uring_task *task); void uring_task_get(struct uring_task *task); void uring_task_set_buf(struct uring_task *task, struct uring_task_buf *tbuf); void uring_task_set_fd(struct uring_task *task, int fd); void uring_task_close_fd(struct uring_task *task); struct uring_task *uring_parent(); void uring_task_init(struct uring_task *task, const char *name, struct uring_task *parent, void (*free)(struct uring_task *)); void uring_close(struct uring_task *task, int fd); void uring_tbuf_write(struct uring_task *task, utask_cb_t final_cb); void uring_write(struct uring_task *task, void *buf, size_t len, utask_cb_t cb); void uring_tbuf_read_until(struct uring_task *task, rutask_cb_t is_complete_cb, utask_cb_t final_cb); void uring_tbuf_read_until_eof(struct uring_task *task, utask_cb_t final_cb); void uring_tbuf_read(struct uring_task *task, utask_cb_t final_cb); void uring_read_offset(struct uring_task *task, void *buf, size_t len, off_t offset, utask_cb_t cb); static inline void uring_read(struct uring_task *task, void *buf, size_t len, utask_cb_t cb) { uring_read_offset(task, buf, len, 0, cb); } void uring_openat(struct uring_task *task, const char *path, utask_cb_t cb); void uring_tbuf_recvmsg(struct uring_task *task, utask_cb_t cb); void uring_tbuf_sendmsg(struct uring_task *task, utask_cb_t cb); void uring_connect(struct uring_task *task, struct saddr *saddr, utask_cb_t cb); void uring_accept(struct uring_task *task, struct saddr *saddr, utask_cb_t cb); void uring_splice(struct uring_task *task, int fd_in, int fd_out, utask_cb_t cb); void uring_poll(struct uring_task *task, short poll_mask, utask_cb_t cb); void uring_poll_cancel(struct uring_task *task); void uring_delete(); void uring_refdump(); void uring_init(); void uring_event_loop(); #endif