]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | |
3 | * SGTTY stuff contributed by Janne Snabb <snabb@niksula.hut.fi> | |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | |
5 | * All rights reserved | |
6 | * | |
7 | * As far as I am concerned, the code I have written for this software | |
8 | * can be used freely for any purpose. Any derived versions of this | |
9 | * software must be clearly marked as such, and if the derived work is | |
10 | * incompatible with the protocol description in the RFC file, it must be | |
11 | * called by a name other than "ssh" or "Secure Shell". | |
12 | */ | |
13 | ||
14 | /* RCSID("$OpenBSD: ttymodes.h,v 1.10 2001/03/10 15:02:05 stevesk Exp $"); */ | |
15 | ||
16 | /* The tty mode description is a stream of bytes. The stream consists of | |
17 | * opcode-arguments pairs. It is terminated by opcode TTY_OP_END (0). | |
18 | * Opcodes 1-127 have one-byte arguments. Opcodes 128-159 have integer | |
19 | * arguments. Opcodes 160-255 are not yet defined, and cause parsing to | |
20 | * stop (they should only be used after any other data). | |
21 | * | |
22 | * The client puts in the stream any modes it knows about, and the | |
23 | * server ignores any modes it does not know about. This allows some degree | |
24 | * of machine-independence, at least between systems that use a posix-like | |
25 | * tty interface. The protocol can support other systems as well, but might | |
26 | * require reimplementing as mode names would likely be different. | |
27 | */ | |
28 | ||
29 | /* | |
30 | * Some constants and prototypes are defined in packet.h; this file | |
31 | * is only intended for including from ttymodes.c. | |
32 | */ | |
33 | ||
34 | /* termios macro */ | |
35 | /* name, op */ | |
36 | TTYCHAR(VINTR, 1) | |
37 | TTYCHAR(VQUIT, 2) | |
38 | TTYCHAR(VERASE, 3) | |
39 | #if defined(VKILL) | |
40 | TTYCHAR(VKILL, 4) | |
41 | #endif /* VKILL */ | |
42 | TTYCHAR(VEOF, 5) | |
43 | #if defined(VEOL) | |
44 | TTYCHAR(VEOL, 6) | |
45 | #endif /* VEOL */ | |
46 | #ifdef VEOL2 | |
47 | TTYCHAR(VEOL2, 7) | |
48 | #endif /* VEOL2 */ | |
49 | TTYCHAR(VSTART, 8) | |
50 | TTYCHAR(VSTOP, 9) | |
51 | #if defined(VSUSP) | |
52 | TTYCHAR(VSUSP, 10) | |
53 | #endif /* VSUSP */ | |
54 | #if defined(VDSUSP) | |
55 | TTYCHAR(VDSUSP, 11) | |
56 | #endif /* VDSUSP */ | |
57 | #if defined(VREPRINT) | |
58 | TTYCHAR(VREPRINT, 12) | |
59 | #endif /* VREPRINT */ | |
60 | #if defined(VWERASE) | |
61 | TTYCHAR(VWERASE, 13) | |
62 | #endif /* VWERASE */ | |
63 | #if defined(VLNEXT) | |
64 | TTYCHAR(VLNEXT, 14) | |
65 | #endif /* VLNEXT */ | |
66 | #if defined(VFLUSH) | |
67 | TTYCHAR(VFLUSH, 15) | |
68 | #endif /* VFLUSH */ | |
69 | #ifdef VSWTCH | |
70 | TTYCHAR(VSWTCH, 16) | |
71 | #endif /* VSWTCH */ | |
72 | #if defined(VSTATUS) | |
73 | TTYCHAR(VSTATUS, 17) | |
74 | #endif /* VSTATUS */ | |
75 | #ifdef VDISCARD | |
76 | TTYCHAR(VDISCARD, 18) | |
77 | #endif /* VDISCARD */ | |
78 | ||
79 | /* name, field, op */ | |
80 | TTYMODE(IGNPAR, c_iflag, 30) | |
81 | TTYMODE(PARMRK, c_iflag, 31) | |
82 | TTYMODE(INPCK, c_iflag, 32) | |
83 | TTYMODE(ISTRIP, c_iflag, 33) | |
84 | TTYMODE(INLCR, c_iflag, 34) | |
85 | TTYMODE(IGNCR, c_iflag, 35) | |
86 | TTYMODE(ICRNL, c_iflag, 36) | |
87 | #if defined(IUCLC) | |
88 | TTYMODE(IUCLC, c_iflag, 37) | |
89 | #endif | |
90 | TTYMODE(IXON, c_iflag, 38) | |
91 | TTYMODE(IXANY, c_iflag, 39) | |
92 | TTYMODE(IXOFF, c_iflag, 40) | |
93 | #ifdef IMAXBEL | |
94 | TTYMODE(IMAXBEL,c_iflag, 41) | |
95 | #endif /* IMAXBEL */ | |
96 | ||
97 | TTYMODE(ISIG, c_lflag, 50) | |
98 | TTYMODE(ICANON, c_lflag, 51) | |
99 | #ifdef XCASE | |
100 | TTYMODE(XCASE, c_lflag, 52) | |
101 | #endif | |
102 | TTYMODE(ECHO, c_lflag, 53) | |
103 | TTYMODE(ECHOE, c_lflag, 54) | |
104 | TTYMODE(ECHOK, c_lflag, 55) | |
105 | TTYMODE(ECHONL, c_lflag, 56) | |
106 | TTYMODE(NOFLSH, c_lflag, 57) | |
107 | TTYMODE(TOSTOP, c_lflag, 58) | |
108 | #ifdef IEXTEN | |
109 | TTYMODE(IEXTEN, c_lflag, 59) | |
110 | #endif /* IEXTEN */ | |
111 | #if defined(ECHOCTL) | |
112 | TTYMODE(ECHOCTL,c_lflag, 60) | |
113 | #endif /* ECHOCTL */ | |
114 | #ifdef ECHOKE | |
115 | TTYMODE(ECHOKE, c_lflag, 61) | |
116 | #endif /* ECHOKE */ | |
117 | #if defined(PENDIN) | |
118 | TTYMODE(PENDIN, c_lflag, 62) | |
119 | #endif /* PENDIN */ | |
120 | ||
121 | TTYMODE(OPOST, c_oflag, 70) | |
122 | #if defined(OLCUC) | |
123 | TTYMODE(OLCUC, c_oflag, 71) | |
124 | #endif | |
125 | TTYMODE(ONLCR, c_oflag, 72) | |
126 | #ifdef OCRNL | |
127 | TTYMODE(OCRNL, c_oflag, 73) | |
128 | #endif | |
129 | #ifdef ONOCR | |
130 | TTYMODE(ONOCR, c_oflag, 74) | |
131 | #endif | |
132 | #ifdef ONLRET | |
133 | TTYMODE(ONLRET, c_oflag, 75) | |
134 | #endif | |
135 | ||
136 | TTYMODE(CS7, c_cflag, 90) | |
137 | TTYMODE(CS8, c_cflag, 91) | |
138 | TTYMODE(PARENB, c_cflag, 92) | |
139 | TTYMODE(PARODD, c_cflag, 93) |