1 /*
2 * SSHTools - Java SSH2 API
3 *
4 * Copyright (C) 2002-2003 Lee David Painter and Contributors.
5 *
6 * Contributions made by:
7 *
8 * Brett Smith
9 * Richard Pernavas
10 * Erwin Bolwidt
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25 */
26 /**
27 * SSHTools - Java SSH API The contents of this package has been derived from
28 * the TelnetD library available from http://sourceforge.net/projects/telnetd
29 * The original license of the source code is as follows: TelnetD library
30 * (embeddable telnet daemon) Copyright (C) 2000 Dieter Wimberger This library
31 * is free software; you can either redistribute it and/or modify it under the
32 * terms of the GNU Lesser General Public License version 2.1,1999 as
33 * published by the Free Software Foundation (see copy received along with the
34 * library), or under the terms of the BSD-style license received along with
35 * this library.
36 */
37 package com.sshtools.daemon.terminal;
38
39
40 /**
41 *
42 *
43 * @author $author$
44 * @version $Revision: 1.11 $
45 */
46 public interface Terminal {
47 //Constants
48
49 /** */
50 public static final byte EOT = 4;
51
52 /** */
53 public static final byte BS = 8;
54
55 /** */
56 public static final byte DEL = 127;
57
58 /** */
59 public static final byte HT = 9;
60
61 /** */
62 public static final byte FF = 12;
63
64 /** */
65 public static final byte SGR = 1;
66
67 /** */
68 public static final byte CAN = 24;
69
70 /** */
71 public static final byte ESC = 27;
72
73 /** */
74 public static final byte LSB = 91;
75
76 /** */
77 public static final byte SEMICOLON = 59;
78
79 /** */
80 public static final byte A = 65;
81
82 /** */
83 public static final byte B = 66;
84
85 /** */
86 public static final byte C = 67;
87
88 /** */
89 public static final byte D = 68;
90
91 /** */
92 public static final byte E = 69; // for next Line (like CR/LF)
93
94 /** */
95 public static final byte H = 72; // for Home and Positionsetting or f
96
97 /** */
98 public static final byte f = 102;
99
100 /** */
101 public static final byte r = 114;
102
103 /** */
104 public static final byte LE = 75; // K...line erase actions related
105
106 /** */
107 public static final byte SE = 74; // J...screen erase actions related
108
109 /**
110 *
111 *
112 * @return
113 */
114 public String getName();
115
116 /**
117 *
118 *
119 * @param byteread
120 *
121 * @return
122 */
123 public int translateControlCharacter(int byteread);
124
125 /**
126 *
127 *
128 * @param buffer
129 *
130 * @return
131 */
132 public int translateEscapeSequence(int[] buffer);
133
134 /**
135 *
136 *
137 * @param eraseFunc
138 *
139 * @return
140 */
141 public byte[] getEraseSequence(int eraseFunc);
142
143 /**
144 *
145 *
146 * @param dir
147 * @param times
148 *
149 * @return
150 */
151 public byte[] getCursorMoveSequence(int dir, int times);
152
153 /**
154 *
155 *
156 * @param pos
157 *
158 * @return
159 */
160 public byte[] getCursorPositioningSequence(int[] pos);
161
162 /**
163 *
164 *
165 * @param sequence
166 *
167 * @return
168 */
169 public byte[] getSpecialSequence(int sequence);
170
171 /**
172 *
173 *
174 * @param topmargin
175 * @param bottommargin
176 *
177 * @return
178 */
179 public byte[] getScrollMarginsSequence(int topmargin, int bottommargin);
180
181 /**
182 *
183 *
184 * @param type
185 * @param param
186 *
187 * @return
188 */
189 public byte[] getGRSequence(int type, int param);
190
191 /**
192 *
193 *
194 * @param str
195 *
196 * @return
197 */
198 public String format(String str);
199
200 /**
201 *
202 *
203 * @return
204 */
205 public byte[] getInitSequence();
206
207 /**
208 *
209 *
210 * @return
211 */
212 public boolean supportsSGR();
213
214 /**
215 *
216 *
217 * @return
218 */
219 public boolean supportsScrolling();
220
221 /**
222 *
223 *
224 * @return
225 */
226 public int getAtomicSequenceLength();
227 }
228
229
230 //interface Terminal