share some more termios constants

This commit is contained in:
auronandace
2026-07-07 08:57:07 +01:00
parent 82d444324e
commit bcbd9bb69c
3 changed files with 109 additions and 60 deletions
+62
View File
@@ -37,3 +37,65 @@ pub const ICRNL: usize = 0o000_400;
/// Enable any character to restart output.
pub const IXANY: usize = 0o004_000;
/* } c_iflag */
/* c_oflag { */
/// Post-process output.
pub const OPOST: usize = 0o000_001;
/// Map CR to NL on output.
pub const OCRNL: usize = 0o000_010;
/// No CR output at column 0.
pub const ONOCR: usize = 0o000_020;
/// NL performs CR function.
pub const ONLRET: usize = 0o000_040;
/// Use fill characters for delay.
pub const OFILL: usize = 0o000_100;
/// Fill is DEL.
pub const OFDEL: usize = 0o000_200;
/* } c_oflag */
/* c_cflag { */
/// Hang up.
pub const B0: usize = 0o000_000;
/// 50 baud.
pub const B50: usize = 0o000_001;
/// 75 baud.
pub const B75: usize = 0o000_002;
/// 110 baud.
pub const B110: usize = 0o000_003;
/// 134.5 baud.
pub const B134: usize = 0o000_004;
/// 150 baud.
pub const B150: usize = 0o000_005;
/// 200 baud.
pub const B200: usize = 0o000_006;
/// 300 baud.
pub const B300: usize = 0o000_007;
/// 600 baud.
pub const B600: usize = 0o000_010;
/// 1200 baud.
pub const B1200: usize = 0o000_011;
/// 1800 baud.
pub const B1800: usize = 0o000_012;
/// 2400 baud.
pub const B2400: usize = 0o000_013;
/// 4800 baud.
pub const B4800: usize = 0o000_014;
/// 9600 baud.
pub const B9600: usize = 0o000_015;
/// 19200 baud.
pub const B19200: usize = 0o000_016;
/// 38400 baud.
pub const B38400: usize = 0o000_017;
/// 5 bits.
pub const CS5: usize = 0o000_000;
/* } c_clfag */
/* c_lflag { */
/// Enable echo.
pub const ECHO: usize = 0o000_010;
/* } c_lflag */
// POSIX extensions
/// Sentinel value to disable a control char.
pub const _POSIX_VDISABLE: u8 = 0;
+25 -30
View File
@@ -93,38 +93,21 @@ pub const IUTF8: usize = 0o040_000;
/* } c_iflag */
/* c_oflag { */
pub const OPOST: usize = 0o000_001;
/// Non-POSIX, see <https://www.man7.org/linux/man-pages/man3/termios.3.html>.
///
/// Map lowercase characters to uppercase on output.
pub const OLCUC: usize = 0o000_002;
/// Map NL to CR-NL on output.
pub const ONLCR: usize = 0o000_004;
pub const OCRNL: usize = 0o000_010;
pub const ONOCR: usize = 0o000_020;
pub const ONLRET: usize = 0o000_040;
pub const OFILL: usize = 0o000_100;
pub const OFDEL: usize = 0o000_200;
/// Select vertical-tab delays.
pub const VTDLY: usize = 0o040_000;
/// Vertical-tab delay type 0.
pub const VT0: usize = 0o000_000;
/// Vertical-tab delay type 1.
pub const VT1: usize = 0o040_000;
/* } c_oflag */
/* c_cflag { */
pub const B0: usize = 0o000_000;
pub const B50: usize = 0o000_001;
pub const B75: usize = 0o000_002;
pub const B110: usize = 0o000_003;
pub const B134: usize = 0o000_004;
pub const B150: usize = 0o000_005;
pub const B200: usize = 0o000_006;
pub const B300: usize = 0o000_007;
pub const B600: usize = 0o000_010;
pub const B1200: usize = 0o000_011;
pub const B1800: usize = 0o000_012;
pub const B2400: usize = 0o000_013;
pub const B4800: usize = 0o000_014;
pub const B9600: usize = 0o000_015;
pub const B19200: usize = 0o000_016;
pub const B38400: usize = 0o000_017;
pub const B57600: usize = 0o010_001;
pub const B115200: usize = 0o010_002;
pub const B230400: usize = 0o010_003;
@@ -141,32 +124,44 @@ pub const B3000000: usize = 0o010_015;
pub const B3500000: usize = 0o010_016;
pub const B4000000: usize = 0o010_017;
/// Character size.
pub const CSIZE: usize = 0o000_060;
pub const CS5: usize = 0o000_000;
/// 6 bits.
pub const CS6: usize = 0o000_020;
/// 7 bits.
pub const CS7: usize = 0o000_040;
/// 8 bits.
pub const CS8: usize = 0o000_060;
/// Send two stop bits, else one.
pub const CSTOPB: usize = 0o000_100;
/// Enable receiver.
pub const CREAD: usize = 0o000_200;
/// Parity enable.
pub const PARENB: usize = 0o000_400;
/// Odd parity, else even.
pub const PARODD: usize = 0o001_000;
/// Hang up on last close.
pub const HUPCL: usize = 0o002_000;
/// Ignore modem status lines.
pub const CLOCAL: usize = 0o004_000;
/* } c_clfag */
/* c_lflag { */
/// Enable signals.
pub const ISIG: usize = 0o000_001;
/// Canoncal input (erase and kill processing).
pub const ICANON: usize = 0o000_002;
pub const ECHO: usize = 0o000_010;
/// Echo erase character as error-correcting backspace.
pub const ECHOE: usize = 0o000_020;
/// Echo KILL.
pub const ECHOK: usize = 0o000_040;
/// Echo NL.
pub const ECHONL: usize = 0o000_100;
/// Disable flush after interrupt or quit.
pub const NOFLSH: usize = 0o000_200;
/// Send `SIGTTOU` for background output.
pub const TOSTOP: usize = 0o000_400;
/// Enable extended input character processing.
pub const IEXTEN: usize = 0o100_000;
/* } c_lflag */
// POSIX extensions
/// Sentinel value to disable a control char.
pub const _POSIX_VDISABLE: u8 = 0;
+22 -30
View File
@@ -77,34 +77,15 @@ pub const IXOFF: usize = 0o002_000;
/* } c_iflag */
/* c_oflag { */
pub const OPOST: usize = 0o000_001;
/// Map NL to CR-NL on output.
pub const ONLCR: usize = 0o000_002;
/// Non-POSIX, see <https://www.man7.org/linux/man-pages/man3/termios.3.html>.
///
/// Map lowercase characters to uppercase on output.
pub const OLCUC: usize = 0o000_004;
pub const OCRNL: usize = 0o000_010;
pub const ONOCR: usize = 0o000_020;
pub const ONLRET: usize = 0o000_040;
pub const OFILL: usize = 0o0000_100;
pub const OFDEL: usize = 0o0000_200;
/* } c_oflag */
/* c_cflag { */
pub const B0: usize = 0o000_000;
pub const B50: usize = 0o000_001;
pub const B75: usize = 0o000_002;
pub const B110: usize = 0o000_003;
pub const B134: usize = 0o000_004;
pub const B150: usize = 0o000_005;
pub const B200: usize = 0o000_006;
pub const B300: usize = 0o000_007;
pub const B600: usize = 0o000_010;
pub const B1200: usize = 0o000_011;
pub const B1800: usize = 0o000_012;
pub const B2400: usize = 0o000_013;
pub const B4800: usize = 0o000_014;
pub const B9600: usize = 0o000_015;
pub const B19200: usize = 0o000_016;
pub const B38400: usize = 0o000_017;
pub const B57600: usize = 0o0_020;
pub const B115200: usize = 0o0_021;
pub const B230400: usize = 0o0_022;
@@ -121,33 +102,44 @@ pub const B3000000: usize = 0o0_034;
pub const B3500000: usize = 0o0_035;
pub const B4000000: usize = 0o0_036;
/// Character size.
pub const CSIZE: usize = 0o001_400;
pub const CS5: usize = 0o000_000;
/// 6 bits.
pub const CS6: usize = 0o000_400;
/// 7 bits.
pub const CS7: usize = 0o001_000;
/// 8 bits.
pub const CS8: usize = 0o001_400;
/// Send two stop bits, else one.
pub const CSTOPB: usize = 0o002_000;
/// Enable receiver.
pub const CREAD: usize = 0o004_000;
/// Parity enable.
pub const PARENB: usize = 0o010_000;
/// Odd parity, else even.
pub const PARODD: usize = 0o020_000;
/// Hang up on last close.
pub const HUPCL: usize = 0o040_000;
/// Ignore modem status lines.
pub const CLOCAL: usize = 0o0100000;
/* } c_clfag */
/* c_lflag { */
/// Enable signals.
pub const ISIG: usize = 0x0000_0080;
/// Canoncal input (erase and kill processing).
pub const ICANON: usize = 0x0000_0100;
pub const ECHO: usize = 0x0000_0008;
/// Echo erase character as error-correcting backspace.
pub const ECHOE: usize = 0x0000_0002;
/// Echo KILL.
pub const ECHOK: usize = 0x0000_0004;
/// Echo NL.
pub const ECHONL: usize = 0x0000_0010;
/// Disable flush after interrupt or quit.
pub const NOFLSH: usize = 0x8000_0000;
/// Send `SIGTTOU` for background output.
pub const TOSTOP: usize = 0x0040_0000;
/// Enable extended input character processing.
pub const IEXTEN: usize = 0x0000_0400;
/* } c_lflag */
// POSIX extensions
/// Sentinel value to disable a control char.
pub const _POSIX_VDISABLE: u8 = 0;