⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ckctel.h

📁 KERMIT工具 这在办公室下载不了,很多人都没有载不到.
💻 H
📖 第 1 页 / 共 3 页
字号:
/* Telnet State structures and definitions */struct _telopt_state {  unsigned char def_server_me_mode;   /* Default Negotiation Mode */  unsigned char def_server_u_mode;    /* Default Negotiation Mode */  unsigned char def_client_me_mode;   /* Default Negotiation Mode */  unsigned char def_client_u_mode;    /* Default Negotiation Mode */  unsigned char me_mode;              /* Telnet Negotiation Mode */  unsigned char u_mode;               /* Telnet Negotiation Mode */  unsigned char me;                   /* Am I ?                  */  unsigned char u;                    /* Are you?                */  unsigned char unanswered_will;      /* Sent Will, Waiting for DO/DONT */  unsigned char unanswered_do;        /* Send DO, Waiting for WILL/WONT */  unsigned char unanswered_wont;      /* Sent WONT, Waiting for DONT */  unsigned char unanswered_dont;      /* Sent DONT, Waiting for WONT */  unsigned char unanswered_sb;        /* Sent SB,   Waiting for SB (server) */  union {#ifdef IKS_OPTION    struct _telopt_kermit {         /* Kermit Option States */      unsigned char me_start;       /* I have a Server active */      unsigned char me_req_start;   /* Sent Req-Start, Waiting for response */      unsigned char me_req_stop;    /* Sent Req-Stop, Waiting for response  */      unsigned char u_start;        /* You have a Server active */      unsigned char sop;            /* Have we received the SOP char? */    } kermit;#endif /* IKS_OPTION */#ifdef CK_ENCRYPTION    struct _telopt_encrypt {        /* Encryption Option States */      unsigned char need_to_send;      unsigned char  stop;          /* Is encryption stopped?   */    } encrypt;#endif /* CK_ENCRYPTION */#ifdef CK_NAWS    struct _telopt_naws {           /* NAWS Option Information  */      unsigned char need_to_send;      int x;                        /* Last Width               */      int y;                        /* Last Height              */    } naws;#endif /* CK_NAWS */#ifdef CK_SSL    struct _telopt_start_tls {      /* Start TLS Option             */       unsigned char u_follows;     /* u ready for TLS negotiation  */       unsigned char me_follows;    /* me ready for TLS negotiation */       unsigned char auth_request;  /* Rcvd WILL AUTH before WONT START_TLS */    } start_tls;#endif /* CK_SSL */    struct _telopt_term {          /* Terminal Type            */       unsigned char need_to_send;       unsigned char type[41];     /* Last terminal type       */    } term;#ifdef CK_ENVIRONMENT    struct _telopt_new_env {       unsigned char need_to_send;       unsigned char * str;       int             len;    } env;#ifdef CK_XDISPLOC    struct _telopt_xdisp {       unsigned char need_to_send;    } xdisp;#endif /* CK_XDISPLOC */#endif /* CK_ENVIRONMENT */#ifdef CK_SNDLOC    struct _telopt_sndloc {       unsigned char need_to_send;    } sndloc;#endif /* CK_SNDLOC */#ifdef CK_FORWARD_X    struct _telopt_fwd_x {        unsigned char need_to_send;        int listen_socket;        struct _channel {            int fd;            int id;            unsigned char need_to_send_xauth;            unsigned char suspend;        } channel[MAXFWDX];#ifdef NT        int thread_started;#endif /* NT */    } forward_x;#endif /* CK_FORWARD_X */#ifdef TN_COMPORT      struct _telopt_comport {          unsigned char need_to_send;          unsigned char wait_for_sb;          unsigned char wait_for_ms;      } comport;#endif /* TN_COMPORT */    /* additional options such as New Environment or Send Location */  } sb;};typedef struct _telopt_state telopt_state, *p_telopt_state;/* telopt_states[] is the array of structs which the state of each telnet *//* option is stored.  We allocate one more than we need in case we are    *//* sent telnet options that we do not recognize.  If by some chance the   *//* TELOPT_OK() check is skipped, TELOPT_INDEX() will force the option to  *//* use the extra cell.                                                    */#ifdef TELOPT_STATEStelopt_state telopt_states[NTELOPTS+1];#else /* TELOPT_STATES */extern telopt_state telopt_states[];#endif /* TELOPT_STATES */#define TELOPT_ME(x) (telopt_states[TELOPT_INDEX(x)].me)#define TELOPT_U(x)  (telopt_states[TELOPT_INDEX(x)].u)#define TELOPT_ME_MODE(x) \        (telopt_states[TELOPT_INDEX(x)].me_mode)#define TELOPT_U_MODE(x)  \        (telopt_states[TELOPT_INDEX(x)].u_mode)#define TELOPT_UNANSWERED_WILL(x) \        (telopt_states[TELOPT_INDEX(x)].unanswered_will)#define TELOPT_UNANSWERED_DO(x)   \        (telopt_states[TELOPT_INDEX(x)].unanswered_do)#define TELOPT_UNANSWERED_WONT(x) \        (telopt_states[TELOPT_INDEX(x)].unanswered_wont)#define TELOPT_UNANSWERED_DONT(x)   \        (telopt_states[TELOPT_INDEX(x)].unanswered_dont)#define TELOPT_UNANSWERED_SB(x)   \        (telopt_states[TELOPT_INDEX(x)].unanswered_sb)#define TELOPT_SB(x) \        (telopt_states[TELOPT_INDEX(x)].sb)#define TELOPT_DEF_S_ME_MODE(x) \        (telopt_states[TELOPT_INDEX(x)].def_server_me_mode)#define TELOPT_DEF_S_U_MODE(x)  \        (telopt_states[TELOPT_INDEX(x)].def_server_u_mode)#define TELOPT_DEF_C_ME_MODE(x) \        (telopt_states[TELOPT_INDEX(x)].def_client_me_mode)#define TELOPT_DEF_C_U_MODE(x)  \        (telopt_states[TELOPT_INDEX(x)].def_client_u_mode)#ifdef TELOPT_MODESchar * telopt_modes[4] = {    "REFUSED", "ACCEPTED", "REQUESTED", "REQUIRED"};#else /* TELOPT_MODES */extern char * telopt_modes[];#endif /* TELOPT_MODES */#ifdef TELOPT_MACRO#define TELOPT_MODE_OK(x) ((unsigned int)(x) <= TN_NG_MU)#define TELOPT_MODE(x) (TELOPT_MODE_OK(x)?telopt_modes[(x)-TN_NG_RF]:"UNKNOWN")#else /* TELOPT_MACRO */_PROTOTYP(int telopt_mode_ok,(int));_PROTOTYP(CHAR * telopt_mode,(int));#define TELOPT_MODE_OK(x) telopt_mode_ok(x)#define TELOPT_MODE(x)    telopt_mode(x)#endif /* TELOPT_MACRO *//* Sub-option qualifiers */#define TELQUAL_IS      0       /* option is... */#define TELQUAL_SEND    1       /* send option */#define TELQUAL_INFO    2       /* ENVIRON: informational version of IS */#define TELQUAL_REPLY   2       /* AUTHENTICATION: client version of IS */#define TELQUAL_NAME    3       /* AUTHENTICATION: client version of IS */#define TEL_ENV_VAR     0#define TEL_ENV_VALUE   1#define TEL_ENV_ESC     2#define TEL_ENV_USERVAR 3#define LFLOW_OFF               0       /* Disable remote flow control */#define LFLOW_ON                1       /* Enable remote flow control */#define LFLOW_RESTART_ANY       2       /* Restart output on any char */#define LFLOW_RESTART_XON       3       /* Restart output only on XON *//* * LINEMODE suboptions */#define LM_MODE         1#define LM_FORWARDMASK  2#define LM_SLC          3#define MODE_EDIT       0x01#define MODE_TRAPSIG    0x02#define MODE_ACK        0x04#define MODE_SOFT_TAB   0x08#define MODE_LIT_ECHO   0x10#define MODE_MASK       0x1f/* Not part of protocol, but needed to simplify things... */#define MODE_FLOW               0x0100#define MODE_ECHO               0x0200#define MODE_INBIN              0x0400#define MODE_OUTBIN             0x0800#define MODE_FORCE              0x1000#define SLC_SYNCH       1#define SLC_BRK         2#define SLC_IP          3#define SLC_AO          4#define SLC_AYT         5#define SLC_EOR         6#define SLC_ABORT       7#define SLC_EOF         8#define SLC_SUSP        9#define SLC_EC          10#define SLC_EL          11#define SLC_EW          12#define SLC_RP          13#define SLC_LNEXT       14#define SLC_XON         15#define SLC_XOFF        16#define SLC_FORW1       17#define SLC_FORW2       18#define SLC_MCL         19#define SLC_MCR         20#define SLC_MCWL        21#define SLC_MCWR        22#define SLC_MCBOL       23#define SLC_MCEOL       24#define SLC_INSRT       25#define SLC_OVER        26#define SLC_ECR         27#define SLC_EWR         28#define SLC_EBOL        29#define SLC_EEOL        30#define NSLC            30/* * For backwards compatability, we define SLC_NAMES to be the * list of names if SLC_NAMES is not defined. */#define SLC_NAMELIST    "0", "SYNCH", "BRK", "IP", "AO", "AYT", "EOR", \                        "ABORT", "EOF", "SUSP", "EC", "EL", "EW", "RP", \                        "LNEXT", "XON", "XOFF", "FORW1", "FORW2", \                        "MCL", "MCR", "MCWL", "MCWR", "MCBOL", "MCEOL", \                        "INSRT", "OVER", "ECR", "EWR", "EBOL", "EEOL", 0#ifdef  SLC_NAMESchar *slc_names[] = {        SLC_NAMELIST};#elseextern char *slc_names[];#define SLC_NAMES SLC_NAMELIST#endif#define SLC_NAME_OK(x)  ((unsigned int)(x) <= NSLC)#define SLC_NAME(x)     (SLC_NAME_OK(x)?slc_names[x]:"UNKNOWN")#define SLC_NOSUPPORT       0#define SLC_CANTCHANGE      1#define SLC_VARIABLE        2#define SLC_DEFAULT         3#define SLC_LEVELBITS       0x03#define SLC_FUNC            0#define SLC_FLAGS           1#define SLC_VALUE           2#define SLC_ACK             0x80#define SLC_FLUSHIN         0x40#define SLC_FLUSHOUT        0x20#define OLD_ENV_VAR         1#define OLD_ENV_VALUE       0#define NEW_ENV_VAR         0#define NEW_ENV_VALUE       1#define ENV_ESC             2#define ENV_USERVAR         3#define FWDX_SCREEN         0#define FWDX_OPEN           1#define FWDX_CLOSE          2#define FWDX_DATA           3#define FWDX_OPTIONS        4#define FWDX_OPT_DATA       5#define FWDX_XOFF           6#define FWDX_XON            7#define FWDX_OPT_NONE       0#define FWDX_OPT_XAUTH      1/* * AUTHENTICATION suboptions *//* * Who is authenticating who ... */#define AUTH_CLIENT_TO_SERVER   0       /* Client authenticating server */#define AUTH_SERVER_TO_CLIENT   1       /* Server authenticating client */#define AUTH_WHO_MASK           1/* * amount of authentication done */#define AUTH_HOW_ONE_WAY        0#define AUTH_HOW_MUTUAL         2#define AUTH_HOW_MASK           2/* * should we be encrypting? */#define AUTH_ENCRYPT_OFF             0#define AUTH_ENCRYPT_USING_TELOPT    4#define AUTH_ENCRYPT_AFTER_EXCHANGE 16#define AUTH_ENCRYPT_START_TLS      20#define AUTH_ENCRYPT_MASK           20/* * will we be forwarding? * if we want to activate the use of this flag then *   #define USE_INI_CRED_FWD */#define INI_CRED_FWD_OFF        0#define INI_CRED_FWD_ON         8#define INI_CRED_FWD_MASK       8#define USE_INI_CRED_FWD#define AUTHTYPE_NULL           0#define AUTHTYPE_KERBEROS_V4    1#define AUTHTYPE_KERBEROS_V5    2#define AUTHTYPE_SPX            3#define AUTHTYPE_MINK           4#define AUTHTYPE_SRP            5#define AUTHTYPE_RSA            6#define AUTHTYPE_SSL            7#define AUTHTYPE_LOKI          10#define AUTHTYPE_SSA           11#define AUTHTYPE_KEA_SJ        12#define AUTHTYPE_KEA_INTEG     13#define AUTHTYPE_DSS           14#define AUTHTYPE_NTLM          15#define AUTHTYPE_GSSAPI_KRB5   16               /* Not allocated by IANA */#ifdef AUTHTYPE_CNT#undef AUTHTYPE_CNT#endif /* AUTHTYPE_CNT */#define AUTHTYPE_CNT           17/* * AUTHTYPEs Last updated 21 March 1999 * from http://www.isi.edu/in-notes/iana/assignments/telnet-options */#define AUTHTYPE_AUTO           99#ifdef  AUTH_NAMESchar *authtype_names[] = {    "NULL",                     /* RFC 2941 */    "KERBEROS_V4",              /* RFC 2941 / 1411 */    "KERBEROS_V5",              /* RFC 2941 */    "SPX",                      /* RFC 2941 (not Internet Standard) */    "MINK",                     /* RFC 2941 (not Internet Standard) */    "SRP",                      /* RFC 2944 */    "RSA",                      /* RFC 2941 (not Internet Standard) */    "SSL",                      /* RFC 2941 (not Internet Standard) */    "IANA_8",                   /* not assigned by IANA */    "IANA_9",                   /* not assigned by IANA */    "LOKI",                     /* RFC 2941 (not Internet Standard) */    "SSA",                      /* Schoch */    "KEA_SJ",                   /* RFC 2951 */    "KEA_SJ_INTEG",             /* RFC 2951 */    "DSS",                      /* RFC 2943 */    "NTLM",                     /* Kahn <louisk@microsoft.com> */    "GSSAPI-KRB5",              /* experimental - altman */    0};char * authmode_names[] = {    "CLIENT_TO_SERVER|ONE_WAY",    "SERVER_TO_CLIENT|ONE_WAY",    "CLIENT_TO_SERVER|MUTUAL",    "SERVER_TO_CLIENT|MUTUAL",    "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_USING_TELOPT",    "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_USING_TELOPT",    "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_USING_TELOPT",    "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_USING_TELOPT",    "CLIENT_TO_SERVER|ONE_WAY|CRED_FWD",    "SERVER_TO_CLIENT|ONE_WAY|CRED_FWD",    "CLIENT_TO_SERVER|MUTUAL|CRED_FWD",    "SERVER_TO_CLIENT|MUTUAL|CRED_FWD",    "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_USING_TELOPT|CRED_FWD",    "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_USING_TELOPT|CRED_FWD",    "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_USING_TELOPT|CRED_FWD",    "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_USING_TELOPT|CRED_FWD",    "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_AFTER_EXCHANGE",    "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_AFTER_EXCHANGE",    "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_AFTER_EXCHANGE",    "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_AFTER_EXCHANGE",    "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_START_TLS",    "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_START_TLS",    "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_START_TLS",    "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_START_TLS",    "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_AFTER_EXCHANGE|CRED_FWD",    "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_AFTER_EXCHANGE|CRED_FWD",    "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_AFTER_EXCHANGE|CRED_FWD",    "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_AFTER_EXCHANGE|CRED_FWD",    "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_START_TLS|CRED_FWD",    "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_START_TLS|CRED_FWD",    "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_START_TLS|CRED_FWD",    "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_START_TLS|CRED_FWD",    0};#elseextern char *authtype_names[];extern char *authmode_names[];#endif#define AUTHMODE_CNT  32#define AUTHTYPE_NAME_OK(x)     ((unsigned int)(x) < AUTHTYPE_CNT)#define AUTHTYPE_NAME(x)      (AUTHTYPE_NAME_OK(x)?authtype_names[x]:"UNKNOWN")#define AUTHMODE_NAME_OK(x)     ((unsigned int)(x) < AUTHMODE_CNT)#define AUTHMODE_NAME(x)      (AUTHMODE_NAME_OK(x)?authmode_names[x]:"UNKNOWN")/* Kerberos Authentication Message Identifiers */#define KRB_AUTH                0       /* Authentication data follows */#define KRB_REJECT              1       /* Rejected (reason might follow) */#define KRB_ACCEPT              2       /* Accepted */#define KRB4_CHALLENGE          3#define KRB4_RESPONSE           4#define KRB5_RESPONSE           3       /* Response for mutual auth. */#define KRB5_FORWARD            4       /* Forwarded credentials follow */#define KRB5_FORWARD_ACCEPT     5       /* Forwarded credentials accepted */#define KRB5_FORWARD_REJECT     6       /* Forwarded credentials rejected */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -