ArduinoLibs
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
TelnetDefs.h
1 /*
2  * Copyright (C) 2016 Southern Storm Software, Pty Ltd.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included
12  * in all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 #ifndef TELNET_DEFS_h
24 #define TELNET_DEFS_h
25 
26 // References:
27 // https://tools.ietf.org/html/rfc854
28 // http://www.iana.org/assignments/telnet-options/telnet-options.xhtml
29 
30 namespace TelnetDefs
31 {
32 
34 enum Command
35 {
36  EndOfFile = 236,
37  Suspend = 237,
38  Abort = 238,
39  EndOfRecord = 239,
40  SubEnd = 240,
41  NOP = 241,
42  DataMark = 242,
43  Break = 243,
44  Interrupt = 244,
45  AbortOutput = 245,
46  AreYouThere = 246,
47  EraseChar = 247,
48  EraseLine = 248,
49  GoAhead = 249,
50  SubStart = 250,
51  WILL = 251,
52  WONT = 252,
53  DO = 253,
54  DONT = 254,
55  IAC = 255
56 };
57 
59 enum Option
60 {
61  Binary = 0,
62  Echo = 1,
63  Reconnection = 2,
64  SuppressGoAhead = 3,
65  ApproxMsgSize = 4,
66  Status = 5,
67  TimingMark = 6,
68  RemoteTransmitEcho = 7,
69  LineWidth = 8,
70  PageSize = 9,
71  CarriageReturn = 10,
72  HorzTabStops = 11,
73  HorzTabStopDisp = 12,
74  FormFeed = 13,
75  VertTabStops = 14,
76  VertTabStopDisp = 15,
77  LineFeed = 16,
78  ExtendedASCII = 17,
79  Logout = 18,
80  ByteMacro = 19,
81  DataEntryTerminal = 20,
82  SUPDUP = 21,
83  SUPDUPOutput = 22,
84  SendLocation = 23,
85  TerminalType = 24,
86  EndOfRecordOption = 25,
87  TACACSUserId = 26,
88  OutputMarking = 27,
89  TerminalLocation = 28,
90  Telnet3270Regime = 29,
91  X3Pad = 30,
92  WindowSize = 31,
93  Speed = 32,
94  RemoteFlowControl = 33,
95  Linemode = 34,
96  XDisplay = 35,
97  EnvironmentOld = 36,
98  Authentication = 37,
99  Encryption = 38,
100  Environment = 39,
101  TN3270E = 40,
102  XAUTH = 41,
103  Charset = 42,
104  RemoteSerialPort = 43,
105  ComPortControl = 44,
106  SuppressLocalEcho = 45,
107  StartTLS = 46,
108  Kermit = 47,
109  SendURL = 48,
110  ForwardX = 49,
111  Extended = 255
112 };
113 
114 };
115 
116 #endif