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

📄 ckuus3.c

📁 C-Kermit源码。是使用串口/Modem和网络通讯的程序
💻 C
📖 第 1 页 / 共 5 页
字号:
    "hardware",'H', 0,#endif /* HWPARITY */    "mark",    'm', 0,    "none",     0 , 0,    "odd",     'o', 0,    "space",   's', 0};int npar = (sizeof(partbl) / sizeof(struct keytab));#ifdef HWPARITYstruct keytab hwpartbl[] = {/* Add mark and space if needed and possible */    "even",    'e', 0,#ifdef OS2    "mark",    'm', 0,#endif /* OS2 */    "odd",     'o', 0,#ifdef OS2    "space",   's', 0,#endif /* OS2 */    "", 0, 0};int nhwpar = (sizeof(hwpartbl) / sizeof(struct keytab)) - 1;#endif /* HWPARITY *//* On/Off table */struct keytab onoff[] = {    "off",       0, 0,    "on",        1, 0};struct keytab cdtab[] = {    "message",   XYCD_M, 0,    "path",      XYCD_P, 0};int ncdtab = (sizeof(cdtab) / sizeof(struct keytab));struct keytab cdmsg[] = {    "file",      2, 0,    "off",       0, 0,    "on",        1, 0};int ncdmsg = (sizeof(cdmsg) / sizeof(struct keytab));staticstruct keytab xittab[] = {		/* SET EXIT */    "on-disconnect", 2, 0,		/* ...ON-DISCONNECT */    "status",        0, 0,		/* ...STATUS */    "warning",       1, 0		/* ...WARNING */};int nexit = (sizeof(xittab) / sizeof(struct keytab));struct keytab xitwtab[] = {		/* SET EXIT WARNING */    "always", 2, 0,                     /* even when not connected */    "off",    0, 0,			/* no warning     */    "on",     1, 0			/* when connected */};int nexitw = (sizeof(xitwtab) / sizeof(struct keytab));struct keytab rltab[] = {    "local",     1, 0,			/* ECHO values */    "off",       0, CM_INV,    "on",        1, CM_INV,    "remote",    0, 0};int nrlt = (sizeof(rltab) / sizeof(struct keytab));/* Incomplete File Disposition table */struct keytab ifdtab[] = {    "discard", SET_OFF, 0,    "keep",    SET_ON,  0};struct keytab ifdatab[] = {    "auto",    SET_AUTO, 0,    "discard", SET_OFF,  0,    "keep",    SET_ON,   0};char * ifdnam[] = { "discard", "keep", "auto" };/* SET TAKE parameters table */staticstruct keytab taktab[] = {    "echo",  0, 0,    "error", 1, 0,    "off",   2, CM_INV,			/* For compatibility */    "on",    3, CM_INV			/* with MS-DOS Kermit... */};#ifndef NOSPL#ifdef COMMENT/* not used */staticstruct keytab suftab[] = {		/* (what to do with) STARTUP-FILE */    "delete", 1, 0,    "keep",   0, 0};#endif /* COMMENT *//* SET MACRO parameters table */staticstruct keytab smactab[] = {    "echo",  0, 0,    "error", 1, 0};#endif /* NOSPL */#ifndef NOSCRIPTstaticstruct keytab scrtab[] = {    "echo",  0, 0};#endif /* NOSCRIPT *//* SET COMMAND table */static struct keytab scmdtab[] = {#ifdef CK_AUTODL    "autodownload", SCMD_ADL, 0,#endif /* CK_AUTODL */    "bytesize",  SCMD_BSZ, 0,    "cbreak",    876, CM_INV,#ifdef OS2    "color",     SCMD_COL, 0,    "cursor-position", SCMD_CUR, 0,#endif /* OS2 */    "height",    SCMD_HIG, 0,    "interruption", SCMD_INT, 0,    "more-prompting",  SCMD_MOR, 0,    "quoting",   SCMD_QUO, 0#ifdef CK_RECALL,   "recall-buffer-size", SCMD_RCL, 0#endif /* CK_RECALL */#ifdef CK_RECALL,   "retry", SCMD_RTR, 0#endif /* CK_RECALL */#ifdef OS2#ifdef ONETERMUPD,  "scrollback",  SCMD_SCR, 0#endif /* ONETERMUPD */#endif /* OS2 */,   "width",     SCMD_WID, 0};static int nbytt = (sizeof(scmdtab) / sizeof(struct keytab));#ifndef NOSERVER/* Server parameters table */static struct keytab srvtab[] = {    "cd-message",   XYSERC, 0,    "display",      XYSERD, 0,    "get-path",     XYSERP, 0,    "idle-timeout", XYSERI, 0,    "keepalive",    XYSERK, 0,    "login",        XYSERL, 0,    "timeout",      XYSERT, 0};static int nsrvt = (sizeof(srvtab) / sizeof(struct keytab));#endif /* NOSERVER */static struct keytab sleeptab[] = {	/* SET SLEEP table */    "cancellation",  0,   0};static struct keytab tstab[] = {	/* SET TRANSFER/XFER table */    "bell",            XYX_BEL, 0,#ifdef XFRCAN    "cancellation",    XYX_CAN, 0,#endif /* XFRCAN */#ifndef NOCSETS    "character-set",   XYX_CSE, 0,#endif /* NOCSETS */#ifndef NOSPL    "crc-calculation", XYX_CRC, 0,#endif /* NOSPL */    "display",         XYX_DIS, 0,    "interruption",    XYX_INT, 0,    "locking-shift",   XYX_LSH, 0,    "mode",            XYX_MOD, 0,#ifdef PIPESEND    "pipes",           XYX_PIP, 0,#endif /* PIPESEND */#ifdef CK_XYZ    "protocol",        XYX_PRO, 0,#endif /* CK_XYZ */    "slow-start",      XYX_SLO, 0,    "", 0, 0};static int nts = (sizeof(tstab) / sizeof(struct keytab)) - 1;static struct keytab rtstab[] = {	/* REMOTE SET TRANSFER/XFER table */#ifndef NOCSETS    "character-set",   XYX_CSE, 0,#endif /* NOCSETS */    "mode",            XYX_MOD, 0};static int nrts = (sizeof(rtstab) / sizeof(struct keytab));struct keytab xfrmtab[] = {		/* TRANSFER MODE table */    "automatic", XMODE_A, 0,    "manual",    XMODE_M, 0};#ifndef NOCSETS/* SET TRANSFER CHARACTER-SET table */extern struct keytab tcstab[];extern int ntcs;#endif /* NOCSETS *//* SET TRANSFER LOCKING-SHIFT table */struct keytab lstab[] = {    "forced", 2,   0,    "off",    0,   0,    "on",     1,   0};int nls = (sizeof(lstab) / sizeof(struct keytab));/* SET TELNET tables */#ifdef TNCODEextern int tn_nlm, tn_b_nlm, tn_b_meu, tn_b_ume, tn_b_xfer, tn_sb_bug;extern int tn_no_encrypt_xfer;extern int tn_wait_flg, tn_duplex;extern int sl_tn_saved;extern int tn_infinite;extern int tn_rem_echo;extern int tn_deb;extern int tn_auth_how;extern int tn_auth_enc;#ifdef CK_AUTHENTICATIONstatic struct keytab setauth[] = {#ifdef CK_KERBEROS    "k4",        AUTH_KRB4, CM_INV,    "k5",        AUTH_KRB5, CM_INV,    "kerberos4", AUTH_KRB4, 0,    "kerberos5", AUTH_KRB5, 0,    "kerberos_iv",AUTH_KRB4, CM_INV,    "kerberos_v", AUTH_KRB5, CM_INV,    "krb4",      AUTH_KRB4, CM_INV,    "krb5",      AUTH_KRB5, CM_INV,#endif /* CK_KERBEROS */#ifdef CK_SRP    "srp",       AUTH_SRP,  0,#endif /* CK_SRP */#ifdef CK_SSL    "ssl",      AUTH_SSL,   0,    "tls",      AUTH_TLS,   0,#endif /* CK_SSL */    "",         0,      0};static int nsetauth = sizeof(setauth)/sizeof(struct keytab) - 1;#ifdef CK_KERBEROSextern char * krb5_d_principal;		/* Default principal */extern char * krb5_d_instance;extern char * krb5_d_realm;		/* Default realm */extern char * krb5_d_cc;		/* Default credentials cache */extern char * krb5_d_srv;               /* Default service name */extern int    krb5_d_lifetime;          /* Default lifetime */extern int    krb5_d_forwardable;extern int    krb5_d_proxiable;extern int    krb5_d_renewable;extern int    krb5_autoget;extern int    krb5_autodel;extern int    krb5_d_getk4;extern int    krb5_checkaddrs;		/* Check TGT Addrs */extern struct krb4_init_data krb4_init;extern char * krb4_d_principal;		/* Default principal */extern char * krb4_d_realm;		/* Default realm */extern char * krb4_d_srv;               /* Default service name */extern int    krb4_d_lifetime;          /* Default lifetime */extern int    krb4_d_preauth;extern char * krb4_d_instance;extern int    krb4_autoget;extern int    krb4_autodel;extern int    krb4_checkaddrs;		/* Check TGT Addrs */#ifdef KRB4extern int    k4debug;#endif /* KRB4 */static struct keytab krbver[] = {    "4",                 4, 0,    "5",                 5, 0,    "iv",                4, CM_INV,    "v",                 5, CM_INV};static int nkrbver = sizeof(krbver)/sizeof(struct keytab);static struct keytab kdestab[] = {    "never",            KRB_DEL_NO, 0,    "no",               KRB_DEL_NO, CM_INV,    "on-close",         KRB_DEL_CL, 0,    "on-exit",          KRB_DEL_EX, 0};static int nkdestab = sizeof(kdestab)/sizeof(struct keytab);static struct keytab k4tab[] = {    "autodel",           XYKRBDEL, CM_INV,    "autodestroy",       XYKRBDEL, 0,    "autoget",           XYKRBGET, 0,    "check-address",     XYKRBADR, 0,    "debug",             XYKRBDBG, CM_INV,    "instance",          XYKRBINS, 0,    "lifetime",          XYKRBLIF, 0,    "preauth",           XYKRBPRE, 0,    "principal",         XYKRBPR,  0,    "prompt",            XYKRBPRM, 0,    "realm",             XYKRBRL,  0,    "service-name",      XYKRBSRV, 0};static int nk4tab = sizeof(k4tab)/sizeof(struct keytab);static struct keytab k5tab[] = {    "autodel",           XYKRBDEL, CM_INV,    "autodestroy",       XYKRBDEL, 0,    "autoget",           XYKRBGET, 0,    "cc",                XYKRBCC,  CM_INV,    "check-address",     XYKRBADR, 0,    "credentials-cache", XYKRBCC,  0,    "forwardable",       XYKRBFWD, 0,    "get-k4-tgt",        XYKRBK5K4,0,    "instance",          XYKRBINS, 0,    "lifetime",          XYKRBLIF, 0,    "principal",         XYKRBPR,  0,    "prompt",            XYKRBPRM, 0,    "proxiable",         XYKRBPRX, 0,    "realm",             XYKRBRL,  0,    "renewable",         XYKRBRNW, 0,    "service-name",      XYKRBSRV, 0};static int nk5tab = sizeof(k5tab)/sizeof(struct keytab);#define KRB_PW_PRM 1#define KRB_PR_PRM 2static struct keytab krbprmtab[] = {    "password",  KRB_PW_PRM, 0,    "principal", KRB_PR_PRM, 0};#endif /* CK_KERBEROS */#ifdef CK_SRPstatic struct keytab srptab[] = {    "prompt",            XYSRPPRM, 0};static int nsrptab = sizeof(srptab)/sizeof(struct keytab);#define SRP_PW_PRM 1static struct keytab srpprmtab[] = {    "password",  SRP_PW_PRM, 0};#endif /* CK_SRP */#ifdef CK_SSLstatic struct keytab ssltab[] = {    "certs-ok",          XYSSLCOK,  CM_INV,    "cipher-list",       XYSSLCL,   0,    "crl-dir",           XYSSLCRLD, 0,    "crl-file",          XYSSLCRL,  0,    "debug",             XYSSLDBG,  0,    "dh-key-file",       XYSSLDKFL, CM_INV,    "dh-param-file",     XYSSLDPFL, 0,    "dsa-cert-file",     XYSSLDCFL, 0,    "dsa-key-file",      XYSSLDKFL, 0,    "dummy",             XYSSLDUM,  CM_INV,    "only",              XYSSLON,   CM_INV,    "rsa-cert-file",     XYSSLRCFL, 0,    "rsa-key-file",      XYSSLRKFL, 0,    "verbose",           XYSSLVRB,  0,    "verify",            XYSSLVRF,  0,    "verify-dir",        XYSSLVRFD, 0,    "verify-file",       XYSSLVRFF, 0};static int nssltab = sizeof(ssltab)/sizeof(struct keytab);static struct keytab sslvertab[] = {    "fail-if-no-peer-cert", SSL_VERIFY_PEER |                            SSL_VERIFY_FAIL_IF_NO_PEER_CERT, 0,    "no",               SSL_VERIFY_NONE, 0,    "none",             SSL_VERIFY_NONE, CM_INV,    "off",              SSL_VERIFY_NONE, CM_INV,    "on",               SSL_VERIFY_PEER, CM_INV,    "peer-cert",        SSL_VERIFY_PEER, 0};static int nsslvertab = sizeof(sslvertab)/sizeof(struct keytab);#endif /* CK_SSL */#endif /* CK_AUTHENTICATION */#ifdef CK_ENCRYPTIONint cx_type = CX_AUTO;extern int sl_cx_type;#endif /* CK_ENCRYPTION */extern char *tcp_address;static struct keytab tnnegtab[] = {	/* TELNET NEGOTIATION table */    "accepted",  TN_NG_AC, 0,    "refused",   TN_NG_RF, 0,    "req",       TN_NG_RQ, CM_INV|CM_ABR,    "requ",      TN_NG_RQ, CM_INV|CM_ABR,    "reque",     TN_NG_RQ, CM_INV|CM_ABR,    "reques",    TN_NG_RQ, CM_INV|CM_ABR,    "request",   TN_NG_RQ, CM_INV|CM_ABR,    "requeste",  TN_NG_RQ, CM_INV|CM_ABR,    "requested", TN_NG_RQ, 0,    "required",  TN_NG_MU, 0};static int ntnnegtab = sizeof(tnnegtab)/sizeof(struct keytab);#ifdef CK_ENCRYPTIONstatic struct keytab typkwd[] = {    "/type", 0, CM_ARG};static struct keytab tnenctab[] = {	/* TELNET ENCRYPTION table */    "accepted",   TN_NG_AC,    CM_INV,    "refused",    TN_NG_RF,    CM_INV,    "req",        TN_NG_RQ,    CM_INV|CM_ABR,    "requ",       TN_NG_RQ,    CM_INV|CM_ABR,    "reque",      TN_NG_RQ,    CM_INV|CM_ABR,    "reques",     TN_NG_RQ,    CM_INV|CM_ABR,    "request",    TN_NG_RQ,    CM_INV|CM_ABR,    "requeste",   TN_NG_RQ,    CM_INV|CM_ABR,    "requested",  TN_NG_RQ,    CM_INV,    "required",   TN_NG_MU,    CM_INV,    "start",      TN_EN_START, CM_INV,    "stop",       TN_EN_STOP,  CM_INV,    "type",       TN_EN_TYP,   0};static int ntnenc = sizeof(tnenctab)/sizeof(struct keytab) ;#endif /* CK_ENCRYPTION */static struct keytab tnbugtab[] = {	/* TELNET BUG table */    "binary-me-means-u-too", 0, 0,    "binary-u-means-me-too", 1, 0,    "infinite-loop-check",   2, 0,    "sb-implies-will-do",    3, 0};#ifdef CK_ENVIRONMENTstatic struct keytab tnenvtab[] = {	/* TELNET ENVIRONMENT table */    "acct",	TN_ENV_ACCT,	0,    "display",	TN_ENV_DISP,	0,    "job",	TN_ENV_JOB,	0,    "off",      TN_ENV_OFF,     CM_INV,    "on",       TN_ENV_ON,      CM_INV,    "printer",	TN_ENV_PRNT,	0,    "systemtype",TN_ENV_SYS,	0,    "user", 	TN_ENV_USR, 	0,#ifdef COMMENT    "uservar",	TN_ENV_UVAR,	CM_INV#endif /* COMMENT */    "", 0, 0};static int ntnenv = sizeof(tnenvtab)/sizeof(struct keytab) - 1;#endif /* CK_ENVIRONMENT */#ifdef CK_AUTHENTICATIONstatic struct keytab tnauthtab[] = {	/* TELNET AUTHENTICATION table */    "accepted",   TN_NG_AC,  CM_INV,    "encrypt-flag", TN_AU_ENC, 0,    "forwarding", TN_AU_FWD,   0,    "how-flag",   TN_AU_HOW,   0,    "refused",    TN_NG_RF,  CM_INV,    "req",        TN_NG_RQ,  CM_INV|CM_ABR,    "requ",       TN_NG_RQ,  CM_INV|CM_ABR,    "reque",      TN_NG_RQ,  CM_INV|CM_ABR,    "reques",     TN_NG_RQ,  CM_INV|CM_ABR,    "request",    TN_NG_RQ,  CM_INV|CM_ABR,    "requeste",   TN_NG_RQ,  CM_INV|CM_ABR,    "requested",  TN_NG_RQ,  CM_INV,    "required",   TN_NG_MU,  CM_INV,    "type",       TN_AU_TYP, 0};static int ntnauth = sizeof(tnauthtab)/sizeof(struct keytab) ;struct keytab autyptab[] = {	/* TELNET AUTHENTICATION TYPE table */    "automatic",  AUTH_AUTO, 0,#ifdef CK_KERBEROS    "k4",         AUTH_KRB4, CM_INV,    "k5",         AUTH_KRB5, CM_INV,    "kerberos4",  AUTH_KRB4, 0,    "kerberos5",  AUTH_KRB5, 0,    "kerberos_iv",AUTH_KRB4, CM_INV,    "kerberos_v", AUTH_KRB5, CM_INV,    "krb4",       AUTH_KRB4, CM_INV,    "krb5",       AUTH_KRB5, CM_INV,#endif /* CK_KERBEROS */    "none",       AUTH_NONE, 0,

⌨️ 快捷键说明

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