1 | //! Terminal I/O stream operations. |
2 | //! |
3 | //! This API automatically supports setting arbitrary I/O speeds, on any |
4 | //! platform that supports them, including Linux and the BSDs. |
5 | //! |
6 | //! The [`speed`] module contains various predefined speed constants which are |
7 | //! more likely to be portable, however any `u32` value can be passed to |
8 | //! [`Termios::set_speed`], [`Termios::set_input_speed`], and |
9 | //! [`Termios::set_output_speed`], and they will simply fail if the speed is |
10 | //! not supported by the platform or the device. |
11 | |
12 | #[cfg (not(any( |
13 | target_os = "cygwin" , |
14 | target_os = "espidf" , |
15 | target_os = "haiku" , |
16 | target_os = "wasi" , |
17 | )))] |
18 | mod ioctl; |
19 | #[cfg (not(target_os = "wasi" ))] |
20 | mod tc; |
21 | #[cfg (not(windows))] |
22 | mod tty; |
23 | #[cfg (not(any(target_os = "espidf" , target_os = "wasi" )))] |
24 | mod types; |
25 | |
26 | #[cfg (not(any( |
27 | target_os = "cygwin" , |
28 | target_os = "espidf" , |
29 | target_os = "haiku" , |
30 | target_os = "wasi" , |
31 | )))] |
32 | pub use ioctl::*; |
33 | #[cfg (not(target_os = "wasi" ))] |
34 | pub use tc::*; |
35 | #[cfg (not(windows))] |
36 | pub use tty::*; |
37 | #[cfg (not(any(target_os = "espidf" , target_os = "wasi" )))] |
38 | pub use types::*; |
39 | |