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

📄 ckuus6.c

📁 KERMIT工具 这在办公室下载不了,很多人都没有载不到.
💻 C
📖 第 1 页 / 共 5 页
字号:
#define  XXIFEX 2       /* IF EXIST */#define  XXIFFA 3       /* IF FAILURE */#define  XXIFSU 4       /* IF SUCCESS */#define  XXIFNO 5       /* IF NOT */#define  XXIFDE 6       /* IF DEFINED */#define  XXIFEQ 7       /* IF EQUAL (strings) */#define  XXIFAE 8       /* IF = (numbers) */#define  XXIFLT 9       /* IF < (numbers) */#define  XXIFGT 10      /* IF > (numbers) */#define  XXIFLL 11      /* IF Lexically Less Than (strings) */#define  XXIFLG 12      /* IF Lexically Greater Than (strings) */#define  XXIFEO 13      /* IF EOF (READ file) */#define  XXIFBG 14      /* IF BACKGROUND */#define  XXIFNU 15      /* IF NUMERIC */#define  XXIFFG 16      /* IF FOREGROUND */#define  XXIFDI 17      /* IF DIRECTORY */#define  XXIFNE 18      /* IF NEWER */#define  XXIFRO 19      /* IF REMOTE-ONLY */#define  XXIFAL 20      /* IF ALARM */#define  XXIFSD 21      /* IF STARTED-FROM-DIALER */#define  XXIFTR 22      /* IF TRUE */#define  XXIFNT 23      /* IF FALSE */#define  XXIFTM 24      /* IF TERMINAL-MACRO */#define  XXIFEM 25      /* IF EMULATION */#define  XXIFOP 26      /* IF OPEN */#define  XXIFLE 27      /* IF <= */#define  XXIFGE 28      /* IF >= */#define  XXIFIP 29      /* IF INPATH */#define  XXIFTA 30      /* IF TAPI */#define  XXIFMA 31      /* IF MATCH */#define  XXIFFL 32      /* IF FLAG */#define  XXIFAB 33      /* IF ABSOLUTE */#define  XXIFAV 34      /* IF AVAILABLE */#define  XXIFAT 35      /* IF ASKTIMEOUT */#define  XXIFRD 36      /* IF READABLE */#define  XXIFWR 37      /* IF WRITEABLE */#define  XXIFAN 38      /* IF ... AND ... */#define  XXIFOR 39      /* IF ... OR ... */#define  XXIFLP 40      /* IF left parenthesis */#define  XXIFRP 41      /* IF right parenthesis */#define  XXIFNQ 42      /* IF != (== "NOT =") */#define  XXIFQU 43      /* IF QUIET */#define  XXIFCK 44      /* IF C-KERMIT */#define  XXIFK9 45      /* IF K-95 */#define  XXIFMS 46      /* IF MS-KERMIT */#define  XXIFWI 47      /* IF WILD */#define  XXIFLO 48      /* IF LOCAL */#define  XXIFCM 49      /* IF COMMAND */#define  XXIFFP 50      /* IF FLOAT */#define  XXIFIK 51      /* IF IKS */#define  XXIFKB 52      /* IF KBHIT */#define  XXIFKG 53      /* IF KERBANG */#define  XXIFVE 54      /* IF VERSION */#define  XXIFDC 55      /* IF DECLARED */#define  XXIFGU 56      /* IF GUI */struct keytab iftab[] = {               /* IF commands */    { "!",          XXIFNO, 0 },    { "!=",         XXIFNQ, 0 },    { "&&",         XXIFAN, 0 },    { "(",          XXIFLP, 0 },    { ")",          XXIFRP, 0 },    { "<",          XXIFLT, 0 },    { "<=",         XXIFLE, 0 },    { "=",          XXIFAE, 0 },    { "==",         XXIFAE, CM_INV },    { ">",          XXIFGT, 0 },    { ">=",         XXIFGE, 0 },    { "absolute",   XXIFAB, 0 },    { "alarm",      XXIFAL, 0 },    { "and",        XXIFAN, 0 },    { "asktimeout", XXIFAT, 0 },    { "available",  XXIFAV, 0 },    { "background", XXIFBG, 0 },    { "c-kermit",   XXIFCK, 0 },    { "command",    XXIFCM, 0 },    { "count",      XXIFCO, 0 },    { "dcl",        XXIFDC, CM_INV },    { "declared",   XXIFDC, 0 },    { "defined",    XXIFDE, 0 },#ifdef CK_TMPDIR    { "directory",  XXIFDI, 0 },#endif /* CK_TMPDIR */    { "emulation",  XXIFEM, 0 },#ifdef COMMENT    { "eof",        XXIFEO, 0 },#endif /* COMMENT */    { "equal",      XXIFEQ, 0 },    { "error",      XXIFFA, CM_INV },    { "exist",      XXIFEX, 0 },    { "failure",    XXIFFA, 0 },    { "false",      XXIFNT, 0 },    { "flag",       XXIFFL, 0 },#ifdef CKFLOAT    { "float",      XXIFFP, 0 },#endif /* CKFLOAT */    { "foreground", XXIFFG, 0 },#ifdef OS2    { "gui",        XXIFGU, 0 },#else    { "gui",        XXIFGU, CM_INV },#endif /* OS2 */#ifdef IKSD    { "iksd",       XXIFIK, 0 },#else    { "iksd",       XXIFIK, CM_INV },#endif /* IKSD */    { "integer",    XXIFNU, CM_INV },    { "k-95",       XXIFK9, 0 },    { "kbhit",      XXIFKB, 0 },#ifdef UNIX    { "kerbang",    XXIFKG, 0 },#else    { "kerbang",    XXIFKG, CM_INV },#endif /* UNIX */    { "lgt",        XXIFLG, 0 },    { "llt",        XXIFLL, 0 },    { "local",      XXIFLO, 0 },    { "match",      XXIFMA, 0 },    { "ms-kermit",  XXIFMS, CM_INV },#ifdef ZFCDAT    { "newer",      XXIFNE, 0 },#endif /* ZFCDAT */    { "not",        XXIFNO, 0 },    { "numeric",    XXIFNU, 0 },    { "ok",         XXIFSU, CM_INV },    { "open",       XXIFOP, 0 },    { "or",         XXIFOR, 0 },    { "quiet",      XXIFQU, 0 },    { "readable",   XXIFRD, 0 },    { "remote-only",XXIFRO, 0 },    { "started-from-dialer",XXIFSD, CM_INV },    { "success",    XXIFSU, 0 },    { "tapi",       XXIFTA, 0 },#ifdef OS2    { "terminal-macro", XXIFTM, 0 },#else    { "terminal-macro", XXIFTM, CM_INV },#endif /* OS2 */    { "true",       XXIFTR, 0 },    { "version",    XXIFVE, 0 },    { "wild",       XXIFWI, 0 },    { "writeable",  XXIFWR, 0 },    { "||",         XXIFOR, 0 },    { "", 0, 0 }};int nif = (sizeof(iftab) / sizeof(struct keytab)) - 1;struct keytab iotab[] = {               /* Keywords for IF OPEN */    { "!read-file",      ZRFILE, CM_INV },    { "!write-file",     ZWFILE, CM_INV },    { "append-file",     ZWFILE, CM_INV },    { "connection",      8888,   0 },#ifdef CKLOGDIAL    { "cx-log",          7777,   0 },#endif /* CKLOGDIAL */    { "debug-log",       ZDFILE, 0 },    { "error",           9999,   0 },    { "packet-log",      ZPFILE, 0 },    { "read-file",       ZRFILE, 0 },    { "screen",          ZSTDIO, 0 },    { "session-log",     ZSFILE, 0 },    { "transaction-log", ZTFILE, 0 },    { "write-file",      ZWFILE, 0 }};int niot = (sizeof(iotab) / sizeof(struct keytab));#endif /* NOSPL *//* Variables and prototypes */#ifdef NETCONNextern int nnetdir;                     /* How many network directories */#endif /* NETCONN */#ifdef CK_SECURITY_PROTOTYP(int ck_krb4_is_installed,(void));_PROTOTYP(int ck_krb5_is_installed,(void));_PROTOTYP(int ck_ntlm_is_installed,(void));_PROTOTYP(int ck_srp_is_installed,(void));_PROTOTYP(int ck_ssleay_is_installed,(void));_PROTOTYP(int ck_ssh_is_installed,(void));_PROTOTYP(int ck_crypt_is_installed,(void));#else#define ck_krb4_is_installed() (0)#define ck_krb5_is_installed() (0)#define ck_ntlm_is_installed() (0)#define ck_srp_is_installed() (0)#define ck_ssleay_is_installed() (0)#define ck_ssh_is_installed() (0)#define ck_crypt_is_installed() (0)#endif /* CK_SECURITY */#define AV_KRB4   1#define AV_KRB5   2#define AV_NTLM   3#define AV_SRP    4#define AV_SSL    5#define AV_CRYPTO 6#define AV_SSH    7struct keytab availtab[] = {             /* Available authentication types */    { "crypto",     AV_CRYPTO, CM_INV }, /* and encryption */    { "encryption", AV_CRYPTO, 0 },    { "k4",         AV_KRB4,   CM_INV },    { "k5",         AV_KRB5,   CM_INV },    { "kerberos4",  AV_KRB4,   0 },    { "kerberos5",  AV_KRB5,   0 },    { "krb4",       AV_KRB4,   CM_INV },    { "krb5",       AV_KRB5,   CM_INV },    { "ntlm",       AV_NTLM,   0 },    { "srp",        AV_SRP,    0 },    { "ssh",        AV_SSH,    0 },    { "ssl",        AV_SSL,    0 },    { "tls",        AV_SSL,    0 },    { "",           0,         0 }};int availtabn = sizeof(availtab)/sizeof(struct keytab)-1;#ifndef NODIAL_PROTOTYP(static int ddcvt, (char *, FILE *, int) );_PROTOTYP(static int dncvt, (int, int, int, int) );_PROTOTYP(char * getdname, (void) );static int partial  = 0;                /* For partial dial */static char *dscopy = NULL;int dialtype = -1;char *dialnum = (char *)0;              /* Remember DIAL number for REDIAL */int dirline = 0;                        /* Dial directory line number */extern char * dialdir[];                /* Dial directory file names */extern int dialdpy;                     /* DIAL DISPLAY on/off */extern int ndialdir;                    /* How many dial directories */extern int ntollfree;                   /* Toll-free call info */extern int ndialpxx;                    /* List of PBX exchanges */extern char *dialtfc[];char * matchpxx = NULL;                 /* PBX exchange that matched */extern int nlocalac;                    /* Local area-code list */extern char * diallcac[];extern int tttapi;#ifdef CK_TAPIextern int tapiconv;                    /* TAPI Conversions */extern int tapipass;                    /* TAPI Passthrough */#endif /* CK_TAPI */extern int dialatmo;extern char * dialnpr, * dialsfx;extern char * dialixp, * dialixs, * dialmac;extern char * dialldp, * diallds, * dialtfp;extern char * dialpxi, * dialpxo, * diallac;extern char * diallcp, * diallcs, * diallcc;extern char * dialpxx[];extern int dialcnf;                     /* DIAL CONFIRMATION */int dialfld = 0;                        /* DIAL FORCE-LONG-DISTANCE */int dialsrt = 1;                        /* DIAL SORT ON */int dialrstr = 6;                       /* DIAL RESTRICTION */int dialtest = 0;                       /* DIAL TEST */int dialcount = 0;                      /* \v(dialcount) */extern int dialsta;                     /* Dial status */int dialrtr = -1,                       /* Dial retries */    dialint = 10;                       /* Dial retry interval */extern long dialcapas;                  /* Modem capabilities */extern int dialcvt;                     /* DIAL CONVERT-DIRECTORY */#endif /* NODIAL */#ifndef NOSPL#define IFCONDLEN 256int ifc,                                /* IF case */    not = 0,                            /* Flag for IF NOT */    ifargs = 0;                         /* Count of IF condition words */char ifcond[IFCONDLEN];                 /* IF condition text */char *ifcp;                             /* Pointer to IF condition text */#ifdef DCMDBUFextern int *ifcmd,  *count,  *iftest, *intime, *inpcas, *takerr, *merror, *xquiet;#elseextern int ifcmd[];                     /* Last command was IF */extern int iftest[];                    /* Last IF was true */extern int count[];                     /* For IF COUNT, one for each cmdlvl */extern int intime[];                    /* Ditto for other stackables... */extern int inpcas[];extern int takerr[];extern int merror[];extern int xquiet[];#endif /* DCMDBUF */#elseextern int takerr[];#endif /* NOSPL */#ifdef DCMDBUFextern char *line;                      /* Character buffer for anything */extern char *tmpbuf;#elseextern char line[], tmpbuf[];#endif /* DCMDBUF */extern char *lp;                        /* Pointer to line buffer */int cwdf = 0;                           /* CWD has been done *//* Flags for ENABLE/DISABLE */extern int en_cwd, en_cpy, en_del, en_dir, en_fin,   en_get, en_hos, en_ren, en_sen, en_set, en_spa, en_typ, en_who, en_bye,   en_asg, en_que, en_ret, en_mai, en_pri, en_mkd, en_rmd, en_xit, en_ena;extern FILE *tfile[];                   /* File pointers for TAKE command */extern char *tfnam[];                   /* Names of TAKE files */extern int tfline[];                    /* TAKE-file line number */extern int success;                     /* Command success/failure flag */extern int cmdlvl;                      /* Current position in command stack */#ifndef NOSPLextern int maclvl;                      /* Macro to execute */extern char *macx[];                    /* Index of current macro */extern char *mrval[];                   /* Macro return value */extern char *macp[];                    /* Pointer to macro */extern int macargc[];                   /* ARGC from macro invocation */#ifdef COMMENTextern char *m_line[];#endif /* COMMENT */extern char *m_arg[MACLEVEL][NARGS];    /* Stack of macro arguments */extern char *g_var[];                   /* Global variables %a, %b, etc */#ifdef DCMDBUFextern struct cmdptr *cmdstk;           /* The command stack itself */#elseextern struct cmdptr cmdstk[];          /* The command stack itself */#endif /* DCMDBUF */#endif /* NOSPL */#define xsystem(s) zsyscmd(s)static int x, y, z = 0;static char *s, *p;#ifdef OS2_PROTOTYP( int os2settitle, (char *, int) );#endif /* OS2 */extern struct keytab yesno[], onoff[], fntab[];extern int nyesno, nfntab;#ifndef NOSPL/* Do the ASK, ASKQ, GETOK, and READ commands */int asktimedout = 0;#define ASK_PUP 1#define ASK_TMO 2#define ASK_GUI 3#define ASK_QUI 4#define ASK_DEF 5static struct keytab asktab[] = {    {  "/default", ASK_DEF, CM_ARG },    {  "/gui",     ASK_GUI,      #ifdef KUI           0#else /* KUI */           CM_INV#endif /* KUI */    },    { "/popup",    ASK_PUP,   #ifdef OS2           0#else /* OS2 */           CM_INV#endif /* OS2 */    },    { "/quiet",    ASK_QUI, 0 },    { "/timeout",  ASK_TMO, CM_ARG },    { "", 0, 0 }};static int nasktab = sizeof(asktab)/sizeof(struct keytab)-1;

⌨️ 快捷键说明

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