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_recvmsg_multishot(3).
32
33 msgh should point to the struct msghdr submitted with the request.
34
35 io_uring_recvmsg_validate(3) will validate a buffer delivered by io_ur‐
36 ing_prep_recvmsg_multishot(3) and extract the io_uring_recvmsg_out if
37 it is valid, returning a pointer to it or else NULL.
38
39 The structure is defined as follows:
40
41 struct io_uring_recvmsg_out {
42 __u32 namelen; /* Name byte count as would have been populated
43 * by recvmsg(2) */
44 __u32 controllen; /* Control byte count */
45 __u32 payloadlen; /* Payload byte count as would have been returned
46 * by recvmsg(2) */
47 __u32 flags; /* Flags result as would have been populated
48 * by recvmsg(2) */
49 };
50
51
52 * io_uring_recvmsg_name(3)
53 returns a pointer to the name in the buffer.
54
55 * io_uring_recvmsg_cmsg_firsthdr(3)
56 returns a pointer to the first cmsg in the buffer, or NULL.
57
58 * io_uring_recvmsg_cmsg_nexthdr(3)
59 returns a pointer to the next cmsg in the buffer, or NULL.
60
61 * io_uring_recvmsg_payload(3)
62 returns a pointer to the payload in the buffer.
63
64 * io_uring_recvmsg_payload_length(3)
65 Calculates the usable payload length in bytes.
66
67
68
70 io_uring_prep_recvmsg_multishot(3)
71
72
73
74liburing-2.2 July 26, 2022 io_uring_recvmsg_out(3)