📄 ckuusr.c
字号:
#ifdef ANYX25 "x.25", XYX25, 0, "x25", XYX25, CM_INV,#endif /* ANYX25 */ "xfer", XYXFER, CM_INV,#ifndef NOXMIT "xmit", XYXMIT, CM_INV,#endif /* NOXMIT */ "", 0, 0};int nprm = (sizeof(prmtab) / sizeof(struct keytab)) - 1; /* How many *//* Table of networks */#ifdef NETCONNstruct keytab netcmd[] = {/* This is for SET NETWORK { DIRECTORY, TYPE }. The old form, SET NETWORK <name-of-network> is retained for compatibility, but made invisible. See netkey[], just below. NOTE that the values for the keywords in both tables should be consistent, and that the network-thing keyword (DIRECTORY, TYPE) values must be distinct from the network-type keywords values. (This is exactly the same situation we have with SET MODEM vs SET MODEM TYPE...)*/#ifdef DECNET /* DECnet / PATHWORKS */ "decnet", NET_DEC, CM_INV,#endif /* DECNET */ "directory", XYNET_D, 0, /* DIRECTORY (no more yuk) */#ifdef NETFILE "file", NET_FILE, CM_INV, /* FILE (real crude) */#endif /* NETFILE */#ifdef NPIPE /* Named Pipes */ "named-pipe", NET_PIPE, CM_INV,#endif /* NPIPE */#ifdef CK_NETBIOS "netbios", NET_BIOS, CM_INV, /* NETBIOS */#endif /* CK_NETBIOS */#ifdef SUPERLAT "superlat", NET_SLAT, CM_INV, /* Meridian Technologies' SuperLAT */#endif /* SUPERLAT */#ifdef TCPSOCKET /* TCP/IP sockets library */ "tcp/ip", NET_TCPB, CM_INV,#endif /* TCPSOCKET */#ifdef SUPERLAT "tes32", NET_SLAT, CM_INV, /* Emulux TES32 */#endif /* SUPERLAT */ "type", XYNET_T, 0,#ifdef ANYX25 /* X.25 */#ifdef SUNX25 "x", NET_SX25, CM_INV|CM_ABR, "x.25", NET_SX25, CM_INV, "x25", NET_SX25, CM_INV,#else#ifdef STRATUSX25 "x", NET_VX25, CM_INV|CM_ABR, "x.25", NET_VX25, CM_INV, "x25", NET_VX25, CM_INV,#endif /* STRATUSX25 */#endif /* SUNX25 */#endif /* ANYX25 */ "", 0, 0};int nnets = (sizeof(netcmd) / sizeof(struct keytab)) - 1;struct keytab netkey[] = {/* These are the network types.*/#ifdef DECNET /* DECnet / PATHWORKS */ "decnet", NET_DEC, 0,#endif /* DECNET */#ifdef NETFILE "file", NET_FILE, CM_INV, /* FILE (real crude) */#endif /* NETFILE */#ifdef NPIPE /* Named Pipes */ "named-pipe", NET_PIPE, 0,#endif /* NPIPE */#ifdef CK_NETBIOS "netbios", NET_BIOS, 0, /* NETBIOS */#endif /* CK_NETBIOS */#ifdef SUPERLAT "superlat", NET_SLAT, 0, /* Meridian Technologies' SuperLAT */#endif /* SUPERLAT */#ifdef TCPSOCKET /* TCP/IP sockets library */ "tcp/ip", NET_TCPB, 0,#endif /* TCPSOCKET */#ifdef SUPERLAT "tes32", NET_SLAT, 0, /* Emulux TES32 */#endif /* SUPERLAT */#ifdef ANYX25 /* X.25 */#ifdef SUNX25 "x", NET_SX25, CM_INV|CM_ABR, "x.25", NET_SX25, 0, "x25", NET_SX25, CM_INV,#else#ifdef STRATUSX25 "x", NET_VX25, CM_INV|CM_ABR, "x.25", NET_VX25, 0, "x25", NET_VX25, CM_INV,#endif /* STRATUSX25 */#endif /* SUNX25 */#endif /* ANYX25 */ "", 0, 0};int nnetkey = (sizeof(netkey) / sizeof(struct keytab)) - 1;#ifndef NOTCPOPTS#ifdef TCPSOCKET#ifdef SOL_SOCKET/* TCP options */struct keytab tcpopt[] = {#ifdef SO_KEEPALIVE "keepalive", XYTCP_KEEPALIVE, 0,#endif /* SO_KEEPALIVE */#ifdef SO_LINGER "linger", XYTCP_LINGER, 0,#endif /* SO_LINGER */#ifdef TCP_NODELAY "nagle", XYTCP_NODELAY, CM_INV, "nodelay", XYTCP_NODELAY, 0,#endif /* TCP_NODELAY */#ifdef SO_RCVBUF "recvbuf", XYTCP_RECVBUF, 0,#endif /* SO_RCVBUF */#ifdef SO_SNDBUF "sendbuf", XYTCP_SENDBUF, 0,#endif /* SO_SNDBUF */ "",0,0};int ntcpopt = (sizeof(tcpopt) / sizeof(struct keytab));#endif /* SOL_SOCKET */#endif /* TCPSOCKET */#endif /* NOTCPOPTS */#endif /* NETCONN *//* Remote Command Table */struct keytab remcmd[] = {#ifndef NOSPL "as", XZASG, CM_INV|CM_ABR, "asg", XZASG, CM_INV, "assign", XZASG, 0,#endif /* NOSPL */ "cd", XZCWD, 0, "copy", XZCPY, 0, "cwd", XZCWD, CM_INV, "delete", XZDEL, 0, "directory", XZDIR, 0, "help", XZHLP, 0,#ifndef NOPUSH "host", XZHOS, 0,#endif /* NOPUSH */#ifndef NOFRILLS "kermit", XZKER, 0, "login", XZLGI, 0, "logout", XZLGO, 0, "print", XZPRI, 0,#endif /* NOFRILLS */ "pwd", XZPWD, 0,#ifndef NOSPL "query", XZQUE, 0,#endif /* NOSPL */ "rename", XZREN, 0, "set", XZSET, 0, "space", XZSPA, 0#ifndef NOFRILLS, "type", XZTYP, 0, "who", XZWHO, 0#endif /* NOFRILLS */};int nrmt = (sizeof(remcmd) / sizeof(struct keytab));struct keytab logtab[] = {#ifdef DEBUG "debugging", LOGD, 0,#endif /* DEBUG */ "packets", LOGP, 0#ifndef NOLOCAL, "session", LOGS, 0#endif /* NOLOCAL */#ifdef TLOG, "transactions", LOGT, 0#endif /* TLOG */};int nlog = (sizeof(logtab) / sizeof(struct keytab));struct keytab writab[] = {#ifndef NOSPL "append-file", LOGW, CM_INV,#endif /* NOSPL */ "debug-log", LOGD, 0, "error", LOGE, 0,#ifndef NOSPL "file", LOGW, 0,#endif /* NOSPL */ "packet-log", LOGP, 0, "screen", LOGX, 0,#ifndef NOLOCAL "session-log", LOGS, 0,#endif /* NOLOCAL */ "sys$output", LOGX, CM_INV, "transaction-log", LOGT, 0#ifdef COMMENT, "transactions", LOGT, CM_INV#endif /* COMMENT */};int nwri = (sizeof(writab) / sizeof(struct keytab));static struct keytab clrtab[] = { /* Keywords for CLEAR command */#ifndef NOSPL#ifdef CK_APC "apc", CLR_APC, 0,#endif /* CK_APC */ "both", CLR_DEV|CLR_INP, CM_INV,#endif /* NOSPL */#ifdef OS2 "command-screen", CLR_CMD, 0,#endif /* OS2 */#ifndef NOSPL "device", CLR_DEV, CM_INV|CM_ABR, "device-and-input", CLR_DEV|CLR_INP, 0,#endif /* NOSPL */ "device-buffer", CLR_DEV, 0,#ifndef NODIAL "dial-status", CLR_DIA, 0,#endif /* NODIAL */#ifndef NOSPL "input-buffer", CLR_INP, 0,#endif /* NOSPL */ "send-list", CLR_SFL, 0,#ifdef OS2 "scrollback", CLR_SCL, CM_INV, "terminal-screen", CLR_TRM, 0,#endif /* OS2 */ "", 0, 0};int nclear = (sizeof(clrtab) / sizeof(struct keytab)) - 1;struct keytab clstab[] = { /* Keywords for CLOSE command */#ifndef NOSPL "append-file", LOGW, CM_INV,#endif /* NOSPL */#ifdef DEBUG "debug-log", LOGD, 0,#endif /* DEBUG */ "packet-log", LOGP, 0#ifndef NOSPL, "read-file", LOGR, 0#endif /* NOSPL */#ifndef NOLOCAL, "session-log", LOGS, 0#endif /* NOLOCAL */#ifdef TLOG, "transaction-log", LOGT, 0#endif /* TLOG */#ifndef NOSPL, "write-file", LOGW, 0#endif /* NOSPL */};int ncls = (sizeof(clstab) / sizeof(struct keytab));/* SHOW command arguments */struct keytab shotab[] = {#ifndef NOSPL "alarm", SHALRM, 0, "arg", SHARG, CM_INV|CM_ABR, "arguments", SHARG, 0, "args", SHARG, CM_INV, "arrays", SHARR, 0,#endif /* NOSPL */ "attributes", SHATT, 0, "character-sets", SHCSE, 0, "cmd", SHCMD, CM_INV, "com", SHCOM, CM_INV|CM_ABR, "comm", SHCOM, CM_INV|CM_ABR, "communications", SHCOM, 0, "command", SHCMD, 0,#ifdef CK_SPEED "control-prefixing", SHCTL, 0,#endif /* CK_SPEED */#ifndef NOSPL "count", SHCOU, 0,#endif /* NOSPL */ "d", SHDIA, CM_INV|CM_ABR,#ifdef VMS "default", SHDFLT, 0,#else "default", SHDFLT, CM_INV,#endif /* VMS */#ifndef NODIAL "dial", SHDIA, 0,#endif /* NODIAL */#ifndef NOLOCAL "escape", SHESC, 0,#endif /* NOLOCAL */ "exit", SHEXI, 0, "features", SHFEA, 0, "file", SHFIL, 0,#ifndef NOSPL "functions", SHFUN, 0, "globals", SHVAR, 0,#endif /* NOSPL */#ifndef NOSETKEY "k", SHKEY, CM_INV|CM_ABR, "key", SHKEY, 0,#ifndef NOKVERBS "kverbs", SHKVB, 0,#endif /* NOKVERBS */#endif /* NOSETKEY */#ifdef CK_LABELED "labeled-file-info", SHLBL, 0,#endif /* CK_LABELED */#ifndef NOCSETS "languages", SHLNG, 0,#endif /* NOCSETS */#ifndef NOSPL "macros", SHMAC, 0,#endif /* NOSPL */#ifndef NODIAL "modem", SHMOD, 0,#else "modem-signals", SHCOM, CM_INV,#endif /* NODIAL */#ifndef NOLOCAL#ifdef OS2MOUSE "mouse", SHMOU, 0,#endif /* OS2MOUSE */#endif /* NOLOCAL */#ifdef NETCONN "network", SHNET, 0,#endif /* NETCONN */#ifdef ANYX25 "pad", SHPAD, 0,#endif /* ANYX25 */ "parameters", SHPAR, CM_INV, "printer", SHPRT, 0,#ifdef CK_SPEED "prefixing", SHCTL, CM_INV,#endif /* CK_SPEED */ "protocol", SHPRO, 0,#ifndef NOSPL "scripts", SHSCR, 0,#endif /* NOSPL */ "send-list", SHSFL, 0,#ifndef NOSERVER "server", SHSER, 0,#endif /* NOSERVER */ "status", SHSTA, 0#ifdef MAC, "stack", SHSTK, 0 /* debugging */#endif /* MAC */#ifndef NOLOCAL#ifdef OS2, "tabs",SHTAB, CM_INV#endif /* OS2 */, "terminal", SHTER, 0#endif /* NOLOCAL */#ifndef NOXMIT, "transmit", SHXMI, 0#endif /* NOXMIT */#ifndef NOSETKEY#ifndef NOKVERBS#ifdef OS2, "udk", SHUDK, 0#endif /* OS2 */#endif /* NOKVERBS */#endif /* NOSETKEY */#ifndef NOSPL, "variables", SHBUI, 0#endif /* NOSPL */#ifndef NOFRILLS, "versions", SHVER, 0#endif /* NOFRILLS */#ifdef OS2, "vscrn", SHVSCRN, CM_INV#endif /* OS2 */#ifndef NOXMIT, "xmit", SHXMI, CM_INV#endif /* NOXMIT */};int nsho = (sizeof(shotab) / sizeof(struct keytab));#ifdef ANYX25struct keytab padtab[] = { /* PAD commands */ "clear", XYPADL, 0, "interrupt", XYPADI, 0, "reset", XYPADR, 0, "status", XYPADS, 0};int npadc = (sizeof(padtab) / sizeof(struct keytab));#endif /* ANYX25 */#ifndef NOSERVERstatic struct keytab kmstab[] = { "both", 3, 0, "remote", 2, 0, "local", 1, 0};static struct keytab enatab[] = { /* ENABLE commands */ "all", EN_ALL, 0,#ifndef NOSPL "as", EN_ASG, CM_INV|CM_ABR, "asg", EN_ASG, CM_INV, "assign", EN_ASG, 0,#endif /* NOSPL */#ifndef datageneral "bye", EN_BYE, 0,#endif /* datageneral */ "cd", EN_CWD, 0,#ifdef ZCOPY "copy", EN_CPY, 0,#endif /* ZCOPY */ "cwd", EN_CWD, CM_INV, "delete", EN_DEL, 0, "directory", EN_DIR, 0, "finish", EN_FIN, 0, "get", EN_GET, 0, "host", EN_HOS, 0, "mail", EN_MAI, 0,#ifndef NOSPL "query", EN_QUE, 0,#endif /* NOSPL */ "print", EN_PRI, 0, "rename", EN_REN, 0, "retrieve", EN_RET, 0, "send", EN_SEN, 0, "set", EN_SET, 0, "space", EN_SPA, 0, "type", EN_TYP, 0, "who", EN_WHO, 0};static int nena = (sizeof(enatab) / sizeof(struct keytab));#endif /* NOSERVER */#ifndef NOLOCALstatic struct keytab conntab[] = { /* CONNECT options */ "/quietly", 1, 0};#endif /* NOLOCAL */#ifndef NOSPL#ifdef COMMENTstruct mtab mactab[MAC_MAX] = { /* Preinitialized macro table */ NULL, NULL, 0};#elsestruct mtab *mactab; /* Dynamically allocated macro table */#endif /* COMMENT */int nmac = 0;struct keytab mackey[MAC_MAX]; /* Macro names as command keywords */#endif /* NOSPL */#ifndef NOSPL#ifdef OS2struct keytab beeptab[] = { /* Beep options */ "error", BP_FAIL, 0, "information", BP_NOTE, 0, "warning", BP_WARN, 0};int nbeeptab = sizeof(beeptab)/sizeof(struct keytab);#define CLR_C_ALL 0#define CLR_C_BOL 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -