diff --git a/src/unix/solarish/compat.rs b/src/unix/solarish/compat.rs index 8fd1c750a62cf..649d6ac9a1536 100644 --- a/src/unix/solarish/compat.rs +++ b/src/unix/solarish/compat.rs @@ -53,6 +53,7 @@ unsafe fn bail(fdm: c_int, fds: c_int) -> c_int { return -1; } +#[cfg(target_os = "illumos")] pub unsafe fn openpty( amain: *mut c_int, asubord: *mut c_int, @@ -123,6 +124,7 @@ pub unsafe fn openpty( 0 } +#[cfg(target_os = "illumos")] pub unsafe fn forkpty( amain: *mut c_int, name: *mut c_char, diff --git a/src/unix/solarish/solaris.rs b/src/unix/solarish/solaris.rs index 0eca2c4f6f8cc..96a8ad5b085dd 100644 --- a/src/unix/solarish/solaris.rs +++ b/src/unix/solarish/solaris.rs @@ -1,7 +1,7 @@ use crate::prelude::*; use crate::{ exit_status, off_t, NET_MAC_AWARE, NET_MAC_AWARE_INHERIT, PRIV_AWARE_RESET, PRIV_DEBUG, - PRIV_PFEXEC, PRIV_XPOLICY, + PRIV_PFEXEC, PRIV_XPOLICY, termios, }; pub type door_attr_t = c_uint; @@ -241,4 +241,19 @@ extern "C" { pub fn pthread_getattr_np(thread: crate::pthread_t, attr: *mut crate::pthread_attr_t) -> c_int; pub fn euidaccess(path: *const c_char, amode: c_int) -> c_int; + + pub fn openpty( + amain: *mut c_int, + asubord: *mut c_int, + name: *mut c_char, + termp: *mut termios, + winp: *mut crate::winsize, + ) -> c_int; + + pub fn forkpty( + amain: *mut c_int, + name: *mut c_char, + termp: *mut termios, + winp: *mut crate::winsize, + ) -> crate::pid_t; }