1 use std::str;
2
main()3 fn main() {
4 dbg!(wasip2::filesystem::preopens::get_directories());
5 unsafe {
6 let p3 = wasip1::fd_prestat_get(3).unwrap();
7 let p4 = wasip1::fd_prestat_get(4).unwrap();
8 let p5 = wasip1::fd_prestat_get(5).unwrap();
9 assert_eq!(wasip1::fd_prestat_get(6).err().unwrap(), wasip1::ERRNO_BADF);
10
11 assert_eq!(p3.u.dir.pr_name_len, 2);
12 assert_eq!(p4.u.dir.pr_name_len, 2);
13 assert_eq!(p5.u.dir.pr_name_len, 2);
14
15 let mut buf = [0; 100];
16
17 wasip1::fd_prestat_dir_name(3, buf.as_mut_ptr(), buf.len()).unwrap();
18 assert_eq!(str::from_utf8(&buf[..2]).unwrap(), "/a");
19 wasip1::fd_prestat_dir_name(4, buf.as_mut_ptr(), buf.len()).unwrap();
20 assert_eq!(str::from_utf8(&buf[..2]).unwrap(), "/b");
21 wasip1::fd_prestat_dir_name(5, buf.as_mut_ptr(), buf.len()).unwrap();
22 assert_eq!(str::from_utf8(&buf[..2]).unwrap(), "/c");
23 assert_eq!(
24 wasip1::fd_prestat_dir_name(6, buf.as_mut_ptr(), buf.len()),
25 Err(wasip1::ERRNO_BADF),
26 );
27 }
28 // ..
29 }
30