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

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

?? ecusea.c

?? 一個通訊程序源碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
		if(sf_nakquan > 10)			goto CANCEL_TRANSFER;	}	if(endblk)	/* if sending file, not EOT */		fclose(fp);	return(1);							/* exit with good status */CANCEL_TRANSFER:	if(endblk)	/* if sending file, not EOT */		fclose(fp);	xmit_cancel();	return(0);                          /* exit with bad status */}	/* end of send_file *//*+-------------------------------------------------------------------------	set_utime_1980(filename,secs_since_1980)--------------------------------------------------------------------------*/voidset_utime_1980(filename,secs_since_1980)char *filename;						/* file to set stamp on */long secs_since_1980;{time_t times[2];time_t time();	times[0] = time((long *) 0);				/* accessed */	times[1] = secs_since_1980 + OFFSET_1980;	/* modified (convert time) */	utime(filename,times);}	/* end of set_utime_1980 *//*+-------------------------------------------------------------------------	receive_block(buf) - get block from linereturn 0 if good chk/CRC, 1 if bad--------------------------------------------------------------------------*/intreceive_block(buf)char *buf;				/* data buffer */{register unsigned int rdchar;	register unsigned short rUINT16 = 0;	/* calculated CRC or check value */int itmp;int timeout = no_ack_mode ? 200 : 5;	/* short block timeout */unsigned short rcvd_crc;				/* received CRC or check value */	itmp = 128;	while(itmp--)	{		if((rdchar = lgetc_timeout(timeout)) == TIMEOUT)			return(1);		if(crc_in_use)			rUINT16 = crc_update(rdchar,rUINT16);		else			rUINT16 += rdchar;		*buf++ = rdchar;	}	if(crc_in_use)	{		rUINT16 = crc_update(0,rUINT16);		rUINT16 = crc_update(0,rUINT16);		rdchar = lgetc_timeout(timeout);		rcvd_crc = (rdchar << 8) | lgetc_timeout(timeout);	}	else 	{		rUINT16 &= 0xFF;		rcvd_crc = lgetc_timeout(timeout) & 0xFF;	}	if(rUINT16 != rcvd_crc)	{		sprintf(s128,"bad %s calc=%04x rcvd=%04x",			crc_in_use ? "CRC" : "checksum",rcvd_crc,rUINT16);		report_str(s128,-1);	}	return(rUINT16 != rcvd_crc);}	/* end of receive_block *//*+-------------------------------------------------------------------------	receive_file()--------------------------------------------------------------------------*/char *receive_file(){int rdchar;					/* received character */int tries;					/* retry counter */int blknum;					/* desired block number */int inblk;					/* this block number */FILE *fp;char buf[128];				/* data buffer */char tmpname[100];			/* name of temporary file */static char outname[100];	/* name of final file */BLK0 blk0;					/* file header data storage */int endblk;					/* block number of EOT, if known */long left = 0;				/* bytes left to output */int itmp;					/* index */int cnvrt;					/* flag -- convert filename? */char *onp;					/* use to convert filename to l / rdchar */long ftell();	*outname = '\0';		/* get name from transmitter */	cnvrt = 1;		/* convert to local is necessary */	sprintf(tmpname,"./SEA%05d.tmp",getpid());	/* use a unique temp filename */	if(!(fp = fopen(tmpname,"w")))	{	/* open temporary file */		sprintf(s128,"Cannot create temp file %s\n",tmpname);		report_str(s128,0);		xmit_cancel();		return(NULL);	}	blknum = 0;	tries = -10;				/* kludge for first time around */	crc_in_use = 1;				/* try for CRC error checking */	error_count = 0;			/* no errors yet */	endblk = 0;					/* we don't know the size yet */	no_ack_mode = 0;			/* we don't know about this yet */	memset((char *)&blk0,0,sizeof(blk0));	/* or much of anything else */	report_protocol_crc_type("/CRC16");SEND_NAK:				/* we got a bad block */	if(blknum > 1)	{		error_count++;		report_str("bad block",1);	}	if(++tries > 10)		goto CANCEL_TRANSFER;	if(tries == 0)			/* if CRC isn't going */	{		crc_in_use = 0;		/* then give checksum a try */		report_protocol_crc_type("/CHK");	}	xmit_nak(blknum);		/* send the NAK */	if(no_ack_mode && error_count > 20)	{	/* if no_ack_mode mode isn't working */		no_ack_mode = 0;		/* then shut it off */		report_str("Overdrive disengaged",0);	}RECEIVE_NEXT_BLOCK:				/* start of "get a block" */	report_rxpos(ftell(fp));	while((rdchar = lgetc_timeout(30)) != TIMEOUT)	{		if(rdchar == CAN)		{			if((rdchar = lgetc_timeout(30)) == CAN)			{				xmit_cancel();				return(NULL);			}			break;		}		if(rdchar == EOT)		{			if(!endblk || endblk == blknum)				goto RECEIVE_EOT_SEEN;		}		else if(rdchar == SOH)		{			if((inblk = lgetc_timeout(5)) == TIMEOUT)				goto SEND_NAK;			if(lgetc_timeout(5) == (inblk ^ 0xFF))			{				sprintf(s128,"receiving %d",inblk);				report_last_rxhdr(s128,0);				goto GOT_START_OF_BLOCK;	/* we found a start */			}		}	}	goto SEND_NAK;GOT_START_OF_BLOCK:				/* start of block detected */	rdchar = blknum & 0xFF;	if(inblk == 0 && blknum <= 1)	{	/* if this is the header */		if(receive_block((char *)&blk0))			goto SEND_NAK;		/* bad header block */		else 		{			xmit_ack(inblk);	/* ack the header */#if defined(M_UNIX)			if(fname_too_long(blk0.filename))			{				strcpy(s128,"truncated: ");				strncat(s128,blk0.filename,sizeof(s128) - 12);				report_str(s128,-1);				strcpy(outname,fname_truncated());			}			else#endif				strcpy(outname,blk0.filename);			report_file_rcv_started(outname,blk0.length,				blk0.secs_since_1980 + OFFSET_1980);			if(left = blk0.length)	/* length to transfer */				endblk=(int)((left + 127L)/128L)+1;			if(no_ack_mode != blk0.send_no_acks)			{				sprintf(s128,"Overdrive %sengaged",					(blk0.send_no_acks) ? "" : "dis");				report_str(s128,0);			}			no_ack_mode = blk0.send_no_acks;			blknum = 1;	/* now we want first data block */			goto RECEIVE_NEXT_BLOCK;		}	}	if(inblk == rdchar)	{			/* if this is the one we want */		if(!receive_block(buf))		{		/* else if we get it okay */			if(!no_ack_mode)		/* if we're sending ACKs */				xmit_ack(inblk);	/* then ACK the data */			for(itmp = 0; itmp < 128; itmp++)			{				if(endblk)				{	/* limit file size if known */					if(!left)						break;					left--;				}				if(fputc(buf[itmp],fp) == EOF)				{					report_str("FILE WRITE ERROR",0);					goto CANCEL_TRANSFER;				}			}			tries = 0;		/* reset try count */			blknum++;		/* we want the next block */			goto RECEIVE_NEXT_BLOCK;		}		goto SEND_NAK;		/* ask for a resend */	}	if(inblk < rdchar || inblk > rdchar + 100)	{	/* if resending what we have */		receive_block(buf);			/* ignore it */		xmit_ack(inblk);			/* but ack it */	}	goto RECEIVE_NEXT_BLOCK;		/* else if running ahead */RECEIVE_EOT_SEEN:#ifdef NAKEOT	xmit_nak(blknum);				/* NAK the EOT, make sure */	if(lgetc_timeout(20) != EOT)	/* we're all done */		goto SEND_NAK;#endif /* NAKEOT */	xmit_ack(blknum);				/* ACK it and clean up */	report_last_rxhdr("EOT",0);	if(blknum > 1)	{				/* if we really got anything */		fclose(fp);		unlink(outname);		/* rename temp to proper name */		for(onp = outname;cnvrt && *onp;onp++)			/* find out if there's lower- */			if(islower(*onp))	/* case letters filename */				cnvrt = 0;	/*  there are, don't convert */		if(cnvrt)			/* if there aren't, make all */			for(onp = outname;*onp;onp++)	/* into uppercase */				*onp = tolower(*onp);		if(link(tmpname,outname) == 0)			unlink(tmpname);		if(blk0.secs_since_1980)		/* set stamp, if known */			set_utime_1980(outname,blk0.secs_since_1980);		return(outname);	}	else 	{				/* else no real file */		fclose(fp);		unlink(tmpname);		/* discard empty file */		report_str("end of transfer",0);		rf_done = 1;		return(NULL);	}CANCEL_TRANSFER:	fclose(fp);	xmit_cancel();	rf_done = 2;	return(NULL);}	/* end of receive_file *//*+-------------------------------------------------------------------------	cancel_transaction(sig)--------------------------------------------------------------------------*/SIGTYPEcancel_transaction(sig)int sig;{	xmit_cancel();	sprintf(s128,"signal %d ... exiting",sig);	report_str(s128,1);/*	report_rx_ind(0);	report_tx_ind(0);*/	report_uninit();	if(sig == SIGQUIT)		abort();	exit(128+sig);}	/* end of cancel_transaction *//*+-------------------------------------------------------------------------	getspeed(code)--------------------------------------------------------------------------*/struct B_to_baud { unsigned baud; int B_code; };unsignedgetspeed(code)int code;{register itmp;static struct B_to_baud speeds[] = { 50, B50, 75, B75, 110, B110, 300, B300, 600, B600, 1200, B1200, 2400, B2400, 4800, B4800, 9600, B9600, 19200, EXTA, 38400, EXTB, 0};	code &= CBAUD;	for(itmp = 0; speeds[itmp].baud; itmp++)		if(speeds[itmp].B_code == code)			return(speeds[itmp].baud);	return(38400);	/* Assume fifo if ioctl failed */}	/* end of getspeed *//*+-------------------------------------------------------------------------	main(argc,argv,envp)--------------------------------------------------------------------------*/main(argc,argv,envp)int argc;char **argv;char **envp;{int ipaths;int ok = 0;#define MAX_PATHS 512char *paths[MAX_PATHS];char **ppaths = paths;char *cptr;char **gargv = argv;int gargc = argc;	exit_code = 254;	while(--argc)	{		cptr = *++argv;		if(*cptr == '-')		{			cptr++;			switch(*cptr++)			{			case ',':				log_packets = 1;				break;			case '/':				if(--argc < 1)					exit(255);				strcpy(curr_dir,*++argv);				break;			case '.':				if(--argc < 1)					exit(255);				iofd = atoi(*++argv);				break;			case 'r':				sending_flag = 0;				break;			case 's':				sending_flag = 1;			}		}		else if(argc > 0)		{			if(npaths < MAX_PATHS)			{				*ppaths++ = cptr;				npaths++;			}			else			{				printf("too many filenames to send\n");				exit(255);			}		}	}	if(sending_flag == -1)	{		printf("no -r or -s\n");		exit(255);	}	if((npaths < 1) && sending_flag)		exit(253);	if(npaths && !sending_flag)		exit(255);	if(log_packets)	{		char log_packets_name[64];		FILE *ftmp;		int iargv;		sprintf(log_packets_name,"/tmp/sea%05d.plog",getpid());		unlink(log_packets_name);		ftmp = fopen(log_packets_name,"w");		fclose(ftmp);		log_packets = open(log_packets_name,O_WRONLY,0644);		if(log_packets < 0)			log_packets = 0;		else		{			write(log_packets,"exec: ",6);			for(iargv = 0; iargv < gargc; iargv++)			{				write(log_packets,gargv[iargv],strlen(gargv[iargv]));				write(log_packets," ",1);			}			write(log_packets,"\n",1);		}	}	sprintf(s128,"ecusea %s",revision);	report_init(s128);	report_top_line("System Enhancement Associates");	signal(SIGHUP,cancel_transaction);	signal(SIGQUIT,cancel_transaction);	signal(SIGINT,cancel_transaction);	signal(SIGTERM,cancel_transaction);#if	defined(SIGSTOP)	/*	 * call Roto-Rooter on POSIX plots	 */	signal(SIGSTOP,SIG_IGN);	signal(SIGTSTP,SIG_IGN);	signal(SIGCONT,SIG_IGN);	signal(SIGTTIN,SIG_IGN);	signal(SIGTTOU,SIG_IGN);#endif	ioctl(iofd,TCGETA,&tio0);	tio = tio0;	tio.c_oflag = 0;	tio.c_cflag &= ~PARENB;	tio.c_cflag &= ~CSIZE;	tio.c_cflag |= CS8;	/*	 * learn tick rate for various timers	 */	init_Nap();	baud_rate = getspeed(tio.c_cflag);	ioctl(iofd,TCSETA,&tio);	report_line(baud_rate,"RAW");	switch(sending_flag)	{		case 0:				/* receive files */			while(receive_file() != NULL)				Nap(1000L);			ok = (rf_done == 1);			break;		case 1:				/* send files */			ipaths = 0;			while(ipaths < npaths)			{				if(!(ok = send_file(paths[ipaths])))					break;				Nap(1000L);				ipaths++;			}			if(ok)		/* no errors, send end marker */				send_file("");			report_str("end of transfer",0);			break;	}	ioctl(iofd,TCSETA,&tio0);	report_line(baud_rate,"NORMAL");	report_uninit();	exit(ok ? 0 : exit_code);	/* and return error status */}	/* end of main */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本成人超碰在线观看| 99久久精品情趣| 国产成人一级电影| 欧美日韩国产一级二级| 中文字幕在线不卡一区二区三区| 亚洲国产成人va在线观看天堂| 国产成人综合亚洲网站| 制服丝袜亚洲色图| 亚洲男人天堂av网| 成人免费va视频| 久久久一区二区三区| 蜜乳av一区二区三区| 欧美日韩精品欧美日韩精品一综合| 国产日本一区二区| 黑人巨大精品欧美一区| 在线成人av影院| 亚洲福利电影网| 一本大道久久a久久精二百| 中文字幕一区二区三区在线不卡| 国产综合成人久久大片91| 欧美日韩aaa| 日韩精品亚洲专区| 欧美日韩一区久久| 亚洲国产va精品久久久不卡综合| 色综合咪咪久久| 亚洲美女免费视频| 一本久久a久久免费精品不卡| 国产精品电影一区二区| 91婷婷韩国欧美一区二区| 亚洲色图清纯唯美| 在线视频你懂得一区| 伊人夜夜躁av伊人久久| 色婷婷av一区二区三区gif| 亚洲人成网站精品片在线观看| 成人不卡免费av| 自拍偷拍国产亚洲| 一本大道久久a久久综合婷婷| 一区二区三区蜜桃网| 欧美日韩大陆一区二区| 日韩黄色在线观看| 欧美大白屁股肥臀xxxxxx| 久久91精品久久久久久秒播| 欧美tk丨vk视频| 成人性生交大片免费看中文| 亚洲激情自拍视频| 日韩一级黄色片| 国产成人午夜视频| 亚洲男人天堂av| 3atv在线一区二区三区| 国产原创一区二区三区| 中文字幕日本乱码精品影院| 欧美三级视频在线播放| 久久97超碰色| 亚洲激情欧美激情| 91精品国产91久久综合桃花| 国产精品18久久久久久久久久久久| 国产精品―色哟哟| 欧美日韩亚洲另类| 国产丶欧美丶日本不卡视频| 亚洲精品国产a| 精品少妇一区二区三区免费观看| 成人免费看视频| 亚洲制服欧美中文字幕中文字幕| 日韩精品一区二区三区视频播放 | 色婷婷精品久久二区二区蜜臂av| 亚洲国产一二三| 精品999久久久| 97aⅴ精品视频一二三区| 日欧美一区二区| 亚洲人xxxx| 337p日本欧洲亚洲大胆色噜噜| 99久久99久久精品免费观看| 天堂一区二区在线| 中文一区一区三区高中清不卡| 欧美精品 日韩| 国产不卡高清在线观看视频| 亚洲va国产天堂va久久en| 国产网站一区二区三区| 欧美精品第1页| 99麻豆久久久国产精品免费| 麻豆精品一区二区| 亚洲综合免费观看高清完整版| 久久精品一区二区| 51精品国自产在线| 在线看国产一区二区| 在线日韩一区二区| 国产传媒日韩欧美成人| 日本aⅴ亚洲精品中文乱码| 亚洲乱码中文字幕| 国产精品三级久久久久三级| 久久夜色精品国产噜噜av| 欧美区一区二区三区| 色综合天天综合网天天狠天天| 国产成人精品一区二| 国模大尺度一区二区三区| 日韩国产一区二| 亚洲高清免费视频| 亚洲国产日韩一区二区| 亚洲欧美视频在线观看视频| 国产精品私房写真福利视频| 2023国产精华国产精品| 日韩精品自拍偷拍| 91精品国产乱码久久蜜臀| 欧美精品久久99| 欧美久久一二区| 欧美精品1区2区3区| 91精品国产综合久久久蜜臀图片| 欧美日韩国产成人在线免费| 在线这里只有精品| 精品视频在线看| 欧美日韩久久不卡| 91精品国产免费| 日韩精品中文字幕在线一区| 欧美一卡2卡3卡4卡| 欧美变态tickling挠脚心| 精品国产欧美一区二区| 精品福利一区二区三区免费视频| 精品国产乱码久久久久久图片| 日韩一级视频免费观看在线| 26uuu精品一区二区在线观看| 欧美刺激午夜性久久久久久久| 日韩精品一区二区三区四区视频| www激情久久| 国产精品久久久久影院亚瑟 | 性久久久久久久| 亚欧色一区w666天堂| 男男视频亚洲欧美| 国产一区二区三区黄视频 | 欧美成人精品高清在线播放| 久久亚洲一级片| 成人欧美一区二区三区1314| 一区二区三区不卡在线观看| 日本不卡视频在线| 久久精品99国产精品| 国产九九视频一区二区三区| 成人免费视频免费观看| 日本大香伊一区二区三区| 8v天堂国产在线一区二区| 精品国产免费人成在线观看| 欧美国产一区在线| 一区二区三区在线视频观看| 日本成人超碰在线观看| 风流少妇一区二区| 欧美日韩免费在线视频| 日韩欧美成人一区| **欧美大码日韩| 日本美女视频一区二区| 精品视频在线视频| 精品视频色一区| 精品国产髙清在线看国产毛片 | 亚洲成av人片一区二区| 蜜臀精品久久久久久蜜臀| 成人一级黄色片| 欧美日韩国产精品成人| 国产精品天干天干在观线 | 亚洲视频网在线直播| 免费成人在线影院| 一本到高清视频免费精品| 亚洲精品一区在线观看| 亚洲伊人伊色伊影伊综合网 | 麻豆久久久久久| 91丨国产丨九色丨pron| 久久久久久一二三区| 亚洲第一狼人社区| eeuss鲁片一区二区三区| 91精品国产欧美一区二区成人| 国产精品久久久久久亚洲伦| 六月丁香婷婷久久| 欧美色视频在线| 亚洲欧洲精品一区二区三区不卡| 亚洲一区二区三区四区在线免费观看 | 91国偷自产一区二区使用方法| 337p亚洲精品色噜噜狠狠| 亚洲视频一区在线| 国产伦精品一区二区三区在线观看| 欧美日韩精品一二三区| 亚洲黄色免费网站| 成人av在线资源网| 久久久蜜桃精品| 免费高清成人在线| 制服丝袜日韩国产| 亚洲国产精品一区二区www在线| 成人国产一区二区三区精品| 国产亚洲1区2区3区| 久久国产夜色精品鲁鲁99| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲精品一区二区三区蜜桃下载 | 久久男人中文字幕资源站| 日韩中文字幕亚洲一区二区va在线 | 国产乱子伦视频一区二区三区| 激情久久五月天| 91精品国产综合久久蜜臀| 亚洲1区2区3区4区| 欧美视频一区二区| 亚洲成精国产精品女| 欧美精品在线观看一区二区| 亚洲成a人v欧美综合天堂下载| 日本高清无吗v一区| 亚洲精品国产精品乱码不99| 色综合色狠狠综合色|