📄 ckuus4.c
字号:
#include "ckcsym.h"/* C K U U S 4 -- "User Interface" for C-Kermit, part 4 *//* Author: Frank da Cruz <fdc@columbia.edu>, Columbia University Academic Information Systems, New York City. Copyright (C) 1985, 2000, 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.*//* File ckuus4.c -- Functions moved from other ckuus*.c modules to even out their sizes.*/#include "ckcdeb.h"#include "ckcasc.h"#include "ckcker.h"#include "ckuusr.h"#include "ckuver.h"#include "ckcnet.h" /* Network symbols */#include "ckcxla.h" /* Character sets */#ifdef CK_AUTHENTICATION#include "ckuath.h"#endif /* CK_AUTHENTICATION */#ifdef CK_SSL#include "ck_ssl.h"#endif /* CK_SSL */#ifdef VMS#include <errno.h> /* For \v(errno) */extern char * ckvmserrstr(unsigned long);#ifndef OLD_VMS#include <lib$routines.h> /* Not for VAX C 2.4 */#else#include <libdef.h>#endif /* OLD_VMS */_PROTOTYP(int vmsttyfd, (void) );#endif /* VMS */#ifdef OS2#ifndef NT#define INCL_NOPM#define INCL_VIO /* Needed for ckocon.h */#include <os2.h>#undef COMMENT#else#include <windows.h>#include <tapi.h>#include "ckntap.h"#define APIRET ULONG#endif /* NT */#include "ckocon.h"#include "ckoetc.h"int StartedFromDialer = 0;HWND hwndDialer = 0;LONG KermitDialerID = 0;#ifdef putchar#undef putchar#endif /* putchar */#define putchar(x) conoc(x)#ifdef CK_PID#include <process.h>#endif /* CK_PID */#endif /* OS2 */extern xx_strp xxstring;#ifdef DEC_TCPIP#include <descrip>#include <dvidef>#include <dcdef>#endif /* DEC_TCPIP */#ifdef FNFLOAT#include <math.h> /* Floating-point functions */#endif /* FNFLOAT */extern int quiet, network, xitsta, escape, nopush, xferstat, exitonclose, tn_exit, ttnproto, autodl, flow, byteorder;extern char * k_info_dir;#ifndef MAC#ifndef AMIGAextern int ttyfd;#endif /* MAC */#endif /* AMIGA */#ifdef TNCODEextern int tn_nlm, tn_b_nlm, tn_b_xfer, tn_sb_bug;extern int tn_rem_echo;extern int tn_b_meu, tn_b_ume;#endif /* TNCODE */char * xferfile = NULL;int xferlog = 0;extern int local, xargc, stayflg, rcflag, bgset, cfilef, inserver, srvcdmsg, success;extern char cmdfil[], *versio, *ckxsys, **xargv;#ifdef DEBUGextern char debfil[]; /* Debug log file name */#endif /* DEBUG */extern int noinit;#ifndef NOICP /* Most of this file... */#ifndef AMIGA#ifndef MAC#include <signal.h>#endif /* MAC */#endif /* AMIGA */#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 */#ifdef ANYX25extern int revcall, closgr, cudata;int x25ver;extern char udata[];#ifndef IBMX25extern int npadx3;extern CHAR padparms[];extern struct keytab padx3tab[];#endif /* !IBMX25 */#ifdef IBMX25/* global variables only available for IBM X.25 - possibly interesting for * other implementations */extern x25addr_t local_nua;extern x25addr_t remote_nua;#endif /* IBMX25 */#endif /* ANYX25 */#ifdef NETCONN#ifndef NODIALextern int nnetdir;extern char *netdir[];#endif /* NODIAL */extern char ipaddr[];#ifdef CK_NETBIOSextern unsigned short netbiosAvail;extern unsigned long NetbeuiAPI;extern unsigned char NetBiosName[];extern unsigned char NetBiosAdapter;extern unsigned char NetBiosLSN;#endif /* CK_NETBIOS */#ifdef TCPSOCKETextern char myipaddr[];extern int tcp_rdns;#ifdef CK_DNS_SRVextern int tcp_dns_srv;#endif /* CK_DNS_SRV */#ifndef NOTCPOPTS#ifdef SOL_SOCKET#ifdef SO_LINGERextern int tcp_linger;extern int tcp_linger_tmo;#endif /* SO_LINGER */#ifdef SO_DONTROUTEextern int tcp_dontroute;#endif /* SO_DONTROUTE */#ifdef TCP_NODELAYextern int tcp_nodelay;#endif /* TCP_NODELAY */#ifdef SO_SNDBUFextern int tcp_sendbuf;#endif /* SO_SNDBUF */#ifdef SO_RCVBUFextern int tcp_recvbuf;#endif /* SO_RCVBUF */#ifdef SO_KEEPALIVEextern int tcp_keepalive;#endif /* SO_KEEPALIVE */#endif /* SOL_SOCKET */#endif /* NOTCPOPTS */#endif /* TCPSOCKET */#endif /* NETCONN */extern char * floname[];#ifndef NOSPLextern int fndiags; /* Function diagnostics on/off */int ispattern = 0;#ifdef CK_APCextern int apcactive; /* Nonzero = APC command was rec'd */extern int apcstatus; /* Are APC commands being processed? */#ifdef DCMDBUFextern char *apcbuf; /* APC command buffer */#elseextern char apcbuf[];#endif /* DCMDBUF */#endif /* CK_APC */extern char evalbuf[]; /* EVALUATE result */extern char uidbuf[], pwbuf[], prmbuf[];_PROTOTYP( static char * fneval, (char *, char * [], int, char * ) );_PROTOTYP( static VOID myflsh, (void) );_PROTOTYP( static char * getip, (char *) );static char hexdigits[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};extern char * tempdir;#ifdef CK_REXXextern char rexxbuf[];#endif /* CK_REXX */extern int tfline[];/* These need to be internationalized... */staticchar *wkdays[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};#endif /* NOSPL */char *months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};#ifdef OS2_PROTOTYP (int os2getcp, (void) );#ifdef TCPSOCKETextern char tcpname[];#endif /* TCPSOCKET */extern char startupdir[],exedir[];extern int tcp_avail;#ifdef DECNETextern int dnet_avail;#endif /* DECNET */#ifdef SUPERLATextern int slat_avail;#endif /* SUPERLAT */extern int tt_type, max_tt;extern struct tt_info_rec tt_info[];extern int tt_rows[], tt_cols[];#else /* OS2 */extern int tt_rows, tt_cols;#endif /* OS2 */#ifdef CK_TAPIextern int tttapi;extern int tapipass;extern struct keytab * tapilinetab;extern struct keytab * _tapilinetab;extern int ntapiline;#endif /* CK_TAPI */#ifdef VMSextern char startupdir[];#endif /* VMS */#ifdef UNIXextern char startupdir[];#endif /* UNIX */extern struct keytab colxtab[];extern int ncolx;extern char ttname[], *zinptr, *kermrc;extern char inidir[];extern int activecmd, remonly, cmd_rows, cmd_cols, parity, seslog, sessft, sosi, hwparity, tsecs, xargs, zincnt, tlevel, insilence, cmdmsk, timint, timef, inbufsize, dialog, binary, carrier, cdtimo, cmask, duplex, fmask, inecho, nettype, nmac, turnch, turn, kbchar;#ifndef NOXFERextern CHAR eol, mypadc, mystch, padch, seol, stchr, * epktmsg, feol;extern char *cksysid;extern struct ck_p ptab[];extern int protocol, prefixing, xfrbel, xfrcan, xfrint, xfrchr, xfrnum, pktpaus, lscapr, lscapu, xfermode, dest, slostart, maxrps, maxsps, maxtry, mypadn, npad, pkttim, bigrbsiz, bigsbsiz, keep, atcapr, autopar, bctr, bctu, crunched, ckdelay, ebq, ebqflg, pktlog, retrans, rpackets, rptflg, rptq, rtimo, spackets, spsiz, spsizf, spsizr, timeouts, fncact, fncnv, urpsiz, wmax, wslotn, wslotr, fdispla, spmax, fnrpath, fnspath, crc16;#endif /* NOXFER */#ifdef OS2extern int zxpn;extern int viewonly;#endif /* OS2 */#ifndef NOXFER#ifdef GFTIMERextern CKFLOAT fptsecs, fpxfsecs;#endif /* GFTIMER */extern long xfsecs, tfcps;#ifdef CK_TMPDIRextern char *dldir;#endif /* CK_TMPDIR */#endif /* NOXFER */#ifdef RECURSIVEextern int recursive;#endif /* RECURSIVE */#ifdef VMS extern int frecl;#endif /* VMS */extern long ffc, filcnt, rptn, speed, tfc, tlci, tlco, ccu, ccp, vernum, xvernum;#ifndef NOSPLextern char fspec[], myhost[];#endif /* NOSPL */extern char *tfnam[]; /* Command file names */#ifdef DCMDBUFextern struct cmdptr *cmdstk;extern char *line, *tmpbuf;#elseextern struct cmdptr cmdstk[];extern char line[], tmpbuf[], kermrcb[];#endif /* DCMDBUF */extern char pktfil[], /* Packet log file name */#ifdef TLOG trafil[], /* Transaction log file name */#endif /* TLOG */ sesfil[]; /* Session log file name */#ifndef NOXMIT /* TRANSMIT command variables */extern char xmitbuf[];extern int xmitf, xmitl, xmitx, xmits, xmitw, xmitt;#endif /* NOXMIT */extern int cmdlvl;#ifndef NOSPL/* Script programming language items */extern char **a_ptr[]; /* Arrays */extern int a_dim[];static char * inpmatch = NULL;extern char * inpbuf, inchar[]; /* Buffers for INPUT and REINPUT */extern char *inpbp; /* And pointer to same */static char *r3 = (char *)0;extern int incount; /* INPUT character count */extern int m_found; /* MINPUT result */extern int maclvl; /* Macro invocation level */extern struct mtab *mactab; /* Macro table */extern char *mrval[];extern int macargc[], topargc;extern char *m_line[];extern char *m_arg[MACLEVEL][10]; /* You have to put in the dimensions */extern char *g_var[GVARS]; /* for external 2-dimensional arrays. */#ifdef DCMDBUFextern int *count, *inpcas;#elseextern int count[], inpcas[];#endif /* DCMDBUF */#endif /* NOSPL */#ifdef UNIXextern int haslock; /* For UUCP locks */extern char flfnam[];#ifndef USETTYLOCKextern char lock2[];#endif /* USETTYLOCK */#endif /* UNIX */#ifdef OS2ORUNIXextern int maxnam, maxpath; /* Longest name, path length */#endif /* OS2ORUNIX */extern int mdmtyp, mdmsav;#ifndef NODIAL/* DIAL-related variables */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -