/* * 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__ */