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

📄 ckuusr.c

📁 KERMIT工具 这在办公室下载不了,很多人都没有载不到.
💻 C
📖 第 1 页 / 共 5 页
字号:
#ifdef DCMDBUFextern char *cmdbuf;			/* Command buffers */extern char *atmbuf;extern char *line;			/* Character buffer for anything */extern char *tmpbuf;			/* Short temporary string buffer */extern int *ifcmd;extern int *intime;extern int *inpcas;#elseextern char cmdbuf[];			/* Command buffers */extern char atmbuf[];extern char line[];			/* Character buffer for anything */extern char tmpbuf[];			/* Temporary buffer */extern int ifcmd[];extern int intime[];extern int inpcas[];#endif /* DCMDBUF */#ifndef NOSPLextern char * prstring[];#endif /* NOSPL */char *lp;				/* Pointer to line buffer */#ifndef NOSPLint unkmacro = 0;			/* Flag for in ON_UNKNOWN_COMMAND */int oldeval = 0;char evalbuf[33];			/* EVALUATE result */extern char * inpbuf;			/* Buffer for INPUT and REINPUT */char *inpbp;				/* And pointer to same */extern char lblbuf[];			/* Buffer for labels */int m_found;				/* MINPUT result */int i_active = 0;			/* INPUT command is active */char *ms[MINPMAX];			/* Pointers to MINPUT strings */static int mp[MINPMAX];			/* and flags */extern int fndiags, fnerror, fnsuccess;	/* Function diagnostics */#ifndef NOSEXPchar * lastsexp = NULL;			/* S-Expressions */char * sexpval = NULL;int sexpecho = SET_AUTO;#endif /* NOSEXP */#endif /* NOSPL */char psave[PROMPTL] = { NUL };		/* For saving & restoring prompt */extern int success;			/* Command success/failure flag */extern int cmdlvl;			/* Current position in command stack */#ifndef NOSPLint					/* SET INPUT parameters. *//* Note, INPUT TIMEOUT, intime[], is on the command-level stack. */  inbufsize = 0,			/* INPUT buffer size */  indef = 1,				/* default timeout, seconds */  inecho = 1,				/* 1 = echo on */  inautodl = 0,				/* INPUT autodownload */  inintr = 1,				/* INPUT interrupion allowed */  innomatch = 0,			/* INPUT /NOMATCH */  insilence = 0;			/* 0 = no silence constraint */#ifdef CKFLOATCKFLOAT inscale = 1.0;			/* Timeout scale factor */#endif	/* CKFLOAT */#ifdef OS2int interm = 1;				/* Terminal emulator displays input */#endif /* OS2 */int maclvl = -1;			/* Macro nesting level */int mecho = 0;				/* Macro echo, 0 = don't */char varnam[6];				/* For variable names */extern int macargc[];			/* ARGC from macro invocation */extern char *m_arg[MACLEVEL][NARGS];	/* Stack of macro arguments */extern char *mrval[];extern char **a_ptr[];			/* Array pointers */extern int a_dim[];			/* Array dimensions */extern int a_link[];#ifdef DCMDBUFextern struct cmdptr *cmdstk;		/* The command stack itself */#elseextern struct cmdptr cmdstk[];		/* The command stack itself */#endif /* DCMDBUF */long ck_alarm = 0;			/* SET ALARM value */char alrm_date[24] = { ' ',' ',' ',' ',' ',' ',' ',' ',' ' };char alrm_time[24] = { ' ',' ',' ',' ',' ',' ',' ' };#define INPSW_NOM 1struct keytab inputsw[] = {    { "/nomatch", INPSW_NOM, 0 }};static int ninputsw = sizeof(inputsw)/sizeof(struct keytab);#endif /* NOSPL */static int x, y, z = 0;			/* Local workers */static char *s;#ifdef CK_MINPUTstatic char c1chars[] = {		/* C1 control chars escept NUL */    001,002,003,004,005,006,007,010,011,012,013,014,015,016,017,020,    021,022,023,024,025,026,027,030,031,032,033,034,035,036,037};#endif /* CK_MINPUT */#define xsystem(s) zsyscmd(s)/* Top-Level Interactive Command Keyword Table *//* Keywords must be in lowercase and in alphabetical order. */struct keytab cmdtab[] = {#ifndef NOPUSH    { "!",	   XXSHE, CM_INV|CM_PSH }, /* Shell escape */#else    { "!",	   XXNOTAV, CM_INV|CM_PSH },#endif /* NOPUSH */    { "#",    	   XXCOM, CM_INV },	/* Comment */#ifndef NOSPL    { "(",           XXSEXP,CM_INV },	/* S-Expression */    { ".",           XXDEF, CM_INV },	/* Assignment */    { ":",           XXLBL, CM_INV },	/* Label */#endif /* NOSPL */#ifdef CK_REDIR#ifndef NOPUSH    { "<",           XXFUN, CM_INV|CM_PSH }, /* REDIRECT */#else    { "<",           XXNOTAV, CM_INV|CM_PSH }, /* REDIRECT */#endif /* NOPUSH */#endif /* CK_REDIR */#ifndef NOPUSH    { "@",           XXSHE, CM_INV|CM_PSH }, /* DCL escape */#else    { "@",           XXNOTAV, CM_INV|CM_PSH }, /* DCL escape */#endif /* NOPUSH */#ifdef CK_RECALL    { "^",           XXREDO,CM_INV|CM_NOR }, /* Synonym for REDO */#endif /* CK_RECALL */#ifndef NOSPL    { "_asg",        XXASX,   CM_INV },	/* Used internally by FOR, etc */    { "_assign",     XXASX,   CM_INV },	/* Used internally by FOR, etc */    { "_decrement",  XX_DECR, CM_INV },    { "_define",     XXDFX,   CM_INV },	/* Used internally by FOR, etc */    { "_evaluate",   XX_EVAL, CM_INV },    { "_forward",    XXXFWD,  CM_INV },	/* Used internally by SWITCH   */    { "_getargs",    XXGTA,   CM_INV },	/* Used internally by FOR, etc */    { "_increment",  XX_INCR, CM_INV },    { "_putargs",    XXPTA,   CM_INV },	/* Used internally by FOR, etc */    { "_undefine",   XXUNDFX, CM_INV },#endif /* NOSPL */    { "about",       XXVER,   CM_INV },	/* Synonym for VERSION */#ifndef NOSPL#ifdef NEWFTP    { "account",     XXACCT,  CM_INV }, /* (FTP) Account */#endif /* NEWFTP */#ifdef ADDCMD    { "add",         XXADD, 0 },	/* ADD */#endif /* ADDCMD */#ifndef NODIAL    { "answer",      XXANSW, CM_LOC },	/* ANSWER the phone */#else    { "answer",      XXNOTAV, CM_INV|CM_LOC }, /* ANSWER the phone */#endif /* NODIAL */    { "apc",         XXAPC, 0 },	/* Application Program Command */#ifndef NOSPL    { "array",       XXARRAY, 0 },	/* Array operations */#endif /* NOSPL */    { "ascii",       XXASC, CM_INV },	/* == SET FILE TYPE TEXT */    { "asg",         XXASS, CM_INV },	/* Invisible synonym for ASSIGN */    { "ask",         XXASK, 0 },	/* ASK for text, assign to variable */    { "askq",        XXASKQ,0 },	/* ASK quietly (no echo) */#ifndef NOSPL    { "ass",         XXASS, CM_INV|CM_ABR }, /* ASSIGN */    { "assert",      XXASSER, CM_INV },	/* ASSERT */    { "assign",      XXASS, 0 },	/* ASSIGN */#endif /* NOSPL */#ifndef NOXFER#ifndef NOCSETS    { "associate",   XXASSOC, 0 },	/* ASSOCIATE */#else    { "associate",   XXNOTAV, CM_INV },	/* ASSOCIATE */#endif /* NOCSETS */#endif /* NOXFER */#ifdef CK_KERBEROS#ifdef CK_AUTHENTICATION    { "authenticate",XXAUTH, 0 },	/* Authentication */#else    { "authenticate",XXAUTH, CM_INV },#endif /* CK_AUTHENTICATION */#endif /* CK_KERBEROS */#endif /* NOSPL */#ifndef NOFRILLS    { "back",        XXBACK, 0 },	/* BACK to previous directory */#else    { "back",        XXNOTAV,CM_INV },#endif /* NOFRILLS */    { "beep",        XXBEEP,CM_INV },	/* BEEP */#ifndef NOXFER    { "binary",      XXBIN, CM_INV },	/* == SET FILE TYPE BINARY */#endif /* NOXFER */#ifndef NOFRILLS    { "bug",         XXBUG, CM_INV },	/* BUG report instructions */#else    { "bug",         XXNOTAV, CM_INV },#endif /* NOFRILLS */#ifdef BROWSER    { "browse",      XXBROWS, CM_PSH|CM_LOC }, /* BROWSE (start browser) */#else    { "browse",      XXNOTAV, CM_INV|CM_PSH|CM_LOC },#endif /* BROWSER */#ifndef NOXFER    { "bye",         XXBYE, 0 },	/* BYE to remote server */#endif /* NOXFER */#ifndef NOLOCAL    { "c",           XXCON, CM_INV|CM_ABR|CM_LOC }, /* (CONNECT) */#endif /* NOLOCAL */#ifndef NOFRILLS    { "cat",         XXCAT, CM_INV },	/* Invisible synonym for TYPE */#endif /* NOFRILLS */#ifndef NOSPL#ifndef NOXFER    { "cautious",    XXCAU, CM_INV },#endif /* NOXFER */#endif /* NOSPL */    { "cd",          XXCWD, 0 },	/* Change Directory */    { "cdup",        XXCDUP, CM_INV },	/* Change Directory Up */#ifndef NOXFER#ifdef PIPESEND    { "cget",        XXCGET, CM_INV|CM_PSH }, /* CGET */#else    { "cget",        XXNOTAV, CM_INV|CM_PSH }, /* CGET */#endif /* PIPESEND */#endif /* NOXFER */    { "ch",          XXCHK,   CM_INV|CM_ABR },    { "check",       XXCHK,   0 },	/* CHECK for a feature */#ifdef CK_PERMS#ifdef UNIX    { "chmod",       XXCHMOD, 0 },	/* CHMOD */#else    { "chmod",       XXNOTAV, CM_INV },#endif /* UNIX */#else    { "chmod",       XXNOTAV, CM_INV },#endif /* CK_PERMS */#ifdef CKROOT    { "chroot",      XXCHRT,  CM_INV },	/* CHROOT */#endif /* CKROOT */    { "ckermit",     XXKERMI, CM_INV },	/* CKERMIT (like KERMIT) */    { "cl",          XXCLO,   CM_ABR|CM_INV },#ifndef NOFRILLS    { "clear",       XXCLE, 0 },	/* CLEAR input and/or device buffer */#else    { "clear",       XXNOTAV, CM_INV },#endif /* NOFRILLS */    { "close",	     XXCLO, 0 },	/* CLOSE a log or other file */    { "cls",         XXCLS, CM_INV },	/* Clear Screen (CLS) */    { "comment",     XXCOM, CM_INV },	/* Introduce a comment */#ifndef NOLOCAL    { "connect",     XXCON, CM_LOC },	/* Begin terminal connection */#else    { "connect",     XXNOTAV, CM_LOC },#endif /* NOLOCAL */    { "continue",    XXCONT,  CM_INV },	/* CONTINUE */#ifndef NOFRILLS#ifdef ZCOPY    { "co",          XXCPY, CM_INV|CM_ABR },    { "cop",         XXCPY, CM_INV|CM_ABR },    { "copy",        XXCPY, 0 },	/* COPY a file */#else    { "copy",        XXNOTAV, CM_INV },#endif /* ZCOPY */    { "copyright",   XXCPR, CM_INV },	/* COPYRIGHT */#ifdef ZCOPY    { "cp",          XXCPY, CM_INV },	/* COPY a file */#endif /* ZCOPY */#ifndef NOLOCAL#ifndef OS2    { "cq",          XXCQ, CM_INV|CM_LOC }, /* CQ (connect quietly) */#endif /* OS2 */#endif /* NOLOCAL */#ifndef NOXFER#ifdef PIPESEND    { "creceive",    XXCREC,CM_INV|CM_PSH }, /* RECEIVE to a command */    { "csend",       XXCSEN,CM_INV|CM_PSH }, /* SEND from command */#else    { "creceive",    XXNOTAV,CM_INV|CM_PSH },    { "csend",       XXNOTAV,CM_INV|CM_PSH },#endif /* PIPESEND */#endif /* NOXFER */#endif /* NOFRILLS */    { "cwd",	     XXCWD,   CM_INV },	/* Traditional synonym for cd */#ifndef NOSPL    { "date",        XXDATE,  0 },	/* DATE */    { "dcl",         XXDCL,   CM_INV },	/* DECLARE an array (see ARRAY) */    { "debug",       XXDEBUG, CM_INV },    { "declare",     XXDCL,   CM_INV },	/* DECLARE an array (see ARRAY) */    { "decrement",   XXDEC,   0 },	/* DECREMENT a numeric variable */    { "define",      XXDEF,   0 },	/* DEFINE a macro or variable */#else    { "date",        XXNOTAV, CM_INV },    { "dcl",         XXNOTAV, CM_INV },    { "declare",     XXNOTAV, CM_INV },    { "decrement",   XXNOTAV, CM_INV },    { "define",      XXNOTAV, CM_INV },#endif /* NOSPL */#ifndef NOFRILLS    { "delete",      XXDEL, 0 },	/* DELETE a file */#else    { "delete",      XXNOTAV, CM_INV },#endif /* NOFRILLS */#ifndef NODIAL    { "dial",        XXDIAL,  CM_LOC },	/* DIAL a phone number */#else    { "dial",        XXNOTAV, CM_INV|CM_LOC },#endif /* NODIAL */#ifdef NT    { "dialer",      XXDIALER, CM_INV }, /* K95 Dialer */#endif /* NT */    { "directory",   XXDIR, 0 },	/* DIRECTORY of files */#ifndef NOFRILLS#ifndef NOSERVER    { "disable",     XXDIS, 0 },	/* DISABLE a server function */#else    { "disable",     XXNOTAV, CM_INV },#endif /* NOSERVER */#endif /* NOFRILLS */#ifndef NOSPL    { "do",          XXDO,  0 },	/* DO (execute) a macro */#else    { "do",          XXNOTAV, CM_INV },#endif /* NOSPL */    { "e",           XXEXI, CM_INV|CM_ABR },#ifndef NOFRILLS#ifndef NOXFER    { "e-packet",    XXERR, CM_INV },	/* Send an Error-Packet */#endif /* NOXFER */#endif /* NOFRILLS */    { "echo",        XXECH, 0 },	/* ECHO text */#ifndef NOFRILLS#ifndef NOPUSH    { "edit",        XXEDIT, CM_PSH },	/* EDIT */#else    { "edit",        XXNOTAV, CM_INV|CM_PSH }, /* EDIT */#endif /* NOPUSH */#endif /* NOFRILLS */    { "eightbit",    XXEIGHT, CM_INV },	/* EIGHTBIT */#ifndef NOSPL    { "else",        XXELS, CM_INV },	/* ELSE part of IF statement */#else    { "else",        XXNOTAV, CM_INV },	/* ELSE part of IF statement */#endif /* NOSPL */#ifndef NOSERVER#ifndef NOFRILLS    { "enable",      XXENA,  0 },	/* ENABLE a server function */#else    { "enable",      XXNOTAV, CM_INV },#endif /* NOFRILLS */#endif /* NOSERVER */#ifndef NOSPL    { "end",         XXEND,  0 },	/* END command file or macro */#else    { "end",         XXNOTAV, CM_INV },#endif /* NOSPL */    { "erase",       XXDEL, CM_INV },	/* Synonym for DELETE */#ifndef NOSPL    { "evaluate",    XXEVAL, 0 },	/* EVALUATE */#else    { "evaluate",    XXNOTAV, CM_INV },#endif /* NOSPL */    { "ex",          XXEXI, CM_INV|CM_ABR }, /* Let "ex" still be EXIT */#ifdef CKEXEC    { "exec",        XXEXEC, CM_INV|CM_LOC }, /* exec() */#else    { "exec",        XXNOTAV, CM_INV|CM_LOC },#endif /* CKEXEC */    { "exit",	   XXEXI, 0 },		/* EXIT from C-Kermit */    { "extended-options", XXXOPTS,CM_INV|CM_HLP }, /* Extended-Options */#ifdef OS2    { "extproc",     XXCOM, CM_INV },	/* Dummy command for OS/2 */#endif /* OS2 */#ifndef NOXFER    { "f",           XXFIN, CM_INV|CM_ABR }, /* Invisible abbrev for FIN */#endif /* NOXFER */#ifndef NOSPL    { "fail",        XXFAIL, CM_INV },	/* FAIL */#ifndef NOXFER    { "fast",        XXFAST, CM_INV },#endif /* NOXFER */#ifdef CKCHANNELIO    { "fclose",      XXF_CL, CM_INV },	/* FCLOSE */    { "fcount",      XXF_CO, CM_INV },	/* FCOUNT */    { "fflush",      XXF_FL, CM_INV },	/* FFLUSH */#endif /* CKCHANNELIO */#ifndef NOXFER    { "fi",          XXFIN, CM_INV|CM_ABR }, /* FINISH */#endif /* NOXFER */#ifdef CKCHANNELIO    { "file",        XXFILE, 0 },	/* FILE */#endif /* CKCHANNELIO */#endif /* NOSPL */#ifndef NOXFER    { "fin",         XXFIN, CM_INV|CM_ABR }, /* FINISH */#endif /* NOXFER */#ifndef UNIXOROSK    { "find",        XXGREP, 0 },	/* FIND (grep) */#else    { "find",        XXGREP,CM_INV },#endif /* UNIXOROSK */#ifndef NOXFER    { "finish",      XXFIN, 0 },	/* FINISH */#endif /* NOXFER */#ifdef TCPSOCKET    { "firewall",    XXFIREW, CM_INV|CM_HLP },#endif /* TCPSOCKET */#ifdef CKCHANNELIO    { "flist",       XXF_LI, CM_INV },	/* FLIST */    { "fopen",       XXF_OP, CM_INV },	/* FOPEN */#endif /* CKCHANNELIO */#ifndef NOSPL    { "fo",          XXFOR, CM_INV|CM_ABR }, /* Invisible abbrev for... */    { "for",         XXFOR, 0 },	/* FOR loop */    { "forward",     XXFWD, CM_INV },	/* FORWARD */#endif /* NOSPL */#ifndef NOFRILLS    { "fot",	   XXDIR, CM_INV },	/* "fot" = "dir" (for Chris) */#endif /* NOFRILLS */

⌨️ 快捷键说明

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