?? cli_telnet.inc
字號:
/************************************************************************
Copyright 200X - 200X+1.
filename : CLI_User.inc
description : 定義telnet模塊中所用到的宏定義、數據結構、狀態機等、
對Cli_telnet.c的函數進行聲明
author : Woodhead
modification : Woodhead create 2004-12-07
************************************************************************/
#ifndef _CLI_TELNET_INC
#define _CLI_TELNET_INC
#define TCSB (_U8)250 /* 開始選項子協商 */
#define TCSE (_U8)240 /* 子協商結束 */
#define TCNOP (_U8)241 /* 空操作 */
#define TCDM (_U8)242 /* 數據標記 */
#define TCBRK (_U8)243 /* 網絡虛擬終端字符BRK */
#define TCIP (_U8)244 /* 中斷處理 */
#define TCAO (_U8)245 /* 忽略輸出 */
#define TCAYT (_U8)246 /* "Are You There?" Function*/
#define TCEC (_U8)247 /* 擦除字符 */
#define TCEL (_U8)248 /* 擦除行 */
#define TCGA (_U8)249 /* "Go Ahead" Function */
#define TCWILL (_U8)251 /* 要求或者確認Will Do Option*/
#define TCWONT (_U8)252 /* 拒絕Do Option */
#define TCDO (_U8)253 /* 要求Do Option */
#define TCDONT (_U8)254 /* 要求NOT To Do Option */
#define TCIAC (_U8)255 /* Interpret As Command Escape*/
/*------------------------------------------------------------------*/
/* telnet 選項代碼 */
/*------------------------------------------------------------------*/
#define TOTXBINARY (_U8) 0 /* 二進制傳送選項 */
#define TOECHO (_U8) 1 /* ECHO 選項 */
#define TONOGA (_U8) 3 /* 禁止 Go-Ahead 選項 */
#define TOTERMTYPE (_U8) 24 /* 中斷類型選項 */
/*------------------------------------------------------------------*/
/* 選項子協商 */
/*------------------------------------------------------------------*/
#define TT_IS 0 /* TERMINAL_TYPE option "IS" command*/
#define TT_SEND 1 /* TERMINAL_TYPE option "SEND" command*/
/*------------------------------------------------------------------*/
/* Telnet Socket-Input FSM States: */
/*------------------------------------------------------------------*/
#define TSDATA 0 /* normal data processing */
#define TSIAC 1 /* have seen IAC */
#define TSWOPT 2 /* have seen IAC-{WILL/WONT} */
#define TSDOPT 3 /* have seen IAC-{DO/DONT} */
#define TSSUBNEG 4 /* have seen IAC-SB */
#define TSSUBIAC 5 /* have seen IAC-SB-...-IAC */
#define NTSTATES 6 /* # of TS* states */
/*------------------------------------------------------------------*/
/* Telnet Option Subnegotiation FSM States: */
/*------------------------------------------------------------------*/
#define SS_START 0 /* initial state */
#define SS_TERMTYPE 1 /* TERMINAL_TYPE option subnegotiation*/
#define SS_IS 2
#define SS_END 3 /* state after all legal input */
#define NSSTATES 4 /* # of SS_* states */
#define FSINVALID 0xff /* an invalid state number */
#define NCHRS 256 /* number of valid characters */
#define TCANY (NCHRS+1) /* match any character */
/* 狀態轉換表數據結構 */
struct Fsm_Trans_S
{
_U8 Ft_State ; /* 當前狀態 */
short Ft_Char ; /* 輸入字符 */
_U8 Ft_Next ; /* 轉換到的下一狀態 */
/* 該狀態下對應的處理函數 */
_U32 ( * Ft_Action ) ( PTerm_Data_S, _U8 ) ;
} ;
#define TINVALID 0xff /* an invalid transition index */
extern struct Fsm_Trans_S TTStab[ ], SubStab[ ];
extern _U8 TTFsm[ ][ NCHRS ], SubFsm[ ][ NCHRS ] ;
/* Function in the module - tfsm.c */
_U32 CLI_SubTermType( PTerm_Data_S, _U8 ) ;
_VOID CLI_NegotiateOption( PTerm_Data_S ) ;
_VOID CLI_FsmBuild ( _VOID ) ;
_VOID CLI_FsmInit ( _U8 [ ][ 256 ] , struct Fsm_Trans_S [ ], _U8 ) ;
_U32 CLI_tcdm ( PTerm_Data_S, _U8 ) ;
_U32 CLI_RecOpt ( PTerm_Data_S, _U8 ) ;
_U32 CLI_Noop ( PTerm_Data_S, _U8 ) ;
_U32 CLI_SubOpt ( PTerm_Data_S, _U8 ) ;
_U32 CLI_SubEnd ( PTerm_Data_S, _U8 ) ;
_U32 CLI_Abort ( PTerm_Data_S, _U8 ) ;
_U32 CLI_DoNotSup ( PTerm_Data_S, _U8 ) ;
_U32 CLI_WillNotSup ( PTerm_Data_S, _U8 ) ;
_U32 CLI_WillEcho ( PTerm_Data_S, _U8 ) ;
_U32 CLI_WillNoga ( PTerm_Data_S, _U8 ) ;
_U32 CLI_DoTxBinary ( PTerm_Data_S, _U8 ) ;
_U32 CLI_WillTxBinary ( PTerm_Data_S, _U8 ) ;
_U32 CLI_DoTermType ( PTerm_Data_S, _U8 ) ;
_VOID CLI_TelFSMDegOut (_S8 *szInfoEn, _S8 *szInfoCh);
#endif /*end of #ifndef _CLI_TELNET_INC*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -