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

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

?? sz.c

?? 開源串口利用Xmodem,Ymodem,ZModem 下載,上傳的程序.在Linux,Arm-Linux 都可使用
?? C
?? 第 1 頁 / 共 3 頁
字號:
#define VERSION "3.48 01-27-98"#define PUBDIR "/usr/spool/uucppublic"/* ************************************************************************** * * sz.c By Chuck Forsberg,  Omen Technology INC *    Copyright 1997 Omen Technology Inc All Rights Reserved *  ********************************************************************* ********************************************************************* *  * *	This version implements numerous enhancements including ZMODEM *	Run Length Encoding and variable length headers.  These *	features were not funded by the original Telenet development *	contract. *  *  * This software may be freely used for educational (didactic * only) purposes.  "Didactic" means it is used as a study item * in a course teaching the workings of computer protocols. *  * This software may also be freely used to support file transfer * operations to or from duly licensed Omen Technology products. * This includes DSZ, GSZ, ZCOMM, Professional-YAM and PowerCom. * Institutions desiring to use rz/sz this way should add the * following to the sz compile line:	-DCOMPL * Programs based on stolen or public domain ZMODEM materials are * not included.  Use with other commercial or shareware programs * (Crosstalk, Procomm, etc.) REQUIRES REGISTRATION. *  * *  Any programs which incorporate part or all of this code must be *  provided in source form with this notice intact except by *  prior written permission from Omen Technology Incorporated. *  This includes compiled executables of this program. * *   The .doc files and the file "mailer.rz" must also be included. *  * Use of this software for commercial or administrative purposes * except when exclusively limited to interfacing Omen Technology * products requires license payment of $20.00 US per user * (less in quantity, see mailer.rz).  Use of this code by * inclusion, decompilation, reverse engineering or any other means * constitutes agreement to these conditions and acceptance of * liability to license the materials and payment of reasonable * legal costs necessary to enforce this license agreement. * * *		Omen Technology Inc *		Post Office Box 4681 *		Portland OR 97208 * *	This code is made available in the hope it will be useful, *	BUT WITHOUT ANY WARRANTY OF ANY KIND OR LIABILITY FOR ANY *	DAMAGES OF ANY KIND. * *  USG UNIX (3.0) ioctl conventions courtesy Jeff Martin */char *Copyrsz = "Copyright 1997 Omen Technology Inc All Rights Reserved";char *substr();#define LOGFILE "/tmp/szlog"#define LOGFILE2 "szlog"#include <stdio.h>#include <signal.h>#include <ctype.h>#include <errno.h>extern int errno;#define STATIC#define PATHLEN 1000#define OK 0#define FALSE 0#ifdef TRUE#undef TRUE#endif#define TRUE 1#define ERROR (-1)/* Ward Christensen / CP/M parameters - Don't change these! */#define ENQ 005#define CAN ('X'&037)#define XOFF ('s'&037)#define XON ('q'&037)#define SOH 1#define STX 2#define EOT 4#define ACK 6#define NAK 025#define SYN 026#define CPMEOF 032#define WANTCRC 0103	/* send C not NAK to get crc not checksum */#define WANTG 0107	/* Send G not NAK to get nonstop batch xmsn */#define TIMEOUT (-2)#define RCDO (-3)#define GCOUNT (-4)#define RETRYMAX 10#define HOWMANY 2STATIC int Zmodem=0;		/* ZMODEM protocol requested by receiver */unsigned Baudrate = 9600;		/* Default, set by first mode() call */STATIC unsigned Txwindow;	/* Control the size of the transmitted window */STATIC unsigned Txwspac;	/* Spacing between zcrcq requests */STATIC unsigned Txwcnt;	/* Counter used to space ack requests */STATIC long Lrxpos;	/* Receiver's last reported offset */STATIC int errors;char endmsg[80] = {0};	/* Possible message to display on exit */char Zsendmask[33];	/* Additional control chars to mask */#include "rbsb.c"	/* most of the system dependent stuff here */#include "crctab.c"STATIC int Filesleft;STATIC long Totalleft;/* * Attention string to be executed by receiver to interrupt streaming data *  when an error is detected.  A pause (0336) may be needed before the *  ^C (03) or after it. */#ifdef READCHECKSTATIC char Myattn[] = { 0 };#else#ifdef USGSTATIC char Myattn[] = { 03, 0336, 0 };#endif#endifFILE *in;STATIC int Canseek = 1;	/* 1: Can seek 0: only rewind -1: neither (pipe) */#ifndef SMALL#ifndef TXBSIZE#define TXBSIZE 32768#endif#define TXBMASK (TXBSIZE-1)STATIC char Txb[TXBSIZE + 1024];	/* Circular buffer for file reads */STATIC char *txbuf = Txb;		/* Pointer to current file segment */#elsechar txbuf[1024];#endifSTATIC long vpos = 0;		/* Number of bytes read from file */STATIC char Lastrx;STATIC char Crcflg;STATIC int Modem2=0;		/* XMODEM Protocol - don't send pathnames */STATIC int Restricted=0;	/* restricted; no /.. or ../ in filenames */STATIC int Fullname=0;		/* transmit full pathname */STATIC int Unlinkafter=0;	/* Unlink file after it is sent */STATIC int Dottoslash=0;	/* Change foo.bar.baz to foo/bar/baz */STATIC int firstsec;STATIC int errcnt=0;		/* number of files unreadable */STATIC int Skipbitch=0;STATIC int Skipcount=0;		/* Count of skipped files */STATIC int blklen=128;		/* length of transmitted records */STATIC int Optiong;		/* Let it rip no wait for sector ACK's */STATIC int Eofseen;		/* EOF seen on input set by zfilbuf */STATIC int BEofseen;		/* EOF seen on input set by fooseek */STATIC int Totsecs;		/* total number of sectors this file */STATIC int Filcnt=0;		/* count of number of files opened */STATIC unsigned Rxbuflen=16384;	/* Receiver's max buffer length */STATIC long Tframlen = 0;	/* Override for tx frame length */STATIC int blkopt=0;		/* Override value for zmodem blklen */STATIC int Rxflags = 0;STATIC long bytcnt, maxbytcnt;STATIC int Wantfcs32 = TRUE;	/* want to send 32 bit FCS */STATIC char Lzconv;	/* Local ZMODEM file conversion request */STATIC char Lzmanag;	/* Local ZMODEM file management request */STATIC int Lskipnocor;STATIC char Lztrans;STATIC int Command;		/* Send a command, then exit. */STATIC char *Cmdstr;		/* Pointer to the command string */STATIC int Cmdack1;		/* Rx ACKs command, then do it */STATIC int Exitcode;STATIC int Test;		/* 1= Force receiver to send Attn, etc with qbf. */			/* 2= Character transparency test */STATIC char *qbf= "The quick brown fox jumped over the lazy dog's back 1234567890\r\n";STATIC long Lastsync;	/* Last offset to which we got a ZRPOS */STATIC int Beenhereb4;		/* How many times we've been ZRPOS'd here */STATIC int Ksendstr;		/* 1= Send esc-?-3-4-l to remote kermit */STATIC char *ksendbuf = "\033[?34l";STATIC jmp_buf intrjmp;	/* For the interrupt on RX CAN *//* called by signal interrupt or terminate to clean things up */voidbibi(n){	canit(); fflush(stdout); mode(0);	fprintf(stderr, "sz: caught signal %d; exiting\n", n);	if (n == SIGQUIT)		abort();	if (n == 99)		fprintf(stderr, "mode(2) in rbsb.c not implemented!!\n");	exit(3);}/* Called when ZMODEM gets an interrupt (^X) */voidonintr(c){	signal(SIGINT, SIG_IGN);	longjmp(intrjmp, -1);}STATIC int Zctlesc;	/* Encode control characters */STATIC int Nozmodem = 0;	/* If invoked as "sb" */STATIC char *Progname = "sz";STATIC int Zrwindow = 1400;	/* RX window size (controls garbage count) *//* * Log an error */voidzperr1(s,p,u)char *s, *p, *u;{	if (Verbose <= 0)		return;	fprintf(stderr, "Retry %d: ", errors);	fprintf(stderr, s);	fprintf(stderr, "\n");}voidzperr2(s,p,u)char *s, *p, *u;{	if (Verbose <= 0)		return;	fprintf(stderr, "Retry %d: ", errors);	fprintf(stderr, s, p);	fprintf(stderr, "\n");}voidzperr3(s,p,u)char *s, *p, *u;{	if (Verbose <= 0)		return;	fprintf(stderr, "Retry %d: ", errors);	fprintf(stderr, s, p, u);	fprintf(stderr, "\n");}#include "zm.c"#include "zmr.c"main(argc, argv)char *argv[];{	register char *cp;	register npats;	char **patts;	if ((cp = getenv("ZNULLS")) && *cp)		Znulls = atoi(cp);	if ((cp=getenv("SHELL")) && (substr(cp, "rsh") || substr(cp, "rksh")))		Restricted=TRUE;	inittty();	chkinvok(argv[0]);	Rxtimeout = 600;	npats=0;	if (argc<2)		usage();	while (--argc) {		cp = *++argv;		if (*cp++ == '-' && *cp) {			while ( *cp) {				if (isdigit(*cp)) {					++cp;  continue;				}				switch(*cp++) {				case '\\':					 *cp = toupper(*cp);  continue;				case '+':					Lzmanag = ZMAPND; break;				case 'a':					if (Nozmodem || Modem2)						usage();					Lzconv = ZCNL;  break;				case 'b':					Lzconv = ZCBIN; break;				case 'c':					Lzmanag = ZMCHNG;  break;				case 'd':					++Dottoslash;					/* **** FALL THROUGH TO **** */				case 'f':					Fullname=TRUE; break;		                case 'g' :					Ksendstr = TRUE; break;				case 'e':					Zctlesc = 1; break;				case 'k':					blklen=1024; break;				case 'L':					if (isdigit(*cp))						blkopt = atoi(cp);					else {						if (--argc < 1)							usage();						blkopt = atoi(*++argv);					}					if (blkopt<24 || blkopt>1024)						usage();					break;				case 'l':					if (isdigit(*cp))						Tframlen = atol(cp);					else {						if (--argc < 1)							usage();						Tframlen = atol(*++argv);					}					if (Tframlen<32 || Tframlen>65535L)						usage();					break;				case 'N':					Lzmanag = ZMNEWL;  break;				case 'n':					Lzmanag = ZMNEW;  break;				case 'o':					Wantfcs32 = FALSE; break;				case 'p':					Lzmanag = ZMPROT;  break;				case 'r':					if (Lzconv == ZCRESUM)						Lzmanag = (Lzmanag & ZMMASK) | ZMCRC;					Lzconv = ZCRESUM; break;				case 'T':					chartest(1); chartest(2);					mode(0);  exit(0);				case 'u':					++Unlinkafter; break;				case 'v':					++Verbose; break;				case 'w':					if (isdigit(*cp))						Txwindow = atoi(cp);					else {						if (--argc < 1)							usage();						Txwindow = atoi(*++argv);					}					if (Txwindow < 256)						Txwindow = 256;					Txwindow = (Txwindow/64) * 64;					Txwspac = Txwindow/4;					if (blkopt > Txwspac					 || (!blkopt && Txwspac < 1024))						blkopt = Txwspac;					break;				case 'x':					Skipbitch = 1;  break;				case 'Y':					Lskipnocor = TRUE;					/* **** FALLL THROUGH TO **** */				case 'y':					Lzmanag = ZMCLOB; break;				case 'Z':				case 'z':					Lztrans = ZTRLE;  break;				default:					usage();				}			}		}		else if (Command) {			if (argc != 1) {				usage();			}			Cmdstr = *argv;		}		else if ( !npats && argc>0) {			if (argv[0][0]) {				npats=argc;				patts=argv;			}		}	}	if (npats < 1 && !Command && !Test) 		usage();	if (Verbose) {		if (freopen(LOGFILE, "a", stderr)==NULL)			if (freopen(LOGFILE2, "a", stderr)==NULL) {				printf("Can't open log file!");				exit(2);			}		setbuf(stderr, NULL);	}	vfile("%s %s for %s tty=%s\n", Progname, VERSION, OS, Nametty);	mode(3);	if (signal(SIGINT, bibi) == SIG_IGN) {		signal(SIGINT, SIG_IGN); signal(SIGKILL, SIG_IGN);	} else {		signal(SIGINT, bibi); signal(SIGKILL, bibi);	}#ifdef SIGQUIT	signal(SIGQUIT, SIG_IGN);#endif#ifdef SIGTERM	signal(SIGTERM, bibi);#endif	countem(npats, patts);	if (!Modem2 && !Nozmodem) {		if (Ksendstr)			printf(ksendbuf);		printf("rz\r");  fflush(stdout);		stohdr(0x80L);	/* Show we can var header */		if (Command)			Txhdr[ZF0] = ZCOMMAND;		zshhdr(4, ZRQINIT, Txhdr);	}	fflush(stdout);	if (Command) {		if (getzrxinit()) {			Exitcode=1; canit();		}		else if (zsendcmd(Cmdstr, 1+strlen(Cmdstr))) {			Exitcode=1; canit();		}	} else if (wcsend(npats, patts)==ERROR) {		Exitcode=1;		canit();		sleep(20);	}	if (Skipcount) {		printf("%d file(s) skipped by receiver request\r\n", Skipcount);		if (Verbose) fprintf(stderr,		  "%d file(s) skipped by receiver request\r\n", Skipcount);	}	if (endmsg[0]) {		printf("\r\n%s: %s\r\n", Progname, endmsg);		if (Verbose)			fprintf(stderr, "%s\r\n", endmsg);	}	printf("%s %s finished.\r\n", Progname, VERSION);	fflush(stdout);	mode(0);	if(errcnt || Exitcode)		exit(1);#ifndef REGISTERED	/* Removing or disabling this code without registering is theft */	if (!Usevhdrs)  {		printf("\n\n\n**** UNREGISTERED COPY *****\r\n");		printf("\n\n\nPlease read the License Agreement in sz.doc\n");		fflush(stdout);		sleep(10);	}#endif	exit(0);	/*NOTREACHED*/}/* Say "bibi" to the receiver, try to do it cleanly */voidsaybibi(){	for (;;) {		stohdr(0L);		/* CAF Was zsbhdr - minor change */		zshhdr(4, ZFIN, Txhdr);	/*  to make debugging easier */		switch (zgethdr(Rxhdr)) {		case ZFIN:			sendline('O'); sendline('O'); flushmo();		case ZCAN:		case TIMEOUT:			return;		}	}}wcsend(argc, argp)char *argp[];{	register n;	Crcflg=FALSE;	firstsec=TRUE;	bytcnt = maxbytcnt = -1;	vfile("wcsend: argc=%d", argc);	if (Nozmodem) {		printf("Start your local YMODEM receive.     ");		fflush(stdout);	}	for (n=0; n<argc; ++n) {		Totsecs = 0;		if (wcs(argp[n])==ERROR)			return ERROR;	}	Totsecs = 0;	if (Filcnt==0) {	/* bitch if we couldn't open ANY files */		if (!Nozmodem && !Modem2) {			Command = TRUE;			Cmdstr = "echo \"sz: Can't open any requested files\"";			if (getnak()) {				Exitcode=1; canit();			}			if (!Zmodem)				canit();			else if (zsendcmd(Cmdstr, 1+strlen(Cmdstr))) {				Exitcode=1; canit();			}			Exitcode = 1; return OK;		}		canit();		sprintf(endmsg, "Can't open any requested files");		return ERROR;	}	if (Zmodem)		saybibi();	else if ( !Modem2)		wctxpn("");	return OK;}wcs(oname)char *oname;{	register c;	register char *p;	struct stat f;	char name[PATHLEN];	strcpy(name, oname);	vfile("wcs: name=%s", name);	if (Restricted) {		/* restrict pathnames to current tree or uucppublic */		if ( substr(name, "../")		 || (name[0]== '/' && strncmp(name, PUBDIR, strlen(PUBDIR))) ) {			canit();  sprintf(endmsg,"Security Violation");			return ERROR;		}	}#ifdef TXBSIZE	if ( !strcmp(name, "-")) {		if ((p = getenv("ONAME")) && *p)			strcpy(name, p);		else			sprintf(name, "s%d.sz", getpid());		in = stdin;	}	else#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级.com| 久久99精品国产| 国产一区二区三区观看| 欧美亚洲日本国产| 中文字幕视频一区二区三区久| 亚洲电影你懂得| av在线不卡免费看| 亚洲精品一区二区三区蜜桃下载| 亚洲成a天堂v人片| 色婷婷国产精品综合在线观看| 国产亲近乱来精品视频| 韩国在线一区二区| 欧美一区二区在线视频| 夜夜嗨av一区二区三区中文字幕| 国产98色在线|日韩| 久久伊人蜜桃av一区二区| 五月婷婷久久综合| 777亚洲妇女| 日韩黄色免费电影| 欧美久久久影院| 亚洲一区在线观看免费观看电影高清| bt7086福利一区国产| 久久久噜噜噜久噜久久综合| 美日韩黄色大片| 欧美一区二区三区啪啪| 午夜影院久久久| 欧美区一区二区三区| 性做久久久久久免费观看欧美| 色综合久久久久综合99| 亚洲欧美日韩在线| 91黄色在线观看| 亚洲国产三级在线| 欧美亚洲国产一卡| 午夜精品久久久久久久99水蜜桃| 欧美日韩极品在线观看一区| 性做久久久久久| 777a∨成人精品桃花网| 免费在线观看不卡| 久久精品一区八戒影视| 国产91精品入口| 亚洲丝袜美腿综合| 欧美性猛片xxxx免费看久爱| 亚洲妇女屁股眼交7| 91精品国产综合久久福利软件| 免费精品视频在线| 欧美国产精品一区| 色噜噜夜夜夜综合网| 亚洲成人精品影院| 欧美一区二区三区免费观看视频 | 555www色欧美视频| 偷拍一区二区三区| 久久久午夜电影| 99精品一区二区三区| 亚洲成av人影院| 欧美电视剧免费全集观看| 国产不卡在线视频| 亚洲精品亚洲人成人网| 欧美电影在哪看比较好| 国产一区二区三区在线观看免费视频| 国产亚洲精久久久久久| 欧美日韩中文字幕一区二区| 国产真实乱对白精彩久久| 国产精品久久综合| 欧美一区二区三区视频免费| 国产成都精品91一区二区三| 亚洲成人先锋电影| 久久看人人爽人人| 欧美日韩精品是欧美日韩精品| 免费av成人在线| 中文字幕免费不卡| 欧美日韩国产成人在线免费| 国产精品 欧美精品| 亚洲123区在线观看| 中文字幕欧美国产| 欧美精品日韩综合在线| 91原创在线视频| 久久成人免费网| 一个色妞综合视频在线观看| 久久久久亚洲综合| 国产精品视频线看| 制服丝袜亚洲色图| 99久久精品久久久久久清纯| 精品中文字幕一区二区小辣椒| 亚洲乱码中文字幕| 国产视频一区在线观看| 91精品国产综合久久婷婷香蕉| 一本一道久久a久久精品综合蜜臀| 精品一区二区三区香蕉蜜桃| 偷拍日韩校园综合在线| 亚洲精品自拍动漫在线| 国产精品区一区二区三区| 欧美一区二区精品| 欧美日韩国产在线观看| 色婷婷亚洲婷婷| 91在线看国产| 国产99久久久国产精品潘金| 久久成人免费日本黄色| 强制捆绑调教一区二区| 丝瓜av网站精品一区二区| 亚洲欧洲综合另类在线| 亚洲视频网在线直播| 国产精品毛片久久久久久| 精品国产污污免费网站入口| 538prom精品视频线放| 欧美肥大bbwbbw高潮| 欧美日韩国产美女| 欧美美女一区二区在线观看| 欧美伊人久久久久久午夜久久久久| 99久久久久久| 99久久婷婷国产综合精品| voyeur盗摄精品| 99久久99精品久久久久久| 99国产精品久久久久久久久久久| 成人综合婷婷国产精品久久免费| 国产精品一区免费视频| 国产一区二区三区在线看麻豆| 国产一区视频网站| 久久99最新地址| 国产成人精品免费网站| av午夜精品一区二区三区| av在线这里只有精品| 色综合色狠狠天天综合色| 在线观看亚洲成人| 欧美日韩大陆一区二区| 欧美一区二区大片| 精品国产露脸精彩对白 | 爽爽淫人综合网网站| 亚洲成av人片| 麻豆精品久久精品色综合| 国产主播一区二区三区| 北岛玲一区二区三区四区| 色哟哟一区二区三区| 欧美精品1区2区3区| 精品国产乱码久久久久久1区2区 | 一区二区三区四区在线免费观看| 亚洲男帅同性gay1069| 亚洲福利视频一区二区| 九色综合狠狠综合久久| 成人一区二区三区视频| 欧美日韩精品一区二区三区蜜桃 | 亚洲第一电影网| 蜜桃久久精品一区二区| 国产**成人网毛片九色| 99精品久久只有精品| 欧美日本一道本在线视频| 精品成人一区二区三区| 亚洲视频中文字幕| 另类小说欧美激情| 91麻豆精品秘密| 欧美一区二区视频网站| 国产精品久久久爽爽爽麻豆色哟哟| 夜夜爽夜夜爽精品视频| 国产乱理伦片在线观看夜一区| www.色综合.com| 日韩免费观看高清完整版| 综合激情成人伊人| 美女精品自拍一二三四| 一本大道av一区二区在线播放| 欧美日韩aaaaa| ㊣最新国产の精品bt伙计久久| 日韩精品国产精品| 99re成人在线| 久久久久综合网| 奇米精品一区二区三区四区 | 欧美videos大乳护士334| 国产精品乱码久久久久久| 日韩不卡一区二区| 99re66热这里只有精品3直播| 日韩一区二区视频| 亚洲色图都市小说| 国产毛片一区二区| 欧美精品视频www在线观看| 亚洲色图制服诱惑 | 国产成人精品免费网站| 91精品欧美久久久久久动漫 | 亚洲色图一区二区三区| 极品美女销魂一区二区三区| 欧美日韩精品欧美日韩精品一综合| 国产精品视频在线看| 国产精品自拍网站| 欧美成人精品福利| 日产欧产美韩系列久久99| 欧美影院一区二区| 亚洲丝袜另类动漫二区| 成人免费看的视频| 亚洲国产精品精华液2区45| 国产原创一区二区三区| 精品av综合导航| 极品少妇一区二区| 精品久久久久久久久久久久包黑料| 亚洲成人精品一区二区| 欧美在线视频全部完| 一区二区三区精品在线| 91福利视频网站| 亚洲国产美女搞黄色| 欧美亚男人的天堂| 一区二区三区成人| 欧美性猛交xxxx黑人交| 香蕉影视欧美成人| 欧美日韩www|