summaryrefslogtreecommitdiff
path: root/uring.c
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2020-06-06 00:05:45 +0200
committerDavid Härdeman <david@hardeman.nu>2020-06-06 00:05:45 +0200
commited8cb35c9ff4547275b03bd93baeff1cda3de76e (patch)
tree8b7f187613c0cab24076bf94d0db3ae3f79618b2 /uring.c
parent8e301216143cb96d39a941a9c5fcb90319ef53c7 (diff)
Add skeleton functionality for announcing servers
Diffstat (limited to 'uring.c')
-rw-r--r--uring.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/uring.c b/uring.c
index 770b8c5..65277ce 100644
--- a/uring.c
+++ b/uring.c
@@ -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);