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

📄 ckuus3.c

📁 KERMIT工具 这在办公室下载不了,很多人都没有载不到.
💻 C
📖 第 1 页 / 共 5 页
字号:
    "suppress-go-aheads", CK_TN_SGA, 0,    "terminal-type",   CK_TN_TT,   0,    "ttype",           CK_TN_TT,   CM_INV|CM_ABR,#ifdef CK_ENVIRONMENT    "xdisplay-location", CK_TN_XD, 0,#else    "xdisplay-location", CK_TN_XD, CM_INV,#endif /* CK_ENVIRONMENT */    "", 0, 0};int ntnopt = (sizeof(tnopttab) / sizeof(struct keytab)) - 1;struct keytab tnoptsw[] = {    "/client",  CK_TN_CLIENT,   0,    "/server",  CK_TN_SERVER,   0};int ntnoptsw = (sizeof(tnoptsw) / sizeof(struct keytab));#endif /* TNCODE */struct keytab ftrtab[] = {              /* Feature table */#ifndef NOCSETS                         /* 0 = we have it, 1 = we don't */"character-sets",       0, 0,#else"character-sets",       1, 0,#endif /* NOCSETS */#ifndef NOCYRIL"cyrillic",             0, 0,#else"cyrillic",             1, 0,#endif /* NOCYRIL */#ifndef NOLOGDIAL"cx-log",               0, 0,#else"cx-log",               1, 0,#endif /* NOLOGDIAL */#ifndef NODEBUG"debug",                0, 0,#else"debug",                1, 0,#endif /* NODEBUG */#ifndef NODIAL"dial",                 0, 0,#else"dial",                 1, 0,#endif /* NODIAL */#ifdef DYNAMIC"dynamic-memory",       0, 0,#else"dynamic-memory",       1, 0,#endif /* DYNAMIC */#ifndef NOXFER"file-transfer",        0, 0,#else"file-transfer",        1, 0,#endif /* NOXFER */#ifdef XXFWD"forward",              0, 0,#else"forward",              1, 0,#endif /* XXFWD */#ifdef NEWFTP"ftp",                  0, 0,#else"ftp",                  1, 0,#endif /* NEWFTP */#ifdef CK_CURSES"fullscreen-display",   0, 0,#else"fullscreen-display",   1, 0,#endif /* CK_CURSES */#ifdef GREEK"greek",                0, 0,#else"greek",                1, 0,#endif /* GREEK */#ifdef HEBREW"hebrew",               0, 0,#else"hebrew",               1, 0,#endif /* HEBREW */#ifndef NOHELP"help",                 0, 0,#else"help",                 1, 0,#endif /* NOHELP */#ifndef NOIKSD"iksd",                 0, 0,#else"iksd",                 1, 0,#endif /* NOIKSD */#ifndef NOSPL"if-command",           0, 0,#else"if-command",           1, 0,#endif /* NOSPL */#ifndef NOJC#ifdef UNIX"job-control",          0, 0,#else"job-control",          1, 0,#endif /* UNIX */#else"job-control",          1, 0,#endif /* NOJC */#ifdef KANJI"kanji",                0, 0,#else"kanji",                1, 0,#endif /* KANJI */#ifndef NOXFER"kermit",               0, 0,#else"kermit",               1, 0,#endif /* NOXFER */#ifdef CK_KERBEROS"kerberos",             0, 0,#else"kerberos",             1, 0,#endif /* CK_KERBEROS */#ifndef NOCSETS"latin1",               0, 0,#else"latin1",               1, 0,#endif /* NOCSETS */#ifdef LATIN2"latin2",               0, 0,#else"latin2",               1, 0,#endif /* LATIN2 */#ifdef CKLEARN"learned-scripts",       0, 0,#else"learned-scripts",       1, 0,#endif /* CKLEARN */#ifndef NOLOCAL"making-connections",   0, 0,#else"making-connections",   1, 0,#endif /* NOLOCAL */#ifdef NETCONN"network",              0, 0,#else"network",              1, 0,#endif /* NETCONN */#ifdef NT#ifdef CK_AUTHENTICATION"ntlm",                 1, 0,#else /* CK_AUTHENTICATION */"ntlm",                 0, 0,#endif /* CK_AUTHENTICATION */#else /* NT */"ntlm",                 0, 0,#endif /* NT */#ifdef PIPESEND"pipes",                0, 0,#else#ifdef NETCMD"pipes",                0, 0,#endif /* NETCMD */#endif /* PIPESEND */#ifndef PIPESEND#ifndef NETCMD"pipes",                1, 0,#endif /* PIPESEND */#endif /* NETCMD */#ifdef NETPTY"pty",                  0, 0,#else"pty",                  1, 0,#endif /* NETPTY */#ifndef NOPUSH"push",                 0, 0,#else"push",                 1, 0,#endif /* PUSH */#ifdef CK_REDIR"redirect",             0, 0,#else"redirect",             1, 0,#endif /* CK_REDIR */#ifdef CK_RTSCTS"rts/cts",              0, 0,#else"rts/cts",              1, 0,#endif /* RTS/CTS */#ifndef NOSCRIPT"script-command",       0, 0,#else"script-command",       1, 0,#endif /* NOSCRIPT */#ifndef NOSERVER"server-mode",          0, 0,#else"server-mode",          1, 0,#endif /* NOSERVER */#ifndef NOSEXP"sexpression",          0, 0,#else"sexpression",          1, 0,#endif /* NOSEXP */#ifdef SFTP_BUILTIN"sftp",                 1, 0,#else"sftp",                 0, 0,#endif /* SFTP_BUILTIN */#ifndef NOSHOW"show-command",         0, 0,#else"show-command",         1, 0,#endif /* NOSHOW */#ifdef CK_SRP"srp",                  0, 0,#else"srp",                  1, 0,#endif /* CK_SRP */#ifdef SSHBUILTIN"ssh",                  0, 0,#else /* SSHBUILTIN */"ssh",                  1, 0,#endif /* SSHBUILTIN */#ifdef CK_SSL"ssl/tls",              0, 0,#else"ssl/tls",              1, 0,#endif /* CK_SSL */#ifndef NOXMIT"transmit",             0, 0,#else"transmit",             1, 0,#endif /* NOXMIT */#ifdef UNICODE"unicode",              0, 0,#else"unicode",              1, 0,#endif /* UNICODE */#ifdef CK_XYZ"xyzmodem",             0, 0,#else"xyzmodem",             1, 0,#endif /* NOXMIT */"", 0, 0};int nftr = (sizeof(ftrtab) / sizeof(struct keytab)) - 1;struct keytab desttab[] = {             /* SET DESTINATION */#ifdef CALIBRATE    "calibrate", DEST_N, CM_INV,#endif /* CALIBRATE */    "disk",    DEST_D, 0,#ifdef CALIBRATE    "nowhere", DEST_N, 0,#endif /* CALIBRATE */    "printer", DEST_P, 0,    "screen",  DEST_S, 0};int ndests =  (sizeof(desttab) / sizeof(struct keytab));#ifndef NOSPL           /* Used only with script programming items... */#ifndef NOSERVER                        /* This is just to avoid some */#define CK_PARSDIR                      /* "statement not reached" */#else                                   /* complaints... */#ifndef NODIAL#define CK_PARSDIR#endif /* NODIAL */#endif /* NOSERVER *//*  cx == 0 means dial directory  cx == 1 means network directory  cx == 2 means a directory path list*/static intparsdir(cx) int cx; {    int i, x, y, dd;                    /* Workers */    int nxdir;    char *s;    char ** xdir;    char *pp[MAXGETPATH];               /* Temporary name pointers */#ifdef ZFNQFP    struct zfnfp * fnp;#ifdef OS2    char * env;    char dirpath[4096];#else /* OS2 */    char dirpath[1024];                 /* For fully qualified filenames */#endif /* OS2 */#endif /* ZFNQFP */    int max = 0;                        /* Maximum number of things to parse */    char c;#ifndef NODIAL    if (cx == 0) {                      /* Dialing */        nxdir = ndialdir;        xdir = dialdir;        max = MAXDDIR;    } else#ifdef NETCONN    if (cx == 1) {                      /* Network */        nxdir = nnetdir;        xdir = netdir;        max = MAXDDIR;    } else#endif /* NETCONN */#endif /* NODIAL */#ifndef NOSERVER    if (cx == 2) {                      /* GET path */        nxdir = ngetpath;        xdir = getpath;        max = MAXGETPATH;    } else                              /* Called with invalid function code */#endif /* NOSERVER */      return(-2);    for (i = 0; i < MAXGETPATH; i++)    /* Init these. */      pp[i] = NULL;#ifdef CK_PARSDIR    dd = 0;                             /* Temporary name counter */    while (1) {        if (cx != 2) {                  /* Dialing or Network Directory */#ifdef OS2            int len;            char * appdata0 = NULL, * appdata1 = NULL;#ifdef NT            env = getenv("K95PHONES");            makestr(&appdata0,(char *)GetAppData(0));            makestr(&appdata1,(char *)GetAppData(1));#else /* NT */            env = getenv("K2PHONES");#endif /* NT */            if (!env)              env = getenv("K95PHONES");            if (!env)              env = "";            dirpath[0] = '\0';            len = strlen(env) + 2*strlen(startupdir) + 2*strlen(inidir)                + (appdata0?2*strlen(appdata0):0)                 + (appdata1?2*strlen(appdata1):0)                + 2*strlen(zhome()) + 2*strlen(exedir) + 8*strlen("PHONES/")                + 12;            if (len < 4096)             /* SAFE */              sprintf(dirpath,                    "%s%s%s;%s%s;%s%s%s%s%s%s%s%s%s;%s%s;%s;%s%s",                    /* Semicolon-separated path list */                    env,                    (env[0] && env[strlen(env)-1] == ';') ? "" : ";",                    startupdir,                    startupdir, "PHONES/",                    appdata1 ? appdata1 : "",                     appdata1 ? "Kermit 95;" : "",                    appdata1 ? appdata1 : "",                     appdata1 ? "Kermit 95/PHONES/;" : "",                    appdata0 ? appdata0 : "",                     appdata0 ? "Kermit 95;" : "",                    appdata0 ? appdata0 : "",                     appdata0 ? "Kermit 95/PHONES/;" : "",                    inidir,                    inidir, "PHONES/",                    zhome(),                    zhome(), "PHONES/",                    exedir,                    exedir, "PHONES/"                    );#ifdef NT            makestr(&appdata0,NULL);            makestr(&appdata1,NULL);#endif /* NT */#else#ifdef UNIX            y = 1024;            s = dirpath;            zzstring("\\v(home)",&s,&y);#endif /* UNIX */#endif /* OS2 */            y = cmifip(                  "Names of one or more directory files, separated by spaces",                       "",&s,&x,0,#ifdef OS2ORUNIX                       dirpath,#else                       NULL,#endif /* OS2ORUNIX */                       xxstring                       );        } else {                        /* List of directory names */            x = 0;            y = cmdir("Directory name","",&s,xxstring);        }        if (y < 0) {            if (y == -3) {              /* EOL or user typed <CR> */                if ((y = cmcfm()) < 0) return(y);                for (i = 0; i < max; i++) { /* Clear these */                    if (i < nxdir && xdir[i]) {                        free(xdir[i]);                    }                    xdir[i] = (i < dd) ? pp[i] : NULL;                }#ifndef NODIAL                if (cx == 0)                  ndialdir = dd;#ifdef NETCONN                if (cx == 1)                  nnetdir = dd;#endif /* NETCONN */#endif /* NODIAL */#ifndef NOSERVER                if (cx == 2)                  ngetpath = dd;#endif /* NOSERVER */                return(success = 1);            } else {                    /* Parse error */                for (i = 0; i < dd; i++) {  /* Free temp storage */                    if (pp[i]) free(pp[i]); /* but don't change */                    pp[i] = NULL;           /* anything else */                }   

⌨️ 快捷键说明

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