| /* |
| * Copyright (c) 2017 Intel Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /** |
| * @file |
| * @brief Telnet console protocol specific defines |
| * |
| * |
| * This defines the Telnet codes, all prefixed as NVT_ |
| * (NVT: Network Virtual Terminal, see rfc854) |
| */ |
| |
| #ifndef SHELL_TELNET_PROTOCOL_H__ |
| #define SHELL_TELNET_PROTOCOL_H__ |
| |
| /** Printer/Keyboard codes */ |
| |
| /* Mandatory ones */ |
| #define NVT_NUL 0 |
| #define NVT_LF 10 |
| #define NVT_CR 13 |
| |
| /* Optional ones */ |
| #define NVT_BEL 7 |
| #define NVT_BS 8 |
| #define NVT_HT 9 |
| #define NVT_VT 11 |
| #define NVT_FF 12 |
| |
| /* Telnet commands */ |
| #define NVT_CMD_SE 240 |
| #define NVT_CMD_NOP 241 |
| #define NVT_CMD_DM 242 |
| #define NVT_CMD_BRK 243 |
| #define NVT_CMD_IP 244 |
| #define NVT_CMD_AO 245 |
| #define NVT_CMD_AYT 246 |
| #define NVT_CMD_EC 247 |
| #define NVT_CMD_EL 248 |
| #define NVT_CMD_GA 249 |
| #define NVT_CMD_SB 250 |
| #define NVT_CMD_WILL 251 |
| #define NVT_CMD_WONT 252 |
| #define NVT_CMD_DO 253 |
| #define NVT_CMD_DONT 254 |
| #define NVT_CMD_IAC 255 |
| |
| /* Telnet options */ |
| #define NVT_OPT_TX_BIN 0 |
| #define NVT_OPT_ECHO 1 |
| #define NVT_OPT_RECONNECT 2 |
| #define NVT_OPT_SUPR_GA 3 |
| #define NVT_OPT_MSG_SZ_NEG 4 |
| #define NVT_OPT_STATUS 5 |
| #define NVT_OPT_TIMING_MARK 6 |
| #define NVT_OPT_REMOTE_CTRL_TRANS_ECHO 7 |
| #define NVT_OPT_OUT_LINE_WIDTH 8 |
| #define NVT_OPT_OUT_PAGE_SZ 9 |
| #define NVT_OPT_NEG_CR 10 |
| #define NVT_OPT_NEG_HT 11 |
| #define NVT_OPT_NAOHTD 12 |
| #define NVT_OPT_NEG_OUT_FF 13 |
| #define NVT_OPT_NEG_VT 14 |
| #define NVT_OPT_NEG_OUT_VT 15 |
| #define NVT_OPT_NET_OUT_LF 16 |
| #define NVT_OPT_EXT_ASCII 17 |
| #define NVT_OPT_LOGOUT 18 |
| #define NVT_OPT_BYTE_MACRO 19 |
| #define NVT_OPT_DATA_ENTRY 20 |
| #define NVT_OPT_SUPDUP 21 |
| #define NVT_OPT_SUPDUP_OUT 22 |
| #define NVT_OPT_SEND_LOC 23 |
| #define NVT_OPT_TERM_TYPE 24 |
| #define NVT_OPT_EOR 25 |
| #define NVT_OPT_TACACS_UID 26 |
| #define NVT_OPT_OUT_MARK 27 |
| #define NVT_OPT_TTYLOC 28 |
| #define NVT_OPT_3270 29 |
| #define NVT_OPT_X_3_PAD 30 |
| #define NVT_OPT_NAWS 31 |
| #define NVT_OPT_TERM_SPEED 32 |
| #define NVT_OPT_REMOTE_FC 33 |
| #define NVT_OPT_LINEMODE 34 |
| #define NVT_OPT_X_LOC 35 |
| #define NVT_OPT_ENV 36 |
| #define NVT_OPT_AUTH 37 |
| #define NVT_OPT_ENCRYPT_OPT 38 |
| #define NVT_OPT_NEW_ENV 39 |
| #define NVT_OPT_TN3270E 40 |
| #define NVT_OPT_XAUTH 41 |
| #define NVT_OPT_CHARSET 42 |
| #define NVT_OPT_RSP 43 |
| #define NVT_OPT_COM_PORT_CTRL 44 |
| #define NVT_OPT_SUPR_LOCAL_ECHO 45 |
| #define NVT_OPT_START_TLS 46 |
| #define NVT_OPT_KERMIT 47 |
| #define NVT_OPT_SEND_URL 48 |
| #define NVT_OPT_FORWARD_X 49 |
| #define NVT_OPT_PRAGMA_LOGON 138 |
| #define NVT_OPT_SSPI_LOGON 139 |
| #define NVT_OPT_PRAGMA_HB 140 |
| #define NVT_OPT_EXT_OPT_LIST 255 |
| |
| /** Describes a telnet command */ |
| struct telnet_simple_command { |
| /** Mandatory IAC code */ |
| uint8_t iac; |
| /** Type of operation (see Telnet commands above) */ |
| uint8_t op; |
| /** Option code */ |
| uint8_t opt; |
| }; |
| |
| static inline void telnet_command_cpy(struct telnet_simple_command *dst, |
| struct telnet_simple_command *src) |
| { |
| dst->iac = src->iac; |
| dst->op = src->op; |
| dst->opt = src->opt; |
| } |
| |
| #endif /* SHELL_TELNET_PROTOCOL_H__ */ |