亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ckuus3.c

?? C 語言核心協議的 C 語言源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*  C K U U S 3 --  "User Interface" for Unix Kermit, part 3  *//* Author: Frank da Cruz (SY.FDC@CU20B), Columbia University Center for Computing Activities, January 1985. Copyright (C) 1985, Trustees of Columbia University in the City of New York. Permission is granted to any individual or institution to use, copy, or redistribute this software so long as it is not sold for profit, provided this copyright notice is retained.*//*  SET and REMOTE commands; screen, debug, interrupt, and logging functions *//* Includes */#include <stdio.h>#include <ctype.h>#include "ckcker.h"#include "ckcdeb.h"#include "ckucmd.h"#include "ckuusr.h"/* Variables */extern int size, spsiz, rpsiz, npad, timint, rtimo, speed, local, server,  image, flow, displa, binary, fncnv, delay, parity, deblog, escape, xargc,  turn, duplex, cxseen, czseen, nfils, ckxech, pktlog, seslog, tralog, stdouf,  turnch, chklen, bctr, bctu, dfloc, mdmtyp, keep,  rptflg, ebqflg, warn, quiet, cnflg, timef, spsizf, mypadn;extern long filcnt, tlci, tlco, ffc, tfc, fsize;extern char *versio, *protv, *ckxv, *ckzv, *fnsv, *connv, *dftty, *cmdv;extern char *cmarg, *cmarg2, **xargv, **cmlist;extern CHAR stchr, mystch, sstate, padch, mypadc, eol, seol, ctlq;extern CHAR filnam[], ttname[];char *strcpy();/* Declarations from cmd package */extern char cmdbuf[];                   /* Command buffer *//* From main ckuser module... */extern char line[100], *lp;             /* Character buffer for anything */extern char debfil[50],                 /* Debugging log file name */ pktfil[50],                            /* Packet log file name */ sesfil[50],                            /* Session log file name */ trafil[50];                            /* Transaction log file name */extern int tlevel;                      /* Take Command file level */extern FILE *tfile[];                   /* Array of take command fd's *//* Keyword tables for SET commands *//* Block checks */struct keytab blktab[] = {    "1", 1, 0,    "2", 2, 0,    "3", 3, 0};/* Duplex keyword table */struct keytab dpxtab[] = {    "full",      0, 0,    "half",      1, 0};struct keytab filtab[] = {    "display", XYFILD, 0,    "names",   XYFILN, 0,    "type",    XYFILT, 0,    "warning", XYFILW, 0};int nfilp = (sizeof(filtab) / sizeof(struct keytab));/* Send/Receive Parameters */struct keytab srtab[] = {    "end-of-packet", XYEOL, 0,    "packet-length", XYLEN, 0,    "pad-character", XYPADC, 0,    "padding", XYNPAD, 0,    "start-of-packet", XYMARK, 0,    "timeout", XYTIMO, 0};int nsrtab = (sizeof(srtab) / sizeof(struct keytab));/* Flow Control */struct keytab flotab[] = {    "none",     0, 0,    "xon/xoff", 1, 0};int nflo = (sizeof(flotab) / sizeof(struct keytab));/*  Handshake characters  */struct keytab hshtab[] = {    "bell", 007, 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));struct keytab fntab[] = {               /* File naming */    "converted", 1, 0,    "literal",   0, 0};struct keytab fttab[] = {               /* File types */    "binary",    1, 0,    "text",      0, 0};extern struct keytab mdmtab[] ;         /* Modem types (in module ckudia.c) */extern int nmdm;/* Parity keyword table */struct keytab partab[] = {    "even",    'e', 0,    "mark",    'm', 0,    "none",      0, 0,    "odd",     'o', 0,    "space",   's', 0};int npar = (sizeof(partab) / sizeof(struct keytab));/* On/Off table */struct keytab onoff[] = {    "off",       0, 0,    "on",        1, 0};/* Incomplete File Disposition table */struct keytab ifdtab[] = {    "discard",   0, 0,    "keep",      1, 0};/*  D O P R M  --  Set a parameter.  *//* Returns:  -2: illegal input  -1: reparse needed   0: success*/doprm(xx) int xx; {    int x, y, z;    char *s;switch (xx) {case XYEOL:     /* These have all been moved to set send/receive... */case XYLEN:     /* Let the user know what to do. */case XYMARK:case XYNPAD:case XYPADC:case XYTIMO:    printf("...Use 'set send' or 'set receive' instead.\n");    printf("Type 'help set send' or 'help set receive' for more info.\n");    return(0);case XYIFD:                             /* Incomplete file disposition */    if ((y = cmkey(ifdtab,2,"","discard")) < 0) return(y);    if ((x = cmcfm()) < 0) return(x);    keep = y;    return(0);case XYLINE:    if ((x = cmtxt("Device name",dftty,&s)) < 0) return(x);    ttclos();                           /* close old line, if any was open */    x = strcmp(s,dftty) ? -1 : dfloc;   /* Maybe let ttopen figure it out... */    if (ttopen(s,&x,mdmtyp) < 0 ) {     /* Can we open the new line? */#ifdef AMIGA        printf("Sorry, line must be SERIAL\n");#else        perror("Sorry, can't open line");#endif        return(-2);                     /* If not, give bad return */    }    if (x > -1) local = x;              /* Set local/remote status. */    strcpy(ttname,s);                   /* OK, copy name into real place. */    if (!local) speed = -1;             /* If remote, say speed unknown. */    debug(F111,"set line ",ttname,local);    return(0);case XYCHKT:    if ((y = cmkey(blktab,3,"","1")) < 0) return(y);    if ((x = cmcfm()) < 0) return(x);    bctr = y;    return(0);case XYDEBU:    return(seton(&deblog));case XYDELA:    y = cmnum("Number of seconds before starting to send","5",10,&x);    debug(F101,"XYDELA: y","",y);    return(setnum(&delay,x,y));case XYDUPL:    if ((y = cmkey(dpxtab,2,"","full")) < 0) return(y);    if ((x = cmcfm()) < 0) return(x);    duplex = y;    return(0);case XYESC:    y = cmnum("Decimal ASCII code for escape character","",10,&x);    return(setcc(&escape,x,y));case XYFILE:    if ((y = cmkey(filtab,nfilp,"File parameter","")) < 0) return(y);    switch (y) {        int z;        case XYFILD:                    /* Display */            y = seton(&z);            if (y < 0) return(y);            quiet = !z;            return(0);        case XYFILN:                    /* Names */            if ((x = cmkey(fntab,2,"how to handle filenames","converted")) < 0)                return(x);            if ((z = cmcfm()) < 0) return(z);            fncnv = x;            return(0);        case XYFILT:                    /* Type */            if ((x = cmkey(fttab,2,"type of file","text")) < 0)                return(x);            if ((z = cmcfm()) < 0) return(z);            binary = x;            return(0);        case XYFILW:                    /* Warning/Write-Protect */            return(seton(&warn));        default:            printf("?unexpected file parameter\n");            return(-2);    }case XYFLOW:                            /* Flow control */    if ((y = cmkey(flotab,nflo,"","xon/xoff")) < 0) return(y);    if ((x = cmcfm()) < 0) return(x);    flow = y;    return(0);case XYHAND:                            /* Handshake */    if ((y = cmkey(hshtab,nhsh,"","none")) < 0) return(y);    if ((x = cmcfm()) < 0) return(x);    turn = (y > 0127) ? 0 : 1 ;    turnch = y;    return(0);case XYMODM:    if ((x=cmkey(mdmtab,nmdm,"type of modem, direct means none","direct")) < 0)        return(x);    if ((z = cmcfm()) < 0) return(z);    mdmtyp = x;    return(0);case XYPARI:                            /* Parity */    if ((y = cmkey(partab,npar,"","none")) < 0) return(y);    if ((x = cmcfm()) < 0) return(x);/* If parity not none, then we also want 8th-bit prefixing */    if (parity = y) ebqflg = 1; else ebqflg = 0;    return(0);case XYPROM:    if ((x = cmtxt("Program's command prompt","C-Kermit>",&s)) < 0) return(x);    if (*s == '\42') {                  /* Quoted string? */        x = strlen(s) - 1;              /* Yes, strip quotes. */        if (*(s+x) == '\42')            /* This allows leading or trailing */            *(s+x) = '\0';              /* blanks. */            s++;        }    cmsetp(s);    return(0);/* SET SEND/RECEIVE... */case XYRECV:case XYSEND:    if (xx == XYRECV)        strcpy(line,"Parameter for inbound packets");    else        strcpy(line,"Parameter for outbound packets");    if ((y = cmkey(srtab,nsrtab,line,"")) < 0) return(y);    switch (y) {case XYEOL:    y = cmnum("Decimal ASCII code for packet terminator","0",10,&x);    if ((y = setcc(&z,x,y)) < 0) return(y);    if (xx == XYRECV) eol = z; else seol = z;    return(y);case XYLEN:    y = cmnum("Maximum number of characters in a packet","90",10,&x);    if ((y = setnum(&z,x,y)) < 0) return(y);    if (xx == XYRECV) {                 /* Receive... */        rpsiz = z;                      /*   Just set it. */    } else {                            /* Send... */        spsiz = z;                      /*   Set it and flag that it was set */        spsizf = 1;                     /*   to allow overriding Send-Init. */    }    return(y);case XYMARK:    y = cmnum("Decimal ASCII code for packet-start character","1",10,&x);    if ((y = setcc(&z,x,y)) < 0) return(y);    if (xx == XYRECV) stchr = z; else mystch = z;    return(y);case XYNPAD:                            /* Padding */    y = cmnum("How many padding characters for inbound packets","0",10,&x);    if ((y = setnum(&z,x,y)) < 0) return(y);    if (xx == XYRECV) mypadn = z; else npad = z;    return(y);case XYPADC:                            /* Pad character */    y = cmnum("Decimal ASCII code for inbound pad character","0",10,&x);    if ((y = setcc(&z,x,y)) < 0) return(y);    if (xx == XYRECV) mypadc = z; else padch = z;    return(y);case XYTIMO:    y = cmnum("Interpacket timeout interval","5",10,&x);    if ((y = setnum(&z,x,y)) < 0) return(y);    if (xx == XYRECV) {        timef = 1;        timint = z;    } else rtimo = z;    return(y);    }case XYSPEE:    if (!local) {        printf("\nSpeed setting can only be done on an external line\n");        printf("You must 'set line' before issuing this command\n");        return(0);    }    lp = line;    sprintf(lp,"Baud rate for %s",ttname);    if ((y = cmnum(line,"",10,&x)) < 0) return(y);    if (y = (cmcfm()) < 0) return(y);    y = chkspd(x);    if (y < 0)        printf2("?Unsupported line speed - %d\n",x);    else {        speed = y;        printf3("%s: %d baud\n",ttname,speed);    }    return(0);default:    if ((x = cmcfm()) < 0) return(x);    printf2("Not working yet - %s\n",cmdbuf);    return(0);    }}/*  C H K S P D  --  Check if argument is a valid baud rate  */chkspd(x) int x; {    switch (x) {#ifdef AMIGA        case 0:        case 300:        case 1200:        case 2400:        case 4800:        case 9600:        case 19200:#else        case 0:        case 110:        case 150:        case 300:        case 600:        case 1200:        case 1800:        case 2400:        case 4800:        case 9600:#endif            return(x);        default:            return(-1);      }}/*  S E T O N  --  Parse on/off (default on), set parameter to result  */seton(prm) int *prm; {    int x, y;    if ((y = cmkey(onoff,2,"","on")) < 0) return(y);    if ((x = cmcfm()) < 0) return(x);    *prm = y;    return(0);}/*  S E T N U M  --  Set parameter to result of cmnum() parse.  *//* Call with x - number from cnum parse, y - return code from cmnum*/setnum(prm,x,y) int x, y, *prm; {    debug(F101,"setnum","",y);    if (y < 0) return(y);    if (x > 94) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av亚洲精华国产精华| 国产精品精品国产色婷婷| 亚洲精品一区二区三区蜜桃下载| 国产精品久久久久久久久免费相片| 洋洋成人永久网站入口| 国产成都精品91一区二区三| 欧美丰满嫩嫩电影| 综合久久国产九一剧情麻豆| 国产综合色精品一区二区三区| 欧美色图12p| 中文字幕一区在线观看| 国产在线视频不卡二| 制服丝袜中文字幕一区| 亚洲精品老司机| 高清不卡一二三区| 精品久久99ma| 久久综合综合久久综合| 欧美老肥妇做.爰bbww视频| 亚洲日本一区二区三区| 白白色 亚洲乱淫| 久久久99久久| 国产精品一区二区你懂的| 日韩一级免费观看| 日本成人中文字幕在线视频| 欧美日韩在线亚洲一区蜜芽| 一区二区三区国产豹纹内裤在线| 成人性视频网站| 欧美激情在线看| 国产成人久久精品77777最新版本| 欧美mv日韩mv亚洲| 久久国产精品区| 亚洲精品一区二区三区香蕉| 久久国产乱子精品免费女| 日韩精品一区二区三区在线播放| 麻豆久久一区二区| 亚洲精品一区二区三区蜜桃下载| 国产原创一区二区三区| 久久久久久久一区| 成人三级在线视频| 亚洲精品成人悠悠色影视| 欧美婷婷六月丁香综合色| 香蕉乱码成人久久天堂爱免费| 欧美日韩午夜在线| 美国欧美日韩国产在线播放| 久久你懂得1024| av福利精品导航| 亚洲国产日韩综合久久精品| 欧美巨大另类极品videosbest | 精品国产91洋老外米糕| 久久99精品久久久| 国产区在线观看成人精品| 成人免费毛片a| 一区二区三区欧美久久| 欧美美女bb生活片| 黑人巨大精品欧美一区| 中文字幕一区av| 欧美二区乱c少妇| 国产成人小视频| 亚洲综合色丁香婷婷六月图片| 在线不卡的av| 成人午夜电影小说| 首页国产欧美久久| 国产午夜精品久久久久久免费视 | 国产成人在线观看| 亚洲理论在线观看| 日韩欧美一区在线| 99麻豆久久久国产精品免费 | 国产毛片精品国产一区二区三区| 欧美激情综合五月色丁香| 欧美三日本三级三级在线播放| 麻豆成人久久精品二区三区小说| 国产精品久久毛片a| 欧美一区二区三区性视频| www.欧美精品一二区| 日韩中文字幕区一区有砖一区| xfplay精品久久| 欧美羞羞免费网站| 粉嫩高潮美女一区二区三区| 亚洲h在线观看| 中文字幕一区二区5566日韩| 5566中文字幕一区二区电影| 成人激情小说乱人伦| 日本不卡不码高清免费观看| 亚洲日本va在线观看| 26uuu精品一区二区三区四区在线| 91福利在线观看| 国产成人免费网站| 麻豆视频一区二区| 亚洲成人动漫一区| 亚洲乱码一区二区三区在线观看| 精品sm捆绑视频| 在线成人小视频| 91亚洲精品乱码久久久久久蜜桃| 精品影视av免费| 日韩精品高清不卡| 亚洲午夜激情av| 亚洲另类一区二区| 国产精品成人午夜| 中文字幕电影一区| 久久久噜噜噜久噜久久综合| 91精品国产综合久久国产大片| 在线观看免费亚洲| 91亚洲精品乱码久久久久久蜜桃| 国产激情精品久久久第一区二区| 老司机精品视频线观看86| 日韩电影免费在线观看网站| 丝袜美腿亚洲色图| 香蕉久久一区二区不卡无毒影院| 一区二区三区视频在线看| 亚洲精品ww久久久久久p站| 中文字幕一区二区三区av| 欧美极品少妇xxxxⅹ高跟鞋| 国产午夜精品一区二区三区嫩草 | 欧美一区二视频| 欧美色欧美亚洲另类二区| 在线观看精品一区| 欧美日韩亚洲综合在线 | 99视频热这里只有精品免费| 国产盗摄女厕一区二区三区| 国产二区国产一区在线观看| 国产福利一区二区| 成人精品在线视频观看| 成人aa视频在线观看| 成人午夜av影视| 色婷婷久久一区二区三区麻豆| 91国偷自产一区二区三区观看| 99久久精品99国产精品| 在线观看亚洲a| 在线电影院国产精品| 精品欧美黑人一区二区三区| 26uuu欧美| 日韩美女视频一区| 亚洲成av人片在线| 狠狠网亚洲精品| 不卡欧美aaaaa| 色哟哟一区二区| 欧美一级在线观看| 久久久高清一区二区三区| 国产精品传媒在线| 亚洲午夜久久久久久久久久久| 琪琪久久久久日韩精品| 国产成人日日夜夜| 欧美视频第二页| 久久久国产综合精品女国产盗摄| 国产精品国产a| 亚洲成在人线在线播放| 精品一区二区免费在线观看| av不卡免费电影| 91精品一区二区三区久久久久久 | 国产原创一区二区| 色视频成人在线观看免| 日韩一区二区免费高清| 国产精品久久久久久久久搜平片 | 久久99精品国产91久久来源| 成人免费视频播放| 欧美精品777| 欧美国产乱子伦| 日本在线播放一区二区三区| 成人成人成人在线视频| 欧美精品少妇一区二区三区| 中文字幕乱码一区二区免费| 爽好多水快深点欧美视频| 成人污污视频在线观看| 欧美一卡在线观看| 亚洲精品伦理在线| 国产成人自拍网| 欧美一区二区三区白人| 成人免费在线观看入口| 久久爱另类一区二区小说| 欧美系列亚洲系列| 国产精品的网站| 国内精品国产成人国产三级粉色| 欧美色综合久久| 国产精品卡一卡二| 狠狠网亚洲精品| 日韩一区二区在线观看视频播放| 亚洲品质自拍视频网站| 成人综合婷婷国产精品久久 | 欧美疯狂性受xxxxx喷水图片| 国产精品久久久久三级| 国产精品正在播放| 日韩三级精品电影久久久| 亚洲一区二区三区四区的 | 欧美日韩视频在线观看一区二区三区 | 视频一区视频二区中文字幕| jizz一区二区| 国产精品日产欧美久久久久| 国产激情精品久久久第一区二区| 欧美一级免费大片| 婷婷中文字幕一区三区| 日本乱人伦一区| 亚洲色图丝袜美腿| 成人av电影免费在线播放| 中文字幕av一区二区三区| 国产精品18久久久| 国产人久久人人人人爽| 国产.精品.日韩.另类.中文.在线.播放 | 日韩中文欧美在线| 欧美精品一级二级三级| 天堂久久一区二区三区|