|
|
1.1 ! root 1: /* telnet.h */ ! 2: ! 3: /* Synchronet telnet-related constants and function prototypes */ ! 4: ! 5: /* $Id: telnet.h,v 1.11 2005/06/06 22:06:22 rswindell Exp $ */ ! 6: ! 7: /**************************************************************************** ! 8: * @format.tab-size 4 (Plain Text/Source Code File Header) * ! 9: * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * ! 10: * * ! 11: * Copyright 2004 Rob Swindell - http://www.synchro.net/copyright.html * ! 12: * * ! 13: * This program is free software; you can redistribute it and/or * ! 14: * modify it under the terms of the GNU General Public License * ! 15: * as published by the Free Software Foundation; either version 2 * ! 16: * of the License, or (at your option) any later version. * ! 17: * See the GNU General Public License for more details: gpl.txt or * ! 18: * http://www.fsf.org/copyleft/gpl.html * ! 19: * * ! 20: * Anonymous FTP access to the most recent released source is available at * ! 21: * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * ! 22: * * ! 23: * Anonymous CVS access to the development source and modification history * ! 24: * is available at cvs.synchro.net:/cvsroot/sbbs, example: * ! 25: * cvs -d :pserver:[email protected]:/cvsroot/sbbs login * ! 26: * (just hit return, no password is necessary) * ! 27: * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src * ! 28: * * ! 29: * For Synchronet coding style and modification guidelines, see * ! 30: * http://www.synchro.net/source.html * ! 31: * * ! 32: * You are encouraged to submit any modifications (preferably in Unix diff * ! 33: * format) via e-mail to [email protected] * ! 34: * * ! 35: * Note: If this box doesn't appear square, then you need to fix your tabs. * ! 36: ****************************************************************************/ ! 37: ! 38: #ifndef _TELNET_H ! 39: #define _TELNET_H ! 40: ! 41: #include "gen_defs.h" /* uchar */ ! 42: ! 43: /* commands */ ! 44: ! 45: #define TELNET_IAC 255 /* 0xff - Interpret as command */ ! 46: #define TELNET_DONT 254 /* 0xfe - Don't do option */ ! 47: #define TELNET_DO 253 /* 0xfd - Do option */ ! 48: #define TELNET_WONT 252 /* 0xfc - Won't do option */ ! 49: #define TELNET_WILL 251 /* 0xfb - Will do option */ ! 50: ! 51: #define TELNET_SB 250 /* sub-negotiation */ ! 52: #define TELNET_GA 249 /* Go ahead */ ! 53: #define TELNET_EL 248 /* Erase line */ ! 54: #define TELNET_EC 247 /* Erase char */ ! 55: #define TELNET_AYT 246 /* Are you there? */ ! 56: #define TELNET_AO 245 /* Abort output */ ! 57: #define TELNET_IP 244 /* Interrupt process */ ! 58: #define TELNET_BRK 243 /* Break */ ! 59: #define TELNET_SYNC 242 /* Data mark */ ! 60: #define TELNET_NOP 241 /* No operation */ ! 61: ! 62: #define TELNET_SE 240 /* End of subnegotiation parameters. */ ! 63: ! 64: /* options */ ! 65: ! 66: enum { ! 67: TELNET_BINARY_TX ! 68: ,TELNET_ECHO ! 69: ,TELNET_RECONN ! 70: ,TELNET_SUP_GA /* suppress go ahead */ ! 71: ,TELNET_APPROX_MSG_SIZE ! 72: ,TELNET_STATUS ! 73: ,TELNET_TIMING_MARK ! 74: ,TELNET_REMOTE_CTRL ! 75: ,TELNET_OUTPUT_LINE_WIDTH ! 76: ,TELNET_OUTPUT_PAGE_SIZE ! 77: ,TELNET_OUTPUT_CR_DISP /* 10 */ ! 78: ,TELNET_OUTPUT_HTAB_STOPS ! 79: ,TELNET_OUTPUT_HTAB_DISP ! 80: ,TELNET_OUTPUT_FF_DISP ! 81: ,TELNET_OUTPUT_VTAB_STOPS ! 82: ,TELNET_OUTPUT_VTAB_DISP ! 83: ,TELNET_OUTPUT_LF_DISP ! 84: ,TELNET_EXASCII ! 85: ,TELNET_LOGOUT ! 86: ,TELNET_BYTE_MACRO ! 87: ,TELNET_DATA_ENTRY_TERM /* 20 */ ! 88: ,TELNET_SUPDUP ! 89: ,TELNET_SUPDUP_OUTPUT ! 90: ,TELNET_SEND_LOCATION ! 91: ,TELNET_TERM_TYPE ! 92: ,TELNET_END_OF_RECORD ! 93: ,TELNET_TACACS_USERID ! 94: ,TELNET_OUTPUT_MARKING ! 95: ,TELNET_TERM_LOCATION_NUMBER ! 96: ,TELNET_3270 ! 97: ,TELNET_X3_PAD /* 30 */ ! 98: ,TELNET_NEGOTIATE_WINDOW_SIZE ! 99: ,TELNET_TERM_SPEED ! 100: ,TELNET_REMOTE_FLOW ! 101: ,TELNET_LINE_MODE ! 102: ,TELNET_X_DISPLAY_LOCATION ! 103: ,TELNET_ENV_OPTION ! 104: ,TELNET_AUTH_OPTION ! 105: ,TELNET_ENCRYPTION_OPTION ! 106: ,TELNET_NEW_ENV_OPTION ! 107: ,TELNET_3270E /* 40 */ ! 108: ! 109: ,TELNET_EXOPL=255 /* Extended options list */ ! 110: }; ! 111: ! 112: /* Terminal-type sub option codes, see RFC 1091 */ ! 113: #define TELNET_TERM_IS 0 ! 114: #define TELNET_TERM_SEND 1 ! 115: #define TELNET_TERM_MAXLEN 40 ! 116: ! 117: /* bits for telnet_mode */ ! 118: ! 119: #define TELNET_MODE_GATE (1<<2) /* Pass-through telnet commands/responses */ ! 120: #define TELNET_MODE_OFF (1<<3) /* This is not a Telnet connection */ ! 121: ! 122: #ifdef DLLEXPORT ! 123: #undef DLLEXPORT ! 124: #endif ! 125: #ifdef DLLCALL ! 126: #undef DLLCALL ! 127: #endif ! 128: ! 129: #ifdef _WIN32 ! 130: #ifdef SBBS_EXPORTS ! 131: #define DLLEXPORT __declspec(dllexport) ! 132: #else ! 133: #define DLLEXPORT __declspec(dllimport) ! 134: #endif ! 135: #ifdef __BORLANDC__ ! 136: #define DLLCALL __stdcall ! 137: #else ! 138: #define DLLCALL ! 139: #endif ! 140: #else ! 141: #define DLLEXPORT ! 142: #define DLLCALL ! 143: #endif ! 144: ! 145: #ifdef __cplusplus ! 146: extern "C" { ! 147: #endif ! 148: ! 149: DLLEXPORT const char* DLLCALL telnet_cmd_desc(uchar cmd); ! 150: DLLEXPORT const char* DLLCALL telnet_opt_desc(uchar opt); ! 151: DLLEXPORT uchar DLLCALL telnet_opt_ack(uchar cmd); ! 152: DLLEXPORT uchar DLLCALL telnet_opt_nak(uchar cmd); ! 153: ! 154: #ifdef __cplusplus ! 155: } ! 156: #endif ! 157: ! 158: #endif /* don't add anything after this line */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.