From ed8cb35c9ff4547275b03bd93baeff1cda3de76e Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Sat, 6 Jun 2020 00:05:45 +0200 Subject: Add skeleton functionality for announcing servers --- uring.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'uring.c') diff --git a/uring.c b/uring.c index 770b8c5..65277ce 100644 --- a/uring.c +++ b/uring.c @@ -190,6 +190,20 @@ uring_openat(struct cfg *cfg, struct uring_task *task, const char *path, callbac io_uring_sqe_set_data(sqe, task); } +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) { -- cgit v1.2.3