diff --git a/libc-test/semver/apple.txt b/libc-test/semver/apple.txt index 3bc827f8d849..48d96accba45 100644 --- a/libc-test/semver/apple.txt +++ b/libc-test/semver/apple.txt @@ -1545,6 +1545,10 @@ UTUN_OPT_IFNAME VDISCARD VDSUSP VLNEXT +VM_INHERIT_COPY +VM_INHERIT_DONATE_COPY +VM_INHERIT_NONE +VM_INHERIT_SHARE VM_LOADAVG VM_MACHFACTOR VM_MAKE_TAG diff --git a/libc-test/semver/dragonfly.txt b/libc-test/semver/dragonfly.txt index 6d41c8c6cabd..4b4141a98b80 100644 --- a/libc-test/semver/dragonfly.txt +++ b/libc-test/semver/dragonfly.txt @@ -367,6 +367,10 @@ IFF_SMART IFF_STATICARP IFF_UP IMAXBEL +INHERIT_COPY +INHERIT_NONE +INHERIT_SHARE +INHERIT_ZERO INIT_PROCESS IOV_MAX IPC_CREAT diff --git a/libc-test/semver/freebsd.txt b/libc-test/semver/freebsd.txt index 99748fe84be5..fc6aca59f78d 100644 --- a/libc-test/semver/freebsd.txt +++ b/libc-test/semver/freebsd.txt @@ -516,6 +516,10 @@ IFF_SIMPLEX IFF_STATICARP IFF_UP IMAXBEL +INHERIT_COPY +INHERIT_NONE +INHERIT_SHARE +INHERIT_ZERO INIT_PROCESS IOV_MAX IPC_CREAT @@ -1705,6 +1709,10 @@ VDISCARD VDSUSP VERASE2 VLNEXT +VM_INHERIT_COPY +VM_INHERIT_DONATE_COPY +VM_INHERIT_NONE +VM_INHERIT_SHARE VM_TOTAL VREPRINT VSTATUS diff --git a/libc-test/semver/netbsd.txt b/libc-test/semver/netbsd.txt index 982f610a4f3a..afab5e6ba7fc 100644 --- a/libc-test/semver/netbsd.txt +++ b/libc-test/semver/netbsd.txt @@ -635,6 +635,11 @@ MAP_ALIGNMENT_MASK MAP_ALIGNMENT_SHIFT MAP_FILE MAP_HASSEMAPHORE +MAP_INHERIT_COPY +MAP_INHERIT_DONATE_COPY +MAP_INHERIT_NONE +MAP_INHERIT_SHARE +MAP_INHERIT_ZERO MAP_NORESERVE MAP_REMAPDUP MAP_RENAME diff --git a/libc-test/semver/openbsd.txt b/libc-test/semver/openbsd.txt index 0505a3e4a256..32c5fb9140a7 100644 --- a/libc-test/semver/openbsd.txt +++ b/libc-test/semver/openbsd.txt @@ -493,6 +493,10 @@ MAP_CONCEAL MAP_COPY MAP_FILE MAP_HASSEMAPHORE +MAP_INHERIT_COPY +MAP_INHERIT_NONE +MAP_INHERIT_SHARE +MAP_INHERIT_ZERO MAP_NOEXTEND MAP_NORESERVE MAP_RENAME diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs index 7b084251d3b8..9d20d9240659 100644 --- a/src/unix/bsd/apple/mod.rs +++ b/src/unix/bsd/apple/mod.rs @@ -3308,6 +3308,10 @@ pub const VM_PROT_NONE: crate::vm_prot_t = 0x00; pub const VM_PROT_READ: crate::vm_prot_t = 0x01; pub const VM_PROT_WRITE: crate::vm_prot_t = 0x02; pub const VM_PROT_EXECUTE: crate::vm_prot_t = 0x04; +pub const VM_INHERIT_SHARE: c_int = 0; +pub const VM_INHERIT_COPY: c_int = 1; +pub const VM_INHERIT_NONE: c_int = 2; +pub const VM_INHERIT_DONATE_COPY: c_int = 3; pub const MEMORY_OBJECT_NULL: crate::memory_object_t = 0; pub const HW_MACHINE: c_int = 1; pub const HW_MODEL: c_int = 2; diff --git a/src/unix/bsd/freebsdlike/mod.rs b/src/unix/bsd/freebsdlike/mod.rs index 30d78f5ff526..b9c74ace6872 100644 --- a/src/unix/bsd/freebsdlike/mod.rs +++ b/src/unix/bsd/freebsdlike/mod.rs @@ -576,6 +576,12 @@ pub const MAP_ANONYMOUS: c_int = MAP_ANON; pub const MAP_FAILED: *mut c_void = !0 as *mut c_void; +// minherit syscall inherit values +pub const INHERIT_SHARE: c_int = 0; +pub const INHERIT_COPY: c_int = 1; +pub const INHERIT_NONE: c_int = 2; +pub const INHERIT_ZERO: c_int = 3; + pub const MCL_CURRENT: c_int = 0x0001; pub const MCL_FUTURE: c_int = 0x0002; diff --git a/src/unix/bsd/mod.rs b/src/unix/bsd/mod.rs index 754272a852c4..bb7e4ab4afec 100644 --- a/src/unix/bsd/mod.rs +++ b/src/unix/bsd/mod.rs @@ -658,6 +658,7 @@ extern "C" { )] pub fn telldir(dirp: *mut crate::DIR) -> c_long; pub fn madvise(addr: *mut c_void, len: size_t, advice: c_int) -> c_int; + pub fn minherit(addr: *mut c_void, len: size_t, inherit: c_int) -> c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), diff --git a/src/unix/bsd/netbsdlike/mod.rs b/src/unix/bsd/netbsdlike/mod.rs index 557199dc75a8..961b8b9369dc 100644 --- a/src/unix/bsd/netbsdlike/mod.rs +++ b/src/unix/bsd/netbsdlike/mod.rs @@ -209,6 +209,15 @@ pub const MAP_ANONYMOUS: c_int = MAP_ANON; pub const MAP_FAILED: *mut c_void = !0 as *mut c_void; +// minherit syscall inherit values +pub const MAP_INHERIT_SHARE: c_int = 0; +pub const MAP_INHERIT_COPY: c_int = 1; +pub const MAP_INHERIT_NONE: c_int = 2; +#[cfg(target_os = "netbsd")] +pub const MAP_INHERIT_DONATE_COPY: c_int = 3; +#[cfg(target_os = "netbsd")] +pub const MAP_INHERIT_ZERO: c_int = 4; + pub const IPC_CREAT: c_int = 0o001000; pub const IPC_EXCL: c_int = 0o002000; pub const IPC_NOWAIT: c_int = 0o004000;