diff options
Diffstat (limited to 'uring.c')
-rw-r--r-- | uring.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -191,6 +191,20 @@ uring_openat(struct cfg *cfg, struct uring_task *task, const char *path, callbac } void +uring_sendmsg(struct cfg *cfg, struct uring_task *task, struct msghdr *msg, callback_t callback) +{ + struct io_uring_sqe *sqe = io_uring_get_sqe(&cfg->uev->uring); + + if (!sqe) + perrordie("io_uring_sqe"); + + uring_task_get(cfg, task); + task->callback = callback; + io_uring_prep_sendmsg(sqe, task->fd, msg, 0); + io_uring_sqe_set_data(sqe, task); +} + +void uring_connect(struct cfg *cfg, struct uring_task *task, struct sockaddr_in46 *addr, callback_t callback) { struct io_uring_sqe *sqe = io_uring_get_sqe(&cfg->uev->uring); |