bssh_russh/
pty.rs

1#[allow(non_camel_case_types, missing_docs)]
2#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3/// Standard pseudo-terminal codes.
4pub enum Pty {
5    TTY_OP_END = 0,
6    VINTR = 1,
7    VQUIT = 2,
8    VERASE = 3,
9    VKILL = 4,
10    VEOF = 5,
11    VEOL = 6,
12    VEOL2 = 7,
13    VSTART = 8,
14    VSTOP = 9,
15    VSUSP = 10,
16    VDSUSP = 11,
17
18    VREPRINT = 12,
19    VWERASE = 13,
20    VLNEXT = 14,
21    VFLUSH = 15,
22    VSWTCH = 16,
23    VSTATUS = 17,
24    VDISCARD = 18,
25    IGNPAR = 30,
26    PARMRK = 31,
27    INPCK = 32,
28    ISTRIP = 33,
29    INLCR = 34,
30    IGNCR = 35,
31    ICRNL = 36,
32    IUCLC = 37,
33    IXON = 38,
34    IXANY = 39,
35    IXOFF = 40,
36    IMAXBEL = 41,
37    IUTF8 = 42,
38    ISIG = 50,
39    ICANON = 51,
40    XCASE = 52,
41    ECHO = 53,
42    ECHOE = 54,
43    ECHOK = 55,
44    ECHONL = 56,
45    NOFLSH = 57,
46    TOSTOP = 58,
47    IEXTEN = 59,
48    ECHOCTL = 60,
49    ECHOKE = 61,
50    PENDIN = 62,
51    OPOST = 70,
52    OLCUC = 71,
53    ONLCR = 72,
54    OCRNL = 73,
55    ONOCR = 74,
56    ONLRET = 75,
57
58    CS7 = 90,
59    CS8 = 91,
60    PARENB = 92,
61    PARODD = 93,
62
63    TTY_OP_ISPEED = 128,
64    TTY_OP_OSPEED = 129,
65}
66
67impl Pty {
68    #[doc(hidden)]
69    pub fn from_u8(x: u8) -> Option<Pty> {
70        match x {
71            0 => None,
72            1 => Some(Pty::VINTR),
73            2 => Some(Pty::VQUIT),
74            3 => Some(Pty::VERASE),
75            4 => Some(Pty::VKILL),
76            5 => Some(Pty::VEOF),
77            6 => Some(Pty::VEOL),
78            7 => Some(Pty::VEOL2),
79            8 => Some(Pty::VSTART),
80            9 => Some(Pty::VSTOP),
81            10 => Some(Pty::VSUSP),
82            11 => Some(Pty::VDSUSP),
83
84            12 => Some(Pty::VREPRINT),
85            13 => Some(Pty::VWERASE),
86            14 => Some(Pty::VLNEXT),
87            15 => Some(Pty::VFLUSH),
88            16 => Some(Pty::VSWTCH),
89            17 => Some(Pty::VSTATUS),
90            18 => Some(Pty::VDISCARD),
91            30 => Some(Pty::IGNPAR),
92            31 => Some(Pty::PARMRK),
93            32 => Some(Pty::INPCK),
94            33 => Some(Pty::ISTRIP),
95            34 => Some(Pty::INLCR),
96            35 => Some(Pty::IGNCR),
97            36 => Some(Pty::ICRNL),
98            37 => Some(Pty::IUCLC),
99            38 => Some(Pty::IXON),
100            39 => Some(Pty::IXANY),
101            40 => Some(Pty::IXOFF),
102            41 => Some(Pty::IMAXBEL),
103            42 => Some(Pty::IUTF8),
104            50 => Some(Pty::ISIG),
105            51 => Some(Pty::ICANON),
106            52 => Some(Pty::XCASE),
107            53 => Some(Pty::ECHO),
108            54 => Some(Pty::ECHOE),
109            55 => Some(Pty::ECHOK),
110            56 => Some(Pty::ECHONL),
111            57 => Some(Pty::NOFLSH),
112            58 => Some(Pty::TOSTOP),
113            59 => Some(Pty::IEXTEN),
114            60 => Some(Pty::ECHOCTL),
115            61 => Some(Pty::ECHOKE),
116            62 => Some(Pty::PENDIN),
117            70 => Some(Pty::OPOST),
118            71 => Some(Pty::OLCUC),
119            72 => Some(Pty::ONLCR),
120            73 => Some(Pty::OCRNL),
121            74 => Some(Pty::ONOCR),
122            75 => Some(Pty::ONLRET),
123
124            90 => Some(Pty::CS7),
125            91 => Some(Pty::CS8),
126            92 => Some(Pty::PARENB),
127            93 => Some(Pty::PARODD),
128
129            128 => Some(Pty::TTY_OP_ISPEED),
130            129 => Some(Pty::TTY_OP_OSPEED),
131            _ => None,
132        }
133    }
134}