1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.net.telnet;
19
20
21
22
23
24
25
26
27
28
29 public class TelnetOption {
30
31 public static final int MAX_OPTION_VALUE = 255;
32
33
34
35
36 public static final int BINARY = 0;
37
38
39
40
41 public static final int ECHO = 1;
42
43
44
45
46 public static final int PREPARE_TO_RECONNECT = 2;
47
48
49
50
51 public static final int SUPPRESS_GO_AHEAD = 3;
52
53
54
55
56 public static final int APPROXIMATE_MESSAGE_SIZE = 4;
57
58
59
60
61 public static final int STATUS = 5;
62
63
64
65
66 public static final int TIMING_MARK = 6;
67
68
69
70
71 public static final int REMOTE_CONTROLLED_TRANSMISSION = 7;
72
73
74
75
76 public static final int NEGOTIATE_OUTPUT_LINE_WIDTH = 8;
77
78
79
80
81 public static final int NEGOTIATE_OUTPUT_PAGE_SIZE = 9;
82
83
84
85
86 public static final int NEGOTIATE_CARRIAGE_RETURN = 10;
87
88
89
90
91 public static final int NEGOTIATE_HORIZONTAL_TAB_STOP = 11;
92
93
94
95
96 public static final int NEGOTIATE_HORIZONTAL_TAB = 12;
97
98
99
100
101 public static final int NEGOTIATE_FORMFEED = 13;
102
103
104
105
106 public static final int NEGOTIATE_VERTICAL_TAB_STOP = 14;
107
108
109
110
111 public static final int NEGOTIATE_VERTICAL_TAB = 15;
112
113
114
115
116 public static final int NEGOTIATE_LINEFEED = 16;
117
118
119
120
121 public static final int EXTENDED_ASCII = 17;
122
123
124
125
126 public static final int FORCE_LOGOUT = 18;
127
128
129
130
131 public static final int BYTE_MACRO = 19;
132
133
134
135
136 public static final int DATA_ENTRY_TERMINAL = 20;
137
138
139
140
141 public static final int SUPDUP = 21;
142
143
144
145
146 public static final int SUPDUP_OUTPUT = 22;
147
148
149
150
151 public static final int SEND_LOCATION = 23;
152
153
154
155
156 public static final int TERMINAL_TYPE = 24;
157
158
159
160
161 public static final int END_OF_RECORD = 25;
162
163
164
165
166 public static final int TACACS_USER_IDENTIFICATION = 26;
167
168
169
170
171 public static final int OUTPUT_MARKING = 27;
172
173
174
175
176 public static final int TERMINAL_LOCATION_NUMBER = 28;
177
178
179
180
181 public static final int REGIME_3270 = 29;
182
183
184
185
186 public static final int X3_PAD = 30;
187
188
189
190
191 public static final int WINDOW_SIZE = 31;
192
193
194
195
196 public static final int TERMINAL_SPEED = 32;
197
198
199
200
201 public static final int REMOTE_FLOW_CONTROL = 33;
202
203
204
205
206 public static final int LINEMODE = 34;
207
208
209
210
211 public static final int X_DISPLAY_LOCATION = 35;
212
213
214
215
216 public static final int OLD_ENVIRONMENT_VARIABLES = 36;
217
218
219
220
221 public static final int AUTHENTICATION = 37;
222
223
224
225
226 public static final int ENCRYPTION = 38;
227
228
229
230
231 public static final int NEW_ENVIRONMENT_VARIABLES = 39;
232
233
234
235
236 public static final int EXTENDED_OPTIONS_LIST = 255;
237
238
239
240
241 @SuppressWarnings("unused")
242 private static final int FIRST_OPTION = BINARY;
243
244
245
246
247 private static final int LAST_OPTION = EXTENDED_OPTIONS_LIST;
248
249
250
251
252 private static final String[] optionString = { "BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME", "STATUS", "TIMING MARK", "RCTE", "NAOL", "NAOP",
253 "NAOCRD", "NAOHTS", "NAOHTD", "NAOFFD", "NAOVTS", "NAOVTD", "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO", "DATA ENTRY TERMINAL", "SUPDUP",
254 "SUPDUP OUTPUT", "SEND LOCATION", "TERMINAL TYPE", "END OF RECORD", "TACACS UID", "OUTPUT MARKING", "TTYLOC", "3270 REGIME", "X.3 PAD", "NAWS",
255 "TSPEED", "LFLOW", "LINEMODE", "XDISPLOC", "OLD-ENVIRON", "AUTHENTICATION", "ENCRYPT", "NEW-ENVIRON", "TN3270E", "XAUTH", "CHARSET", "RSP",
256 "Com Port Control", "Suppress Local Echo", "Start TLS", "KERMIT", "SEND-URL", "FORWARD_X", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
257 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
258 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
259 "TELOPT PRAGMA LOGON", "TELOPT SSPI LOGON", "TELOPT PRAGMA HEARTBEAT", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
260 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
261 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
262 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "Extended-Options-List" };
263
264
265
266
267
268
269
270 public static final String getOption(final int code) {
271 if (optionString[code].isEmpty()) {
272 return "UNASSIGNED";
273 }
274 return optionString[code];
275 }
276
277
278
279
280
281
282
283 public static final boolean isValidOption(final int code) {
284 return code <= LAST_OPTION;
285 }
286
287
288 private TelnetOption() {
289 }
290 }