Skip to content

Commit 9b88c55

Browse files
devnexentgross35
authored andcommitted
OpenBSD: add sendmmsg and recvmmsg support.
(backport <#3831>) (cherry picked from commit c369185)
1 parent 4c0eaac commit 9b88c55

File tree

3 files changed

+22
-19
lines changed

3 files changed

+22
-19
lines changed

libc-test/semver/openbsd.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,6 +1137,7 @@ mknodat
11371137
mkostemp
11381138
mkostemps
11391139
mkstemps
1140+
mmsghdr
11401141
mount_info
11411142
mrand48
11421143
msdosfs_args
@@ -1216,6 +1217,7 @@ readlinkat
12161217
reallocarray
12171218
reboot
12181219
recvmsg
1220+
recvmmsg
12191221
regcomp
12201222
regerror
12211223
regex_t
@@ -1237,6 +1239,7 @@ sem_init
12371239
sem_open
12381240
sem_timedwait
12391241
sem_unlink
1242+
sendmmsg
12401243
sendmsg
12411244
setdomainname
12421245
setgrent

src/unix/bsd/netbsdlike/mod.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,11 @@ s! {
9292
pub piod_addr: *mut ::c_void,
9393
pub piod_len: ::size_t,
9494
}
95+
96+
pub struct mmsghdr {
97+
pub msg_hdr: ::msghdr,
98+
pub msg_len: ::c_uint,
99+
}
95100
}
96101

97102
pub const D_T_FMT: ::nl_item = 0;
@@ -848,6 +853,20 @@ extern "C" {
848853
pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
849854
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
850855
pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int;
856+
857+
pub fn sendmmsg(
858+
sockfd: ::c_int,
859+
mmsg: *mut ::mmsghdr,
860+
vlen: ::c_uint,
861+
flags: ::c_int,
862+
) -> ::c_int;
863+
pub fn recvmmsg(
864+
sockfd: ::c_int,
865+
mmsg: *mut ::mmsghdr,
866+
vlen: ::c_uint,
867+
flags: ::c_int,
868+
timeout: *mut ::timespec,
869+
) -> ::c_int;
851870
}
852871

853872
cfg_if! {

src/unix/bsd/netbsdlike/netbsd/mod.rs

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -401,11 +401,6 @@ s! {
401401
pub sdl_data: [::c_char; 12],
402402
}
403403

404-
pub struct mmsghdr {
405-
pub msg_hdr: ::msghdr,
406-
pub msg_len: ::c_uint,
407-
}
408-
409404
pub struct __exit_status {
410405
pub e_termination: u16,
411406
pub e_exit: u16,
@@ -2781,20 +2776,6 @@ extern "C" {
27812776

27822777
pub fn kqueue1(flags: ::c_int) -> ::c_int;
27832778

2784-
pub fn sendmmsg(
2785-
sockfd: ::c_int,
2786-
msgvec: *mut ::mmsghdr,
2787-
vlen: ::c_uint,
2788-
flags: ::c_int,
2789-
) -> ::c_int;
2790-
pub fn recvmmsg(
2791-
sockfd: ::c_int,
2792-
msgvec: *mut ::mmsghdr,
2793-
vlen: ::c_uint,
2794-
flags: ::c_int,
2795-
timeout: *mut ::timespec,
2796-
) -> ::c_int;
2797-
27982779
pub fn _lwp_self() -> lwpid_t;
27992780
pub fn memmem(
28002781
haystack: *const ::c_void,

0 commit comments

Comments
 (0)