1 //! Helper module which provides a function to test
2 //! if stdout is a tty.
5 target_os = "cloudabi",
7 all(target_arch = "wasm32", not(target_os = "emscripten")),
8 all(target_vendor = "fortanix", target_env = "sgx")
10 pub fn stdout_isatty() -> bool {
11 // FIXME: Implement isatty on SGX
15 pub fn stdout_isatty() -> bool {
16 unsafe { libc::isatty(libc::STDOUT_FILENO) != 0 }
19 pub fn stdout_isatty() -> bool {
22 type HANDLE = *mut u8;
23 type LPDWORD = *mut u32;
24 const STD_OUTPUT_HANDLE: DWORD = -11i32 as DWORD;
26 fn GetStdHandle(which: DWORD) -> HANDLE;
27 fn GetConsoleMode(hConsoleHandle: HANDLE, lpMode: LPDWORD) -> BOOL;
30 let handle = GetStdHandle(STD_OUTPUT_HANDLE);
32 GetConsoleMode(handle, &mut out) != 0