ProtocolRx.h
上传用户:aphszp
上传日期:2007-01-09
资源大小:42k
文件大小:3k
源码类别:

Telnet服务器

开发平台:

Visual C++

  1. // ProtocolRx.h: interface for the CProtocolRx class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_PROTOCOLRX_H__DFEE9DEE_9AF1_11D2_A6CE_204C4F4F5020__INCLUDED_)
  5. #define AFX_PROTOCOLRX_H__DFEE9DEE_9AF1_11D2_A6CE_204C4F4F5020__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. enum _verb
  10. {
  11.   verb_sb   = 250,
  12.   verb_will = 251,
  13.   verb_wont = 252,
  14.   verb_do   = 253, 
  15.   verb_dont = 254
  16. };
  17. enum _state
  18. {
  19.   state_data,   //we expect a data byte
  20.   state_code,   //we expect a code
  21.   state_option  //we expect an option
  22. };
  23. enum _option
  24. {
  25.   TOPT_BIN = 0,   // Binary Transmission
  26.   TOPT_ECHO = 1,  // Echo
  27.   TOPT_RECN = 2,  // Reconnection
  28.   TOPT_SUPP = 3,  // Suppress Go Ahead
  29.   TOPT_APRX = 4,  // Approx Message Size Negotiation
  30.   TOPT_STAT = 5,  // Status
  31.   TOPT_TIM = 6,   // Timing Mark
  32.   TOPT_REM = 7,   // Remote Controlled Trans and Echo
  33.   TOPT_OLW = 8,   // Output Line Width
  34.   TOPT_OPS = 9,   // Output Page Size
  35.   TOPT_OCRD = 10, // Output Carriage-Return Disposition
  36.   TOPT_OHT = 11,  // Output Horizontal Tabstops
  37.   TOPT_OHTD = 12, // Output Horizontal Tab Disposition
  38.   TOPT_OFD = 13,  // Output Formfeed Disposition
  39.   TOPT_OVT = 14,  // Output Vertical Tabstops
  40.   TOPT_OVTD = 15, // Output Vertical Tab Disposition
  41.   TOPT_OLD = 16,  // Output Linefeed Disposition
  42.   TOPT_EXT = 17,  // Extended ASCII
  43.   TOPT_LOGO = 18, // Logout
  44.   TOPT_BYTE = 19, // Byte Macro
  45.   TOPT_DATA = 20, // Data Entry Terminal
  46.   TOPT_SUP = 21,  // SUPDUP
  47.   TOPT_SUPO = 22, // SUPDUP Output
  48.   TOPT_SNDL = 23, // Send Location
  49.   TOPT_TERM = 24, // Terminal Type
  50.   TOPT_EOR = 25,  // End of Record
  51.   TOPT_TACACS = 26, // TACACS User Identification
  52.   TOPT_OM = 27,   // Output Marking
  53.   TOPT_TLN = 28,  // Terminal Location Number
  54.   TOPT_3270 = 29, // Telnet 3270 Regime
  55.   TOPT_X3 = 30,  // X.3 PAD
  56.   TOPT_NAWS = 31, // Negotiate About Window Size
  57.   TOPT_TS = 32,   // Terminal Speed
  58.   TOPT_RFC = 33,  // Remote Flow Control
  59.   TOPT_LINE = 34, // Linemode
  60.   TOPT_XDL = 35,  // X Display Location
  61.   TOPT_ENVIR = 36,// Telnet Environment Option
  62.   TOPT_AUTH = 37, // Telnet Authentication Option
  63.   TOPT_NENVIR = 39,// Telnet Environment Option
  64.   TOPT_EXTOP = 255, // Extended-Options-List
  65.   TOPT_ERROR = 256  // Magic number
  66. };
  67. class CProtocolRx
  68. {
  69. public:
  70. CProtocolRx();
  71. virtual ~CProtocolRx();
  72. inline void yesreply(SOCKET server, _verb verb,_option option);
  73. inline void noreply(SOCKET server, _verb verb,_option option);
  74. inline void askfor(SOCKET server, _verb verb,_option option);
  75. void TelentProtcol(SOCKET server,unsigned char code);
  76. void nvt(SOCKET server,unsigned char data);
  77. };
  78. #endif // !defined(AFX_PROTOCOLRX_H__DFEE9DEE_9AF1_11D2_A6CE_204C4F4F5020__INCLUDED_)