📄 ckuus5.c
字号:
#include "ckcsym.h"int xcmdsrc = 0;#ifdef NOICPint cmdsrc() { return(0); }#endif /* NOICP *//* C K U U S 5 -- "User Interface" for C-Kermit, part 5 *//* Authors: Frank da Cruz <fdc@columbia.edu>, The Kermit Project, Columbia University, New York City Jeffrey E Altman <jaltman@secure-endpoints.com> Secure Endpoints Inc., New York City Copyright (C) 1985, 2004, Trustees of Columbia University in the City of New York. All rights reserved. See the C-Kermit COPYING.TXT file or the copyright text in the ckcmai.c module for disclaimer and permissions.*//* Includes */#include "ckcdeb.h"#include "ckcasc.h"#include "ckcker.h"#include "ckuusr.h"#ifdef DCMDBUFchar *line; /* Character buffer for anything */char *tmpbuf;#elsechar line[LINBUFSIZ+1];char tmpbuf[TMPBUFSIZ+1]; /* Temporary buffer */#endif /* DCMDBUF */#ifndef NOICP#include "ckcnet.h"#ifndef NOCSETS#include "ckcxla.h"#endif /* NOCSETS */#ifdef MAC#include "ckmasm.h"#endif /* MAC */#ifdef CK_SSL#include "ck_ssl.h"#endif /* CK_SSL */#ifdef OS2#include "ckoetc.h"#ifndef NT#define INCL_NOPM#define INCL_VIO /* Needed for ckocon.h */#include <os2.h>#undef COMMENT#else /* NT */#include <windows.h>#define TAPI_CURRENT_VERSION 0x00010004#include <tapi.h>#include <mcx.h>#include "ckntap.h"#define APIRET ULONGextern int DialerHandle;extern int StartedFromDialer;#endif /* NT */#include "ckocon.h"#include "ckokey.h"#ifdef KUI#include "ikui.h"#endif /* KUI */#ifdef putchar#undef putchar#endif /* putchar */#define putchar(x) conoc(x)extern int cursor_save ;extern bool cursorena[] ;#endif /* OS2 *//* For formatted screens, "more?" prompting, etc. */#ifdef FT18#define isxdigit(c) isdigit(c)#endif /* FT18 */#ifdef STRATUS /* Stratus Computer, Inc. VOS */#ifdef putchar#undef putchar#endif /* putchar */#define putchar(x) conoc(x)#ifdef getchar#undef getchar#endif /* getchar */#define getchar(x) coninc(0)#endif /* STRATUS *//* External variables */extern int carrier, cdtimo, local, quiet, backgrd, bgset, sosi, xsuspend, binary, escape, xargs, flow, cmdmsk, duplex, ckxech, seslog, what, inserver, diractive, tlevel, cwdf, nfuncs, msgflg, remappd, hints, mdmtyp, zincnt, cmask, rcflag, success, xitsta, pflag, tnlm, tn_nlm, xitwarn, debses, xaskmore, parity, saveask, wasclosed, whyclosed, cdactive, rcdactive, keepallchars;#ifdef LOCUSextern int locus, autolocus;#endif /* LOCUS */#ifndef NOMSENDextern int addlist;#endif /* NOMSEND */#ifdef CK_SPEEDextern int prefixing;#endif /* CK_SPEED */extern int g_matchdot;#ifdef RECURSIVEextern int recursive;#endif /* RECURSIVE */extern int xfiletype;#ifdef IKSDCONFextern char * iksdconf;extern int iksdcf;#endif /* IKSDCONF */#ifdef CK_RECALLextern int on_recall;#endif /* CK_RECALL */extern int ngetpath, exitonclose;extern char * getpath[];extern CHAR * epktmsg;extern char * snd_move;extern char * snd_rename;extern char * rcv_move;extern char * rcv_rename;extern char * g_snd_move;extern char * g_snd_rename;extern char * g_rcv_move;extern char * g_rcv_rename;extern char * nm[];#ifdef CK_UTSNAMEextern char unm_mch[];extern char unm_mod[];extern char unm_nam[];extern char unm_rel[];extern char unm_ver[];#endif /* CK_UTSNAME */#ifndef NOPUSH#ifndef NOFRILLSextern char editor[];extern char editfile[];extern char editopts[];#ifdef BROWSERextern char browser[];extern char browsopts[];extern char browsurl[];#endif /* BROWSER */#endif /* NOFRILLS */#endif /* NOPUSH */#ifndef NOSERVERextern char * x_user, * x_passwd, * x_acct;#endif /* NOSERVER */#ifdef CKLOGDIALextern int dialog;extern char diafil[];#endif /* CKLOGDIAL */#ifdef CKROOTextern int ckrooterr;#endif /* CKROOT */#ifndef NOSPLextern int cfilef, xxdot;extern char cmdfil[];struct localvar * localhead[CMDSTKL];struct localvar * localtail = NULL;struct localvar * localnext = NULL;_PROTOTYP( VOID shosexp, (void) );_PROTOTYP( static VOID shoinput, (void) );_PROTOTYP( static char gettok, (void) );_PROTOTYP( static VOID factor, (void) );_PROTOTYP( static VOID term, (void) );_PROTOTYP( static VOID termp, (void) );_PROTOTYP( static VOID exprp, (void) );_PROTOTYP( static VOID expr, (void) );_PROTOTYP( static VOID simple, (void) );_PROTOTYP( static VOID simpler, (void) );_PROTOTYP( static VOID simplest, (void) );_PROTOTYP( static long xparse, (void) );#endif /* NOSPL */#ifndef NOSHOW_PROTOTYP( int sho_iks, (void) );#endif /* NOSHOW */#ifdef MACchar * ckprompt = "Mac-Kermit>"; /* Default prompt for Macintosh */char * ikprompt = "IKSD>";#else /* Not MAC */#ifdef NOSPL#ifdef OS2char * ckprompt = "K-95> "; /* Default prompt for Win32 */char * ikprompt = "IKSD> ";#elsechar * ckprompt = "C-Kermit>";char * ikprompt = "IKSD>";#endif /* NT */#else /* NOSPL */#ifdef OS2/* Default prompt for OS/2 and Win32 */#ifdef NTchar * ckprompt = "[\\freplace(\\flongpath(\\v(dir)),/,\\\\)] K-95> ";char * ikprompt = "[\\freplace(\\flongpath(\\v(dir)),/,\\\\)] IKSD> ";#else /* NT */char * ckprompt = "[\\freplace(\\v(dir),/,\\\\)] K-95> ";char * ikprompt = "[\\freplace(\\v(dir),/,\\\\)] IKSD> ";#endif /* NT */#else /* OS2 */#ifdef VMSchar * ckprompt = "\\v(dir) C-Kermit>"; /* Default prompt VMS */char * ikprompt = "\\v(dir) IKSD>";#elsechar * ckprompt = "(\\v(dir)) C-Kermit>"; /* Default prompt for others */char * ikprompt = "(\\v(dir)) IKSD>";#endif /* VMS */#endif /* NT */#endif /* NOSPL */#endif /* MAC */#ifndef CCHMAXPATH#define CCHMAXPATH 257#endif /* CCHMAXPATH */char inidir[CCHMAXPATH] = { NUL, NUL }; /* Directory INI file executed from */#ifdef TNCODEextern int tn_b_nlm; /* TELNET BINARY newline mode */#endif /* TNCODE */#ifndef NOKVERBSextern struct keytab kverbs[]; /* Table of \Kverbs */extern int nkverbs; /* Number of \Kverbs */#endif /* NOKVERBS */#ifndef NOPUSHextern int nopush;#endif /* NOPUSH */#ifdef CK_RECALLextern int cm_recall;#endif /* CK_RECALL */extern char *ccntab[];/* Printer stuff */extern char *printername;extern int printpipe;#ifdef BPRINTextern int printbidi, pportparity, pportflow;extern long pportspeed;#endif /* BPRINT */#ifdef OS2_PROTOTYP (int os2getcp, (void) );_PROTOTYP (int os2getcplist, (int *, int) );#ifdef OS2MOUSEextern int tt_mouse;#endif /* OS2MOUSE */extern int tt_update, tt_updmode, updmode, tt_utf8;#ifndef IKSDONLYextern int tt_status[];#endif /* IKSDONLY */#ifdef PCFONTSextern struct keytab term_font[];#else#ifdef KUIextern struct keytab * term_font;#endif /* KUI */#endif /* PCFONTS */extern int ntermfont, tt_font, tt_font_size;extern unsigned char colornormal, colorunderline, colorstatus, colorhelp, colorselect, colorborder, colorgraphic, colordebug, colorreverse, colorcmd, coloritalic;extern int priority;extern struct keytab prtytab[];extern int nprty;char * cmdmac = NULL;#endif /* OS2 */#ifdef VMS_PROTOTYP (int zkermini, (char *, int, char *) );#endif /* VMS */extern long vernum;extern int inecho, insilence, inbufsize, nvars, inintr;extern char *protv, *fnsv, *cmdv, *userv, *ckxv, *ckzv, *ckzsys, *xlav, *cknetv, *clcmds;#ifdef OS2extern char *ckyv;#endif /* OS2 */#ifdef CK_AUTHENTICATIONextern char * ckathv;#endif /* CK_AUTHENTICATION */#ifdef CK_SSLextern char * cksslv;#endif /* CK_SSL */#ifdef CK_ENCRYPTION#ifndef CRYPT_DLLextern char * ckcrpv;#endif /* CRYPT_DLL */#endif /* CK_ENCRYPTION */#ifdef SSHBUILTINextern char *cksshv;#ifdef SFTP_BUILTINextern char *cksftpv;#endif /* SFTP_BUILTIN */#endif /* SSHBUILTIN */#ifdef TNCODEextern char *cktelv;#endif /* TNCODE */#ifndef NOFTP#ifndef SYSFTPextern char * ckftpv;#endif /* SYSFTP */#endif /* NOFTP */extern int srvidl;#ifdef OS2extern char *ckonetv;extern int interm;#ifdef CK_NETBIOSextern char *ckonbiv;#endif /* CK_NETBIOS */#ifdef OS2MOUSEextern char *ckomouv;#endif /* OS2MOUSE */#endif /* OS2 */#ifndef NOLOCALextern char *connv;#endif /* NOLOCAL */#ifndef NODIALextern char *dialv;#endif /* NODIAL */#ifndef NOSCRIPTextern char *loginv;extern int secho;#endif /* NOSCRIPT */#ifndef NODIALextern int nmdm, dirline;extern struct keytab mdmtab[];#endif /* NODIAL */extern int network, nettype, ttnproto;#ifdef OS2#ifndef NOTERM/* SET TERMINAL items... */extern int tt_type, tt_arrow, tt_keypad, tt_wrap, tt_answer, tt_scrsize[];extern int tt_bell, tt_roll[], tt_ctstmo, tt_cursor, tt_pacing, tt_type_mode;extern char answerback[];extern struct tt_info_rec tt_info[]; /* Indexed by terminal type */extern int max_tt;#endif /* NOTERM */#endif /* OS2 */_PROTOTYP( VOID shotrm, (void) );_PROTOTYP( int shofea, (void) );#ifdef OS2extern int tt_rows[], tt_cols[];#else /* OS2 */extern int tt_rows, tt_cols;#endif /* OS2 */extern int cmd_rows, cmd_cols;#ifdef CK_TMPDIRextern int f_tmpdir; /* Directory changed temporarily */extern char savdir[]; /* Temporary directory */#endif /* CK_TMPDIR */#ifndef NOLOCALextern int tt_crd, tt_escape;#endif /* NOLOCAL */#ifndef NOCSETSextern int language, nfilc, tcsr, tcsl, tcs_transp, fcharset;extern struct keytab fcstab[];extern struct csinfo fcsinfo[];#ifndef MACextern struct keytab ttcstab[];#endif /* MAC */#endif /* NOCSETS */extern long speed;#ifndef NOXMITextern int xmitf, xmitl, xmitp, xmitx, xmits, xmitw, xmitt;extern char xmitbuf[];#endif /* NOXMIT */extern char **xargv, *versio, *ckxsys, *dftty, *lp;#ifdef DCMDBUFextern char *cmdbuf, *atmbuf; /* Command buffers */#ifndef NOSPLextern char *savbuf; /* Command buffers */#endif /* NOSPL */#elseextern char cmdbuf[], atmbuf[]; /* Command buffers */#ifndef NOSPLextern char savbuf[]; /* Command buffers */#endif /* NOSPL */#endif /* DCMDBUF */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -