1io_uring_recvmsg_out(3) liburing Manual io_uring_recvmsg_out(3)
2
3
4
6 io_uring_recvmsg_out - access data from multishot recvmsg
7
9 #include <liburing.h>
10
11 struct io_uring_recvmsg_out *io_uring_recvmsg_validate(void *buf,
12 int buf_len,
13 struct msghdr *msgh);
14
15 void *io_uring_recvmsg_name(struct io_uring_recvmsg_out *o);
16
17 struct cmsghdr *io_uring_recvmsg_cmsg_firsthdr(struct io_uring_recvmsg_out * o,
18 struct msghdr *msgh);
19 struct cmsghdr *io_uring_recvmsg_cmsg_nexthdr(struct io_uring_recvmsg_out * o,
20 struct msghdr *msgh,
21 struct cmsghdr *cmsg);
22
23 void *io_uring_recvmsg_payload(struct io_uring_recvmsg_out * o,
24 struct msghdr *msgh);
25 unsigned int io_uring_recvmsg_payload_length(struct io_uring_recvmsg_out *o,
26 int buf_len,
27 struct msghdr *msgh);
28
30 These functions are used to access data in the payload delivered by
31 io_uring_prep_recv_multishot(3)
32
33 io_uring_recvmsg_validate(3) will validate a buffer delivered by io_ur‐
34 ing_prep_recv_multishot(3) and extract the io_uring_recvmsg_out if it
35 is valid, returning a pointer to it or else NULL.
36
37 The structure is defined as follows:
38
39 struct io_uring_recvmsg_out {
40 __u32 namelen; /* Name byte count as would have been populated
41 * by recvmsg(2) */
42 __u32 controllen; /* Control byte count */
43 __u32 payloadlen; /* Payload byte count as would have been returned
44 * by recvmsg(2) */
45 __u32 flags; /* Flags result as would have been populated
46 * by recvmsg(2) */
47 };
48
49
50 * io_uring_recvmsg_name(3)
51 returns a pointer to the name in the buffer.
52
53 * io_uring_recvmsg_cmsg_firsthdr(3)
54 returns a pointer to the first cmsg in the buffer, or NULL.
55
56 * io_uring_recvmsg_cmsg_nexthdr(3)
57 returns a pointer to the next cmsg in the buffer, or NULL.
58
59 * io_uring_recvmsg_payload(3)
60 returns a pointer to the payload in the buffer.
61
62 * io_uring_recvmsg_payload_length(3)
63 Calculates the usable payload length in bytes.
64
65
66
68 io_uring_prep_recv_multishot(3)
69
70
71
72liburing-2.2 Julyu 26, 2022 io_uring_recvmsg_out(3)