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

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

?? ckucon.c

?? C 語言核心協議的 C 語言源代碼
?? C
字號:
char *connv = "Connect Command for Unix, V4C(015) 19 Mar 86";/*  C K U C O N  --  Dumb terminal connection to remote system, for Unix  *//* This module should work under all versions of Unix.  It calls externally defined system-dependent functions for i/o, but depends upon the existence of the fork() function. 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.  Enhanced by H. Fischer to detect when child process (modem reader) reports that the communications line has been broken and hang up. Also enhanced to allow escaping from connect state to command interpreter, to allow sending/receiving without breaking connection.*/#include <stdio.h>#include <ctype.h>			/* Character types */#include "ckcdeb.h"#include "ckcker.h"#include <signal.h>#include <setjmp.h>#ifndef SIGUSR1#define SIGUSR1 16#endifextern int local, speed, escape, duplex, parity, flow, seslog, mdmtyp;extern int errno;extern char ttname[], sesfil[];extern CHAR dopar();int i, active;				/* Variables global to this module */char *chstr();char temp[50];#define LBUFL 200			/* Line buffer */char lbuf[LBUFL];/* Connect state parent/child communication signal handlers */static jmp_buf env_con;			/* Envir ptr for connect errors */staticconn_int() {				/* Modem read failure handler, */    longjmp(env_con,1);			/* notifies parent process to stop */}/*  C O N E C T  --  Perform terminal connection  */conect() {    int pid, 			/* process id of child (modem reader) */	parent_id,		/* process id of parent (keyboard reader) */	n;    int c;			/* c is a character, but must be signed 				   integer to pass thru -1, which is the				   modem disconnection signal, and is				   different from the character 0377 */    char errmsg[50], *erp;	if (!local) {	    printf("Sorry, you must 'set line' first\n");	    return(-2);	}	if (speed < 0) {	    printf("Sorry, you must 'set speed' first\n");	    return(-2);        }	if ((escape < 0) || (escape > 0177)) {	    printf("Your escape character is not ASCII - %d\n",escape);	    return(-2);	}	if (ttopen(ttname,&local,mdmtyp) < 0) {	    erp = errmsg;	    sprintf(erp,"Sorry, can't open %s",ttname);	    perror(errmsg);	    return(-2);    	}    	printf("Connecting thru %s, speed %d.\r\n",ttname,speed);	printf("The escape character is %s (%d).\r\n",chstr(escape),escape);	printf("Type the escape character followed by C to get back,\r\n");	printf("or followed by ? to see other options.\r\n");	if (seslog) printf("(Session logged to %s.)\r\n",sesfil);/* Condition console terminal and communication line */	        	if (conbin(escape) < 0) {	    printf("Sorry, can't condition console terminal\n");	    return(-2);    	}	if (ttvt(speed,flow) < 0) {	    conres();	    printf("Sorry, Can't condition communication line\n");	    return(-2);    	}/* cont'd... *//* ...connect, cont'd */	parent_id = getpid();		/* get parent id for signalling */	pid = fork();			/* All ok, make a fork */	if (pid == -1) {	    conres();			/* Reset the console. */	    perror("Can't create keyboard fork");	    printf("[Back at Local System]\n");	    return(0);	}	    	if (pid) {				  active = 1;			/* This fork reads, sends keystrokes */	  if (!setjmp(env_con)) {	/* comm error in child process */	    signal(SIGUSR1,conn_int);	/* routine for child process exit */	    while (active) {		c = coninc(0) & 0177;	/* Get character from keyboard */		if (c == escape) {   	/* Look for escape char */		    c = coninc(0) & 0177;   /* Got esc, get its arg */		    doesc(c);		    /* And process it */		} else {		/* Ordinary character */		    if (ttoc(dopar(c)) > -1) {		    	if (duplex) {	/* Half duplex? */			    conoc(c);	/* Yes, also echo it. */			    if (seslog) 	/* And maybe log it. */			    	if (zchout(ZSFILE,c) < 0) seslog = 0;			}    	    	    } else {			perror("\r\nCan't send character");			active = 0;		    }		}	      }    	    }				/* Come here on death of child */	    kill(pid,9);		/* Done, kill inferior fork. */	    wait(0);			/* Wait till gone. */	    conres();			/* Reset the console. */	    printf("[Back at Local System]\n");	    return(0);	} else {			/* Inferior reads, prints port input */	    while (1) {			/* Fresh read, wait for a character */		if ((c = ttinc(0)) < 0) { /* Comm line hangup detected */		    if (errno == 9999)	/* this value set by ckutio.c myread */			 printf("\r\nCommunications disconnect ");		    else perror("\r\nCan't get character");		    kill(parent_id,SIGUSR1);	/* notify parent. */		    pause();		/* Wait to be killed by parent. */                }		c &= 0177;		/* Got a char, strip parity, etc */		conoc(c);		/* Put it on the screen. */		if (seslog) zchout(ZSFILE,c);	/* If logging, log it. */		while ((n = ttchk()) > 0) {	/* Any more left in buffer? */		    if (n > LBUFL) n = LBUFL;   /* Get them all at once. */		    if ((n = ttxin(n,lbuf)) > 0) {			for (i = 0; i < n; i++) lbuf[i] &= 0177;   /* Strip */			conxo(n,lbuf);	    	    	    	   /* Output */			if (seslog) zsoutx(ZSFILE,lbuf,n);  	   /* Log */		    }	    	}	    }    	}}/*  H C O N N E  --  Give help message for connect.  */hconne() {    int c;    static char *hlpmsg[] = {"\\r\nC to close the connection, or:","\r\n  0 (zero) to send a null","\r\n  B to send a BREAK","\r\n  H to hangup and close connection","\r\n  S for status","\r\n  ? for help","\r\n escape character twice to send the escape character.\r\n\r\n","" };    conola(hlpmsg);			/* Print the help message. */    conol("Command>");			/* Prompt for command. */    c = coninc(0);    conoc(c);				/* Echo it. */    conoll("");    c &= 0177;				/* Strip any parity. */    return(c);				/* Return it. */}/*  C H S T R  --  Make a printable string out of a character  */char *chstr(c) int c; {    static char s[8];    char *cp = s;    if (c < SP) {	sprintf(cp,"CTRL-%c",ctl(c));    } else sprintf(cp,"'%c'\n",c);    cp = s;    return(cp);}/*  D O E S C  --  Process an escape character argument  */doesc(c) char c; {    CHAR d;      c &= 0177;    while (1) {	if (c == escape) {		/* Send escape character */	    d = dopar(c); ttoc(d); return;    	} else				/* Or else look it up below. */	    if (isupper(c)) c = tolower(c);	switch (c) {	case 'c':			/* Close connection */	case '\03':	    active = 0; conol("\r\n"); return;	case 'b':			/* Send a BREAK signal */	case '\02':	    ttsndb(); return;	case 'h':			/* Hangup */	case '\010':	    tthang(); active = 0; conol("\r\n"); return;	case 's':			/* Status */	    conol("\r\nConnected thru ");	    conol(ttname);	    if (speed >= 0) {		sprintf(temp,", speed %d",speed); conol(temp);	    }	    if (parity) {		conol(", ");		switch (parity) {		    case 'e': conol("even");  break;		    case 'o': conol("odd");   break;		    case 's': conol("space"); break;		    case 'm': conol("mark");  break;		}		conol(" parity");	    }	    if (seslog) {		conol(", logging to "); conol(sesfil);            }	    conoll(""); return;	case '?':			/* Help */	    c = hconne(); continue;	case '0':			/* Send a null */	    c = '\0'; d = dopar(c); ttoc(d); return;	case SP:			/* Space, ignore */	    return;	default:			/* Other */	    conoc(BEL); return; 	/* Invalid esc arg, beep */    	}	        }}    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久精品国产免费观看同学| 激情欧美一区二区三区在线观看| 蜜桃视频一区二区| 91蜜桃在线观看| 久久久久国产成人精品亚洲午夜| 亚洲福利电影网| 97精品电影院| 中文字幕精品三区| 精品一区在线看| 欧美精品丝袜中出| 一区二区三区视频在线看| 国产成人av电影在线| 精品福利视频一区二区三区| 午夜精品一区二区三区免费视频| 色综合久久九月婷婷色综合| 国产精品理伦片| 不卡视频在线观看| 国产欧美日韩视频一区二区| 九九**精品视频免费播放| 91精品中文字幕一区二区三区| 亚洲一区日韩精品中文字幕| 一本色道久久综合亚洲精品按摩| 中文字幕一区三区| 成人久久18免费网站麻豆| 国产欧美日本一区二区三区| 国产91丝袜在线18| 久久人人97超碰com| 精品一区二区免费看| 欧美成人aa大片| 韩国精品一区二区| 久久尤物电影视频在线观看| 国产一区二区视频在线| 337p日本欧洲亚洲大胆色噜噜| 国产综合久久久久影院| 欧美精品一区二区三区四区| 韩日精品视频一区| 国产亚洲欧美一区在线观看| 成人免费观看av| 国产精品对白交换视频| 91麻豆免费看片| 亚洲一区二区三区中文字幕在线| 欧美亚洲综合久久| 日韩av一级片| 久久蜜桃一区二区| 波多野结衣一区二区三区| 中文字幕制服丝袜成人av| 91看片淫黄大片一级| 亚洲综合另类小说| 7777精品伊人久久久大香线蕉 | 日韩精品一级二级| 5858s免费视频成人| 麻豆成人免费电影| 国产丝袜欧美中文另类| 色综合天天狠狠| 午夜精品一区二区三区免费视频| 精品免费一区二区三区| 99在线视频精品| 亚洲国产日韩综合久久精品| 精品日韩一区二区三区| 91麻豆.com| 日本美女一区二区三区视频| 中文字幕乱码日本亚洲一区二区| 欧美综合视频在线观看| 久热成人在线视频| 国产精品国产成人国产三级| 7777精品伊人久久久大香线蕉最新版| 国产一区二区三区精品欧美日韩一区二区三区 | 日韩免费在线观看| 99天天综合性| 男女男精品视频| 亚洲欧洲成人av每日更新| 欧美日韩国产电影| 成人免费视频视频在线观看免费 | 国产乱码一区二区三区| 樱桃国产成人精品视频| 日韩欧美激情四射| 在线观看日韩电影| 国产99精品在线观看| 免费在线观看日韩欧美| 一区二区在线看| 日本一区二区免费在线观看视频| 欧美日韩一区中文字幕| www.激情成人| 国产成人免费视频网站| 麻豆成人av在线| 亚洲综合av网| 国产精品久久99| 国产日韩欧美电影| 日韩视频在线永久播放| 欧美三级日本三级少妇99| 成人黄色大片在线观看| 国产在线看一区| 美国十次综合导航| 婷婷开心激情综合| 亚洲欧洲综合另类在线| 国产精品国产自产拍在线| 国产三级欧美三级| 精品国产1区2区3区| 日韩一区二区三区免费看 | 久久99精品国产.久久久久| 五月激情丁香一区二区三区| 亚洲精选免费视频| 国产精品久久久久婷婷| 国产精品人妖ts系列视频| 久久久综合九色合综国产精品| 日韩欧美一区二区在线视频| 7777精品久久久大香线蕉| 91超碰这里只有精品国产| 欧美在线高清视频| 欧美三级中文字幕在线观看| 欧美丝袜自拍制服另类| 欧美亚洲综合色| 7777精品久久久大香线蕉| 91.麻豆视频| 欧美一区二区三区免费观看视频 | 91麻豆精品国产自产在线| 精品视频在线免费| 欧美日韩性生活| 欧美精品久久久久久久多人混战| 777色狠狠一区二区三区| 欧美一区二区精美| 26uuu久久天堂性欧美| 久久你懂得1024| 中文字幕中文字幕中文字幕亚洲无线| 中文字幕在线不卡国产视频| 亚洲激情图片一区| 日本最新不卡在线| 黑人精品欧美一区二区蜜桃| 成人免费毛片嘿嘿连载视频| 色综合色狠狠天天综合色| 欧美日本在线一区| 精品国产区一区| 1024成人网| 日日摸夜夜添夜夜添精品视频| 日韩国产高清在线| 国产传媒欧美日韩成人| 成人丝袜高跟foot| 欧美日韩精品三区| 2024国产精品| 亚洲美腿欧美偷拍| 久久精品99国产精品| 成人性生交大片免费| 欧美色图在线观看| 2021久久国产精品不只是精品| 国产精品对白交换视频| 日韩avvvv在线播放| 国产一区视频在线看| 91女神在线视频| 日韩欧美国产综合| 亚洲精品水蜜桃| 国内精品第一页| 欧美在线一区二区三区| 久久嫩草精品久久久精品一| 一个色妞综合视频在线观看| 精品在线观看视频| 欧美曰成人黄网| 久久婷婷久久一区二区三区| 亚洲已满18点击进入久久| 国产盗摄精品一区二区三区在线| 欧美色男人天堂| 中文字幕免费不卡| 久久国产精品99久久久久久老狼| 91蜜桃在线观看| 久久久www成人免费毛片麻豆| 亚洲123区在线观看| 不卡一区二区中文字幕| 精品成人在线观看| 亚洲午夜在线观看视频在线| 成人动漫一区二区三区| 91精品国产综合久久精品麻豆 | 日韩码欧中文字| 国产一区二区福利视频| 欧美高清精品3d| 一区二区三区精品在线观看| 国产精品1024| 精品国产99国产精品| 日韩国产欧美三级| 欧美日韩国产综合视频在线观看| 亚洲欧洲日韩在线| 岛国av在线一区| 久久久久久久综合日本| 久久精品国内一区二区三区| 欧美精品欧美精品系列| 一区二区日韩电影| 91福利精品第一导航| 亚洲欧美乱综合| 91高清视频免费看| 一区二区久久久久| 欧美中文字幕一二三区视频| 一区二区三区久久| 在线观看日韩一区| 亚洲国产视频一区二区| 欧美午夜电影在线播放| 亚洲国产日韩一级| 欧美日韩高清一区二区不卡| 亚洲一区二区视频在线观看| 欧美午夜宅男影院| 午夜精品久久久久久久| 在线播放/欧美激情| 久久精品久久久精品美女|