]> andersk Git - gssapi-openssh.git/blob - openssh/ttymodes.h
The man2html from jbasney on pkilab2 works whereas the standard one doesn't.
[gssapi-openssh.git] / openssh / ttymodes.h
1 /* RCSID("$OpenBSD: ttymodes.h,v 1.11 2001/04/14 16:33:20 stevesk Exp $"); */
2 /*
3  * Author: Tatu Ylonen <ylo@cs.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 /*
15  * SSH2 tty modes support by Kevin Steves.
16  * Copyright (c) 2001 Kevin Steves.  All rights reserved.
17  *
18  * Redistribution and use in source and binary forms, with or without
19  * modification, are permitted provided that the following conditions
20  * are met:
21  * 1. Redistributions of source code must retain the above copyright
22  *    notice, this list of conditions and the following disclaimer.
23  * 2. Redistributions in binary form must reproduce the above copyright
24  *    notice, this list of conditions and the following disclaimer in the
25  *    documentation and/or other materials provided with the distribution.
26  *
27  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
28  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
29  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
30  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
31  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
32  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
36  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37  */
38
39 /*
40  * SSH1:
41  * The tty mode description is a stream of bytes.  The stream consists of
42  * opcode-arguments pairs.  It is terminated by opcode TTY_OP_END (0).
43  * Opcodes 1-127 have one-byte arguments.  Opcodes 128-159 have integer
44  * arguments.  Opcodes 160-255 are not yet defined, and cause parsing to
45  * stop (they should only be used after any other data).
46  *
47  * SSH2:
48  * Differences between SSH1 and SSH2 terminal mode encoding include:
49  * 1. Encoded terminal modes are represented as a string, and a stream
50  *    of bytes within that string.
51  * 2. Opcode arguments are uint32 (1-159); 160-255 remain undefined.
52  * 3. The values for TTY_OP_ISPEED and TTY_OP_OSPEED are different;
53  *    128 and 129 vs. 192 and 193 respectively.
54  *
55  * The client puts in the stream any modes it knows about, and the
56  * server ignores any modes it does not know about.  This allows some degree
57  * of machine-independence, at least between systems that use a posix-like
58  * tty interface.  The protocol can support other systems as well, but might
59  * require reimplementing as mode names would likely be different.
60  */
61
62 /*
63  * Some constants and prototypes are defined in packet.h; this file
64  * is only intended for including from ttymodes.c.
65  */
66
67 /* termios macro */
68 /* name, op */
69 TTYCHAR(VINTR, 1)
70 TTYCHAR(VQUIT, 2)
71 TTYCHAR(VERASE, 3)
72 #if defined(VKILL)
73 TTYCHAR(VKILL, 4)
74 #endif /* VKILL */
75 TTYCHAR(VEOF, 5)
76 #if defined(VEOL)
77 TTYCHAR(VEOL, 6)
78 #endif /* VEOL */
79 #ifdef VEOL2
80 TTYCHAR(VEOL2, 7)
81 #endif /* VEOL2 */
82 TTYCHAR(VSTART, 8)
83 TTYCHAR(VSTOP, 9)
84 #if defined(VSUSP)
85 TTYCHAR(VSUSP, 10)
86 #endif /* VSUSP */
87 #if defined(VDSUSP)
88 TTYCHAR(VDSUSP, 11)
89 #endif /* VDSUSP */
90 #if defined(VREPRINT)
91 TTYCHAR(VREPRINT, 12)
92 #endif /* VREPRINT */
93 #if defined(VWERASE)
94 TTYCHAR(VWERASE, 13)
95 #endif /* VWERASE */
96 #if defined(VLNEXT)
97 TTYCHAR(VLNEXT, 14)
98 #endif /* VLNEXT */
99 #if defined(VFLUSH)
100 TTYCHAR(VFLUSH, 15)
101 #endif /* VFLUSH */
102 #ifdef VSWTCH
103 TTYCHAR(VSWTCH, 16)
104 #endif /* VSWTCH */
105 #if defined(VSTATUS)
106 TTYCHAR(VSTATUS, 17)
107 #endif /* VSTATUS */
108 #ifdef VDISCARD
109 TTYCHAR(VDISCARD, 18)
110 #endif /* VDISCARD */
111
112 /* name, field, op */
113 TTYMODE(IGNPAR, c_iflag, 30)
114 TTYMODE(PARMRK, c_iflag, 31)
115 TTYMODE(INPCK,  c_iflag, 32)
116 TTYMODE(ISTRIP, c_iflag, 33)
117 TTYMODE(INLCR,  c_iflag, 34)
118 TTYMODE(IGNCR,  c_iflag, 35)
119 TTYMODE(ICRNL,  c_iflag, 36)
120 #if defined(IUCLC)
121 TTYMODE(IUCLC,  c_iflag, 37)
122 #endif
123 TTYMODE(IXON,   c_iflag, 38)
124 TTYMODE(IXANY,  c_iflag, 39)
125 TTYMODE(IXOFF,  c_iflag, 40)
126 #ifdef IMAXBEL
127 TTYMODE(IMAXBEL,c_iflag, 41)
128 #endif /* IMAXBEL */
129
130 TTYMODE(ISIG,   c_lflag, 50)
131 TTYMODE(ICANON, c_lflag, 51)
132 #ifdef XCASE
133 TTYMODE(XCASE,  c_lflag, 52)
134 #endif
135 TTYMODE(ECHO,   c_lflag, 53)
136 TTYMODE(ECHOE,  c_lflag, 54)
137 TTYMODE(ECHOK,  c_lflag, 55)
138 TTYMODE(ECHONL, c_lflag, 56)
139 TTYMODE(NOFLSH, c_lflag, 57)
140 TTYMODE(TOSTOP, c_lflag, 58)
141 #ifdef IEXTEN
142 TTYMODE(IEXTEN, c_lflag, 59)
143 #endif /* IEXTEN */
144 #if defined(ECHOCTL)
145 TTYMODE(ECHOCTL,c_lflag, 60)
146 #endif /* ECHOCTL */
147 #ifdef ECHOKE
148 TTYMODE(ECHOKE, c_lflag, 61)
149 #endif /* ECHOKE */
150 #if defined(PENDIN)
151 TTYMODE(PENDIN, c_lflag, 62)
152 #endif /* PENDIN */
153
154 TTYMODE(OPOST,  c_oflag, 70)
155 #if defined(OLCUC)
156 TTYMODE(OLCUC,  c_oflag, 71)
157 #endif
158 TTYMODE(ONLCR,  c_oflag, 72)
159 #ifdef OCRNL
160 TTYMODE(OCRNL,  c_oflag, 73)
161 #endif
162 #ifdef ONOCR
163 TTYMODE(ONOCR,  c_oflag, 74)
164 #endif
165 #ifdef ONLRET
166 TTYMODE(ONLRET, c_oflag, 75)
167 #endif
168
169 TTYMODE(CS7,    c_cflag, 90)
170 TTYMODE(CS8,    c_cflag, 91)
171 TTYMODE(PARENB, c_cflag, 92)
172 TTYMODE(PARODD, c_cflag, 93)
This page took 0.059515 seconds and 5 git commands to generate.