diff --git a/src/new/netbsd/sys/statvfs.rs b/src/new/netbsd/sys/statvfs.rs index 2e8fe5e20216..9ff371b77347 100644 --- a/src/new/netbsd/sys/statvfs.rs +++ b/src/new/netbsd/sys/statvfs.rs @@ -35,13 +35,11 @@ s! { pub f_namemax: c_ulong, pub f_owner: crate::uid_t, - // This type is updated in a future version - f_spare: Padding<[u32; 4]>, + f_spare: [u64; 4], pub f_fstypename: [c_char; _VFS_NAMELEN], pub f_mntonname: [c_char; _VFS_MNAMELEN], pub f_mntfromname: [c_char; _VFS_MNAMELEN], - // Added in NetBSD10 - // pub f_mntfromlabel: [c_char; _VFS_MNAMELEN], + pub f_mntfromlabel: [c_char; _VFS_MNAMELEN], } } diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index 12dfe02b5c37..4a3ff7148a9e 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -2255,7 +2255,7 @@ extern "C" { ntargets: size_t, hint: *const c_void, ) -> c_int; - #[link_name = "__getmntinfo13"] + #[link_name = "__getmntinfo90"] pub fn getmntinfo(mntbufp: *mut *mut crate::statvfs, flags: c_int) -> c_int; pub fn getvfsstat(buf: *mut crate::statvfs, bufsize: size_t, flags: c_int) -> c_int; diff --git a/src/unix/mod.rs b/src/unix/mod.rs index cab769894255..bffbaaa4c971 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -1667,9 +1667,11 @@ extern "C" { pub fn sem_post(sem: *mut sem_t) -> c_int; #[cfg(not(all(target_os = "linux", target_env = "gnu")))] // defined in new/glibc #[cfg_attr(gnu_file_offset_bits64, link_name = "statvfs64")] + #[cfg_attr(target_os = "netbsd", link_name = "__statvfs190")] pub fn statvfs(path: *const c_char, buf: *mut crate::statvfs) -> c_int; #[cfg(not(all(target_os = "linux", target_env = "gnu")))] // defined in new/glibc #[cfg_attr(gnu_file_offset_bits64, link_name = "fstatvfs64")] + #[cfg_attr(target_os = "netbsd", link_name = "__fstatvfs190")] pub fn fstatvfs(fd: c_int, buf: *mut crate::statvfs) -> c_int; #[cfg_attr(target_os = "netbsd", link_name = "__sigemptyset14")]