MCPcopy Create free account
hub / github.com/cloud-hypervisor/cloud-hypervisor / create_sockaddr

Function create_sockaddr

net_util/src/lib.rs:62–75  ·  view source on GitHub ↗

Create a sockaddr_in from an IPv4 address, and expose it as an opaque sockaddr suitable for usage by socket ioctls.

(ip_addr: net::Ipv4Addr)

Source from the content-addressed store, hash-verified

60/// Create a sockaddr_in from an IPv4 address, and expose it as
61/// an opaque sockaddr suitable for usage by socket ioctls.
62fn create_sockaddr(ip_addr: net::Ipv4Addr) -> libc::sockaddr {
63 let addr_in = libc::sockaddr_in {
64 sin_family: libc::AF_INET as u16,
65 sin_port: 0,
66 sin_addr: libc::in_addr {
67 // Use network byte order (big endian).
68 s_addr: ip_addr.to_bits().to_be(),
69 },
70 sin_zero: [0; 8],
71 };
72
73 // SAFETY: addr_in can be safely transmute to sockaddr
74 unsafe { mem::transmute(addr_in) }
75}
76
77fn create_inet_socket(addr: IpAddr) -> Result<net::UdpSocket> {
78 let domain = match addr {

Callers 2

test_create_sockaddrFunction · 0.85
set_ip_addrMethod · 0.85

Calls

no outgoing calls

Tested by 1

test_create_sockaddrFunction · 0.68