solana_streamer/
msghdr.rs1#![cfg(target_os = "linux")]
2
3use {
4 libc::{iovec, msghdr, sockaddr_storage, socklen_t},
5 std::{
6 mem::{zeroed, MaybeUninit},
7 ptr,
8 },
9};
10
11pub(crate) fn create_msghdr(
12 msg_name: &mut MaybeUninit<sockaddr_storage>,
13 msg_namelen: socklen_t,
14 iov: &mut MaybeUninit<iovec>,
15) -> msghdr {
16 let mut msg_hdr: msghdr = unsafe { zeroed() };
19 msg_hdr.msg_name = msg_name.as_mut_ptr() as *mut _;
20 msg_hdr.msg_namelen = msg_namelen;
21 msg_hdr.msg_iov = iov.as_mut_ptr();
22 msg_hdr.msg_iovlen = 1;
23 msg_hdr.msg_control = ptr::null::<libc::c_void>() as *mut _;
24 msg_hdr.msg_controllen = 0;
25 msg_hdr.msg_flags = 0;
26 msg_hdr
27}