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

📄 ckuus3.c

📁 C-Kermit源码。是使用串口/Modem和网络通讯的程序
💻 C
📖 第 1 页 / 共 5 页
字号:
#ifdef BPS_921K  "921600", 92160,0,			/* Need 32 bits for this... */#endif /* BPS_921K */  "9600",   960,  0};int nspd = (sizeof(spdtab) / sizeof(struct keytab)); /* How many speeds */#endif /* TTSPDLIST */#endif /* NOLOCAL */#ifndef NOCSETSextern struct keytab lngtab[];		/* Languages for SET LANGUAGE */extern int nlng;#endif /* NOCSETS */#ifndef NOLOCAL/* Duplex keyword table */struct keytab dpxtab[] = {    "full", 	 0, 0,    "half",      1, 0};#endif /* NOLOCAL *//* Flow Control */struct keytab cxtypesw[] = {#ifdef DECNET    "/decnet",         CXT_DECNET,  0,#endif /* DECNET */    "/direct-serial",  CXT_DIRECT,  0,#ifdef DECNET    "/lat",            CXT_LAT,     0,#else#ifdef SUPERLAT    "/lat",            CXT_LAT,     0,#endif /* SUPERLAT */#endif /* DECNET */    "/modem",          CXT_MODEM,   0,#ifdef NPIPE    "/named-pipe",     CXT_NPIPE,   0,#endif /* NPIPE */#ifdef NETBIOS    "/netbios",        CXT_NETBIOS, 0,#endif /* NETBIOS */    "/remote",         CXT_REMOTE,  0,#ifdef SSH    "/ssh",            CXT_SSH,     0,#endif /* SSH */#ifdef TCPSOCKET    "/tcpip",          CXT_TCPIP,   0,#endif /* TCPSOCKET */#ifdef ANYX25    "/x.25",           CXT_X25,     0,#endif /* ANYX25 */    "", 0, 0};int ncxtypesw = (sizeof(cxtypesw) / sizeof(struct keytab));struct keytab flotab[] = {		/* SET FLOW-CONTROL keyword table */    "automatic", FLO_AUTO, CM_INV,	/* Not needed any more */#ifdef CK_DTRCD    "dtr/cd",    FLO_DTRC, 0,#endif /* CK_DTRCD */#ifdef CK_DTRCTS    "dtr/cts",   FLO_DTRT, 0,#endif /* CK_DTRCTS */    "keep",      FLO_KEEP, 0,    "none",      FLO_NONE, 0,#ifdef CK_RTSCTS    "rts/cts",   FLO_RTSC, 0,#endif /* CK_RTSCTS */#ifndef Plan9    "xon/xoff",  FLO_XONX, 0,#endif /* Plan9 */    "", 0, 0};int nflo = (sizeof(flotab) / sizeof(struct keytab)) - 1;/*  Handshake characters  */struct keytab hshtab[] = {    "bell", 007, 0,    "code", 998, 0,    "cr",   015, 0,    "esc",  033, 0,    "lf",   012, 0,    "none", 999, 0,			/* (can't use negative numbers) */    "xoff", 023, 0,    "xon",  021, 0};int nhsh = (sizeof(hshtab) / sizeof(struct keytab));#ifndef NOLOCALstatic struct keytab sfttab[] = {	/* File types for SET SESSION-LOG */    "ascii",     XYFT_B, CM_INV,    "binary",    XYFT_B, 0,    "debug",     XYFT_D, 0,    "text",      XYFT_T, 0};static int nsfttab = (sizeof(sfttab) / sizeof(struct keytab));#endif /* NOLOCAL */#ifndef NODIAL#ifdef NETCONN				/* Networks directory depends */int nnetdir = 0;			/* on DIAL code -- fix later... */char *netdir[MAXDDIR+2];#endif /* NETCONN */_PROTOTYP( static int setdial, (int) );_PROTOTYP( static int setdcd, (void) );_PROTOTYP( static int cklogin, (void) );#ifndef MINIDIAL#ifdef OLDTBCODEextern int tbmodel;			/* Telebit model ID */#endif /* OLDTBCODE */#endif /* MINIDIAL */extern MDMINF *modemp[];		/* Pointers to modem info structs */extern struct keytab mdmtab[];		/* Modem types (in module ckudia.c) */extern int nmdm;			/* Number of them */_PROTOTYP(static int dialstr,(char **, char *));extern int dialhng, dialtmo, dialksp, dialdpy, dialmhu, dialec, dialdc;extern int dialrtr, dialint, dialudt, dialsrt, dialrstr, mdmwaitd;extern int mdmspd, dialfc, dialmth, dialesc, dialfld, dialidt, dialpace;extern int mdmspk, mdmvol, dialtest;int dialcvt = 2;			/* DIAL CONVERT-DIRECTORY */int dialcnf = 0;			/* DIAL CONFIRMATION */int dialcon = 2;			/* DIAL CONNECT */int dialcq  = 0;			/* DIAL CONNECT AUTO quiet/verbose */extern long dialmax, dialcapas;int usermdm = 0;extern int ndialdir;extern char *dialini,   *dialmstr, *dialmprmt, *dialdir[], *dialcmd,  *dialnpr, *dialdcon, *dialdcoff, *dialecon, *dialecoff, *dialhcmd,  *dialx3, *dialhwfc, *dialswfc,  *dialnofc, *dialtone,  *dialpulse, *dialname, *diallac;extern char *diallcc,   *dialixp,  *dialixs,   *dialldp,   *diallds,  *dialtfp, *dialpxi,  *dialpxo,   *dialsfx,  *dialaaon,  *dialaaoff;extern char *diallcp,   *diallcs,  *dialini2,  *dialmac;extern char *dialspoff, *dialspon, *dialvol1,  *dialvol2,  *dialvol3;char *dialtocc[MAXTPCC] = { NULL, NULL };int ndialtocc = 0;char *dialpucc[MAXTPCC] = { NULL, NULL };int ndialpucc = 0;char *dialtfc[MAXTOLLFREE] = {    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};int ntollfree = 0;char *dialpxx[MAXPBXEXCH] = {    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};int ndialpxx = 0;char *diallcac[MAXLOCALAC] = {    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};int nlocalac = 0;static struct keytab drstrtab[] = {    "international", 5, 0,    "local",         2, 0,    "long-distance", 4, 0,    "none",          6, 0};static struct keytab dcnvtab[] = {    "ask",  2, 0,    "off",  0, 0,    "on",   1, 0};struct keytab setmdm[] = {    "capabilities",	XYDCAP,  0,    "carrier-watch",	XYDMCD,  0,    "command",		XYDSTR,  0,    "compression",	XYDDC,   CM_INV,    "data-compression", XYDDC,   0,    "dial-command",     XYDDIA,  0,    "error-correction",	XYDEC,   0,    "escape-character",	XYDESC,  0,    "flow-control",	XYDFC,   0,    "hangup-method",	XYDMHU,  0,#ifndef NOXFER    "kermit-spoof",	XYDKSP,  0,#endif /* NOXFER */    "maximum-speed",	XYDMAX,  0,    "name",		XYDNAM,  0,    "speaker",          XYDSPK,  0,    "speed-matching",	XYDSPD,  0,    "type",		XYDTYP,  0,    "volume",           XYDVOL,  0};int nsetmdm = (sizeof(setmdm) / sizeof(struct keytab));struct keytab voltab[] = {    "high",   3,  0,    "low",    1,  0,    "medium", 2,  0};struct keytab mdmcap[] = {    "at-commands",	CKD_AT,  0,    "compression",      CKD_DC,  0,    "dc",               CKD_DC,  CM_INV,    "ec",               CKD_EC,  CM_INV,    "error-correction", CKD_EC,  0,    "hardware-flow",    CKD_HW,  0,    "hwfc",             CKD_HW,  CM_INV,    "itu",              CKD_V25, CM_INV,    "kermit-spoof",	CKD_KS,  0,    "ks",               CKD_KS,  CM_INV,    "sb",               CKD_SB,  CM_INV,    "software-flow",    CKD_SW,  0,    "speed-buffering",  CKD_SB,  0,    "swfc",             CKD_SW,  CM_INV,    "tb",               CKD_TB,  CM_INV,    "telebit",          CKD_TB,  0,    "v25bis-commands",	CKD_V25, 0};int nmdmcap = (sizeof(mdmcap) / sizeof(struct keytab));struct keytab dialtab[] = {		/* SET DIAL table */    "area-code",        XYDLAC, 0,	/* Also still includes items     */    "compression",	XYDDC,  CM_INV,	/* that were moved to SET MODEM, */    "confirmation",	XYDCNF, 0,	/* but they are CM_INVisible...  */    "connect",          XYDCON, 0,    "convert-directory",XYDCVT, 0,    "country-code",     XYDLCC, 0,    "dial-command",	XYDDIA, CM_INV,    "directory",	XYDDIR, 0,    "display",		XYDDPY, 0,    "escape-character", XYDESC, CM_INV,    "error-correction",	XYDEC,  CM_INV,    "flow-control",	XYDFC,  CM_INV,    "force-long-distance", XYDFLD, 0,    "hangup",		XYDHUP, 0,    "ignore-dialtone",  XYDIDT, 0,    "interval",		XYDINT, 0,    "in",		XYDINI, CM_INV|CM_ABR,    "init-string",	XYDINI, CM_INV,    "intl-prefix",	XYDIXP, 0,    "intl-suffix",	XYDIXS, 0,#ifndef NOXFER    "kermit-spoof",	XYDKSP, CM_INV,#endif /* NOXFER */    "lc-area-codes",    XYDLLAC, 0,    "lc-prefix",        XYDLCP, 0,    "lc-suffix",        XYDLCS, 0,    "ld-prefix",	XYDLDP, 0,    "ld-suffix",	XYDLDS, 0,    "local-area-code",  XYDLAC, CM_INV,    "local-prefix",     XYDLCP, CM_INV,    "local-suffix",     XYDLCS, CM_INV,    "m",                XYDMTH, CM_INV|CM_ABR,#ifndef NOSPL    "macro",            XYDMAC, 0,	/* 195 */#endif /* NOSPL */#ifdef MDMHUP    "me",               XYDMTH, CM_INV|CM_ABR,#endif /* MDMHUP */    "method",		XYDMTH, 0,    "mnp-enable",	XYDMNP, CM_INV,	/* obsolete but still accepted */#ifdef MDMHUP    "modem-hangup",	XYDMHU, CM_INV,#endif /* MDMHUP */    "pacing",           XYDPAC,  0,    "pbx-exchange",     XYDPXX,  0,    "pbx-inside-prefix",XYDPXI,  0,    "pbx-outside-prefix",XYDPXO, 0,    "prefix",		XYDNPR,  0,    "pulse-countries",  XYDPUCC, 0,    "restrict",         XYDRSTR, 0,    "retries",		XYDRTM,  0,    "sort",             XYDSRT,  0,    "speed-matching",	XYDSPD,  CM_INV,    "string",		XYDSTR,  CM_INV,    "suffix",		XYDSFX,  0,    "test",             XYDTEST, 0,    "timeout",		XYDTMO,  0,    "tf-area-code",     XYDTFC,  CM_INV,    "tf-prefix",        XYDTFP,  CM_INV,    "toll-free-area-code",XYDTFC,0,    "toll-free-prefix", XYDTFP,  0,    "tone-countries",   XYDTOCC, 0};int ndial = (sizeof(dialtab) / sizeof(struct keytab));#ifdef MDMHUPstruct keytab mdmhang[] = {    "modem-command", 1, 0,    "rs232-signal",  0, 0,    "v24-signal",    0, CM_INV};#endif /* MDMHUP */static struct keytab mdmcmd[] = {    "autoanswer",       XYDS_AN, 0,	/* autoanswer */    "compression",	XYDS_DC, 0,	/* data compression */    "dial-mode-prompt", XYDS_MP, 0,	/* dial mode prompt */    "dial-mode-string", XYDS_MS, 0,	/* dial mode string */    "error-correction",	XYDS_EC, 0,	/* error correction */    "hangup-command",	XYDS_HU, 0,	/* hangup command */    "hardware-flow",	XYDS_HW, 0,	/* hwfc */    "ignore-dialtone",	XYDS_ID, 0,	/* ignore dialtone */    "init-string",	XYDS_IN, 0,	/* init string */    "no-flow-control",	XYDS_NF, 0,	/* no flow control */    "predial-init",     XYDS_I2, 0,     /* last-minute setup commands */    "pulse",            XYDS_DP, 0,	/* pulse */    "software-flow",	XYDS_SW, 0,	/* swfc */    "speaker",          XYDS_SP, 0,     /* Speaker */    "tone",             XYDS_DT, 0,	/* tone */    "volume",           XYDS_VO, 0      /* Volume */};static int nmdmcmd = (sizeof(mdmcmd) / sizeof(struct keytab));struct keytab dial_fc[] = {    "auto",     FLO_AUTO, 0,    "none",     FLO_NONE, 0,    "rts/cts",  FLO_RTSC, 0,    "xon/xoff", FLO_XONX, 0};struct keytab dial_m[] = {		/* DIAL METHOD */    "auto",    XYDM_A, 0,    "default", XYDM_D, 0,    "pulse",   XYDM_P, 0,    "tone",    XYDM_T, 0};int ndial_m = (sizeof(dial_m)/sizeof(struct keytab));#ifdef CK_TAPIstruct keytab tapitab[] = {		/* Top-Level Microsoft TAPI */    "configure-line",     XYTAPI_CFG,  0,    "dialing-properties", XYTAPI_DIAL, 0};int ntapitab = (sizeof(tapitab)/sizeof(struct keytab));struct keytab settapitab[] = {		/* SET Microsoft TAPI */    "inactivity-timeout", XYTAPI_INA,  0,    "line",               XYTAPI_LIN,  0,    "location",           XYTAPI_LOC,  0,    "manual-dialing",     XYTAPI_MAN,  0,    "modem-dialing",	  XYTAPI_PASS, 0,    "modem-lights",       XYTAPI_LGHT, 0,    "phone-number-conversions",	  XYTAPI_CON,  0,    "port",               XYTAPI_LIN,  CM_INV,    "post-dial-terminal", XYTAPI_PST,  0,    "pre-dial-terminal",  XYTAPI_PRE,  0,    "use-windows-configuration", XYTAPI_USE, 0,    "wait-for-credit-card-tone", XYTAPI_BNG, 0};int nsettapitab = (sizeof(settapitab)/sizeof(struct keytab));struct keytab * tapiloctab = NULL;	/* Microsoft TAPI Locations */int ntapiloc = 0;extern struct keytab * tapilinetab;	/* Microsoft TAPI Line Devices */extern int ntapiline;extern int tttapi;			/* TAPI in use */extern int tapipass;			/* TAPI Passthrough mode */extern int tapiconv;			/* TAPI Conversion mode */extern int tapilights;extern int tapipreterm;extern int tapipostterm;extern int tapimanual;extern int tapiinactivity;extern int tapibong;extern int tapiusecfg;#endif /* CK_TAPI */#endif /* NODIAL */#ifndef NOPUSHextern int nopush;#ifdef UNIXstruct keytab wildtab[] = {		/* SET WILDCARD-EXPANSION */    "kermit",  0, 0,    "shell",   1, 0};struct keytab wdottab[] = {		/* cont'd */    "/match-dot-files",    1, 0,    "/no-match-dot-files", 0, 0};extern int wildxpand;#endif /* UNIX */#endif /* NOPUSH */#ifdef NETCONNextern struct keytab netcmd[], netkey[];extern int nnets, nnetkey;#ifdef TCPSOCKETextern struct keytab tcpopt[];extern int ntcpopt;#ifndef NOTCPOPTS#ifdef SO_LINGER_PROTOTYP( int linger, (int,int) );#endif /* SO_LINGER */#ifdef TCP_NODELAY_PROTOTYP( int no_delay, (int) );#endif /* TCP_NODELAY */#endif /* NOTCPOPTS */#endif /* TCPSOCKET */#ifdef NPIPEchar pipename[PIPENAML+1] = { NUL, NUL };#endif /* NPIPE */#ifdef CK_NETBIOSextern unsigned char NetBiosName[];#endif /* CK_NETBIOS */#endif /* NETCONN */#ifdef ANYX25struct keytab x25tab[] = {    "call-user-data",    XYUDAT, 0,    "closed-user-group", XYCLOS, 0,    "reverse-charge",    XYREVC, 0};int nx25 = (sizeof(x25tab) / sizeof(struct keytab));#ifndef IBMX25struct keytab padx3tab[] = {    "break-action",         PAD_BREAK_ACTION,           0,    "break-character",      PAD_BREAK_CHARACTER,        0,    "character-delete",     PAD_CHAR_DELETE_CHAR,       0,    "cr-padding",           PAD_PADDING_AFTER_CR,       0,    "discard-output",       PAD_SUPPRESSION_OF_DATA,    0,    "echo",                 PAD_ECHO,                   0,    "editing",              PAD_EDITING,                0,    "escape",               PAD_ESCAPE,                 0,    "forward",              PAD_DATA_FORWARD_CHAR,      0,    "lf-padding",           PAD_PADDING_AFTER_LF,       0,    "lf-insert",            PAD_LF_AFTER_CR,            0,    "line-delete",          PAD_BUFFER_DELETE_CHAR,     0,    "line-display",         PAD_BUFFER_DISPLAY_CHAR,    0,    "line-fold",            PAD_LINE_FOLDING,           0,    "pad-flow-control",     PAD_FLOW_CONTROL_BY_PAD,    0,    "service-signals",      PAD_SUPPRESSION_OF_SIGNALS, 0,    "timeout",              PAD_DATA_FORWARD_TIMEOUT,   0,/* Speed is read-only */    "transmission-rate",    PAD_LINE_SPEED,             0,    "user-flow-control",    PAD_FLOW_CONTROL_BY_USER,   0};int npadx3 = (sizeof(padx3tab) / sizeof(struct keytab));#endif /* IBMX25 */#endif /* ANYX25 */#ifdef TLOGstatic struct keytab vbtab[] = {    "brief",   0, 0,#ifdef OS2ORUNIX    "ftp",     2, 0,#endif /* OS2ORUNIX */    "verbose", 1, 0};int nvb = (sizeof(vbtab) / sizeof(struct keytab));#endif /* TLOG */#ifdef CKSYSLOGstatic struct keytab syslogtab[] = {    "all",         SYSLG_CX, 0,    "commands",    SYSLG_CM, 0,    "connection",  SYSLG_AC, 0,    "debug",       SYSLG_DB, 0,    "dial",        SYSLG_DI, 0,    "file-access", SYSLG_FA, 0,    "file-create", SYSLG_FC, 0,    "login",       SYSLG_LI, 0,    "none",        SYSLG_NO, 0,    "protocol",    SYSLG_PR, 0};int nsyslog = (sizeof(syslogtab) / sizeof(struct keytab));#endif /* CKSYSLOG *//* Parity keyword table */struct keytab partbl[] = {    "even",    'e', 0,#ifdef HWPARITY

⌨️ 快捷键说明

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