|
1 | 1 | #![deny(unsafe_op_in_unsafe_fn)] |
2 | 2 | #![allow(dead_code)] |
3 | 3 |
|
| 4 | +use libc::c_int; |
| 5 | + |
4 | 6 | use super::err2io; |
5 | 7 | use super::fd::WasiFd; |
6 | 8 | use crate::collections::VecDeque; |
7 | 9 | use crate::fmt; |
8 | 10 | use crate::io::{self, BorrowedCursor, IoSlice, IoSliceMut}; |
9 | 11 | use crate::net::{IpAddr, Ipv4Addr, Ipv6Addr, Shutdown, SocketAddr}; |
10 | 12 | use crate::os::wasi::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, RawFd}; |
11 | | - |
12 | 13 | use crate::sync::{Arc, Mutex}; |
13 | | -use crate::sys_common::{AsInner, FromInner, IntoInner}; |
14 | | -use crate::time::Duration; |
15 | | -use crate::time::Instant; |
16 | | -use libc::c_int; |
17 | | - |
18 | 14 | pub use crate::sys::cvt; |
| 15 | +use crate::sys_common::{AsInner, FromInner, IntoInner}; |
| 16 | +use crate::time::{Duration, Instant}; |
19 | 17 |
|
20 | 18 | pub struct Socket { |
21 | 19 | fd: Option<WasiFd>, |
@@ -741,11 +739,11 @@ fn conv_addr_v4(u: wasi::AddrIp4) -> Ipv4Addr { |
741 | 739 | Ipv4Addr::new(u.n0, u.n1, u.h0, u.h1) |
742 | 740 | } |
743 | 741 |
|
744 | | -fn conv_addr_v6(u: wasi::AddrIp6) -> Ipv6Addr { |
| 742 | +fn conv_addr_v6(u: wasi::AddrIp6Bare) -> Ipv6Addr { |
745 | 743 | Ipv6Addr::new(u.n0, u.n1, u.n2, u.n3, u.h0, u.h1, u.h2, u.h3) |
746 | 744 | } |
747 | 745 |
|
748 | | -fn conv_addr(addr: wasi::Addr) -> IpAddr { |
| 746 | +fn conv_addr(addr: wasi::AddrIp) -> IpAddr { |
749 | 747 | unsafe { |
750 | 748 | match addr.tag { |
751 | 749 | a if a == wasi::ADDRESS_FAMILY_INET6.raw() => IpAddr::V6(conv_addr_v6(addr.u.inet6)), |
@@ -787,6 +785,10 @@ fn to_wasi_addr_v6(ip: Ipv6Addr) -> wasi::AddrIp6 { |
787 | 785 | h1: segs[5], |
788 | 786 | h2: segs[6], |
789 | 787 | h3: segs[7], |
| 788 | + flow_info0: 0, |
| 789 | + flow_info1: 0, |
| 790 | + scope_id0: 0, |
| 791 | + scope_id1: 0, |
790 | 792 | } |
791 | 793 | } |
792 | 794 |
|
@@ -1304,8 +1306,8 @@ impl<'a> TryFrom<(&'a str, u16)> for LookupHost { |
1304 | 1306 | let port = v.1; |
1305 | 1307 | let mut ret = VecDeque::new(); |
1306 | 1308 | unsafe { |
1307 | | - let mut ips = [crate::mem::MaybeUninit::<wasi::Addr>::zeroed(); 50]; |
1308 | | - let cnt = wasi::resolve(host, port, ips.as_mut_ptr() as *mut wasi::Addr, ips.len()) |
| 1309 | + let mut ips = [crate::mem::MaybeUninit::<wasi::AddrIp>::zeroed(); 50]; |
| 1310 | + let cnt = wasi::resolve(host, port, ips.as_mut_ptr() as *mut wasi::AddrIp, ips.len()) |
1309 | 1311 | .map_err(err2io)?; |
1310 | 1312 | for n in 0..cnt { |
1311 | 1313 | let ip = ips[n].assume_init(); |
|
0 commit comments