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

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

?? zmodem.h

?? 本source code 為s3c4510的bootloader
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*	$Id: zmodem.h,v 1.2 2001/10/25 23:56:29 efalk Exp $	*/#ifndef	ZMODEM_H#define	ZMODEM_H/* Master header file for Zmodem protocol driver routines */#if	0These routines are intended to be incorportated into other programs,and do not constitute a zmodem program by themselves, although ademo zmodem program that uses these routines has been included.All information pertaining to a transfer session is kept in a datastructure defined by the caller.  This makes it possible for thecaller to drive multiple simultaneous sessions.Caller provides I/O, timing and query routines.  Caller remainsin control at all times.  Typical use is to call these routinesfrom a select(2) loop.Overview:Transmit files:1 Init ZModem structure and open communications channel.2 Call ZmTInit() to begin protocol.3 Read characters from remote end and pass them to  ZmRcv() until ZmRcv() returns ZmDone or an error.4 Call ZmTFile() to begin transfer of a file.5 Read characters from remote end and pass them to  ZmRcv() until ZmRcv() returns ZmDone or an error.6 repeat steps 4&5 for all files.7 Call ZmTFinish() to indicate that all files have been  transfered.8 Read characters from remote end and pass them to  ZmRcv() until ZmRcv() returns ZmDone or an error.Receive files:1 Init ZModem structure and open communications channel.2 Call ZmRInit() to begin protocol.3 Read characters from remote end and pass them to  ZmRcv() until ZmRcv() returns ZmDone or an error.In detail:   1) Create a ZModem structure as defined below and fill it in.      'ifd', 'ofd' are the file descriptors used for input and output.	The interpretation of ifd and ofd is entirely up to the calling	routines, since the caller will be providing I/O functions.      'zrinitflags' is composed of the flags described below.	They describe the receive channel capabilities	and affect how the protocol will be carried out.	Define these to receive files.  When sending files, these	flags will be defined from the remote end.      'zsinitflags' is composed of the flags described below.	They describe the transmit channel capabilities	and affect how the protocol will be carried out.	Define these to send files.  When receiving files, these	flags will be defined from the remote end.      'attn': For transmit, this is the optional nul-terminated	attention string to be sent by the receiver to interrupt the	transmission.  For example, it might simply contain ^O to flush	the buffers, or it might interrupt the sending program.  Caller	needs to handle this interrupt properly and call ZmAttention().	For receive, this is the optional nul-terminated attention string	defined at the remote end.  Caller needs to provide a function that	can execute this sequence.      'timeout' is read-only, set by the zmodem package.  It is the	timeout value in seconds.  If this much time passes without	anything being received, caller should call the ZmTimeout()	function.  Note that timeout may be zero, in which case the	ZTimeout function should be called immediately if no characters	are ready to be received.      'packetsize' is set to the preferred data packet size.  Define	this when sending files.  Recommended length values are 256	bytes below 2400 bps, 512 at 2400 bps, and 1024 above 4800 bps	or when the data link is known to be relatively error free.	Ignored during receive.      'bufsize' is set to the size of the receive buffer size.  Define	this when receiving files.  When sending files, this will be	defined at the other end.      'windowsize' is used to prevent network connections from	buffering too many characters during transmit.  Setting	'windowsize' to nonzero causes zmodem to request status reports	from the receiver during transmit, and to pause if more than	this many bytes have been sent but not yet acknowledged.  Set	to zero to turn off windowing.  Ignored during receive.      Other fields are used to track the internal state of the zmodem      driver functions.     Since this is a source package, you are, of course, free to extend     the ZModem structure as you see fit.   2) Define the following functions:	int	ZXmitStr(u_char *str, int len, ZModem *info)		Transmit a buffer.  Return 0 on success, ZmErrSys on error.	void	ZIFlush(ZModem *info)		Flush all unread input on receive channel.  Do nothing if		this is not possible.	void	ZOFlush(ZModem *info)		Flush all buffered but not-yet-transmitted output		on transmit channel.  Do nothing if this is not possible.	int	ZAttn(ZModem *info)		Send attention signal defined in ZModem->attn.  Do		nothing if this field is NULL.  Otherwise, this field		is a nul-terminated character string to be		transmitted.  There are two special characters defined		below: ATTNBRK (0335) indicates that a BREAK signal		should be sent, and ATTNPSE (0336) represents a		1-second pause.	void	ZFlowControl(int onoff, ZModem *info)		Turn flow control on or off depending on the onoff flag.	void	ZStatus(int type, int value, char *status)		Called to provide status information.  Ignore or display		at your option.  Status string is not static, so copy		it if you need it beyond this call.  Type is defined		below under "ZStatus() types".	void *	ZOpenFile(char *name, u_long crc, ZModem *info, int write)		Called when receiving files, this function decides		whether or not to accept the specified file, and		if so, opens it for writing and returns the stdio		file handle.  If this function decides not to accept		the file, or cannot open the file, it returns NULL		and the remote sender is told to skip this file.		info->f0-f3 are the transfer flags, described below under		"ZFILE transfer flags".  These describe the type of		transfer desired (binary/ascii), and conditions for the		transfer, such as 'transfer if source newer or longer'.		info->len is the length of the file in bytes.  info->date is		the last modification date of the file, in seconds since		1-jan-1970.  info->mode is the unix file mode + 01000000, or		zero if not known.  info->filesRem and info->bytesRem are the		number of files and bytes remaining to be transferred		if known, zero otherwise.  'crc' is the file crc-32 value.		This is only provided if F1 contains ZMCRC.	int	ZWriteFile(u_char *buffer, int len, void *file, ZModem *info)		Write a buffer of data to the file.  Normally, you would		simply call fwrite(buffer, 1, len, file), but you may		want to translate line endings, etc.  File transfer		flags are available as info->f0,f1,f2,f3.		Return 0 on success, ZmErrSys on failure, with errno		describing the failure.	int	ZCloseFile(ZModem *info)		Close file after successful completion.  File modification		date and modes should be set at this time.		void	ZIdleStr(u_char *buffer, int len, ZModem *info)		Called to pass text that is received out-of-protocol.		This function may ignore or display this text at your		option.  3) Open the communications channel.	If possible, this should be a full-duplex channel with full	8-bit transmission.  Hardware flow control and/or XON/XOFF	flow control should be enabled.  4) Call these routines:	All functions return 0 on success, nonzero on failure.  See	"error code definitions", below.    Send:	int	ZmTInit(ZModem *info)		Begin a Zmodem transmit session.	int	ZmRcv(u_char *buffer, int len, ZModem *info)		Call whenever characters are received.  If this function		returns ZmDone, previous function has completed successfully,		either call ZmTFile() to start next file, or call		ZmTFinish() to terminate the session.	int	ZmTimeout(ZModem *info)		Call whenever the timeout period expires and no		characters have been received.	int	ZmAttention(ZModem *info)		Call whenever the attention sequence has been received		from the remote end.  It is safe to call this function		from an interrupt handler.	int	ZmTFile(char *filename, char *rfilename, 	  u_char f0,f1,f2,f3, int filesRem, int bytesRem, ZModem *info)		Begin transmitting a file.  If filename is not NULL,		then this function will open it.  Otherwise, info->file		must point to a stdio stream that is open for input.		It is preferable to provide the filename, so that		Zmodem can transmit file size and other information.		'rfilename' is the filename given to the remote end.		This may be the same as filename, the file part of		filename, or something else alltogether.  'rfilename'		must not be longer than the smallest data packet the		remote end might be willing to receive (about 200		characters).  f0-f3 are transfer flags, see "ZCBIN"		below.  'filesRem' and 'bytesRem' are the number of files		and bytes remaining to be transmitted, if known; zero if		not.		If 'filename' cannot be accessed, ZmTFile() returns		ZmErrCantOpen.  The link is still established, so you		need to either proceed with the next file or call		ZmTFinish().	int	ZmTFinish(ZModem *info)		Call after final file transfer has completed successfully.	int	ZmAbort(ZModem *info)		Call to abort transfer.  Physical connection remains		open until you close it.    Receive:	int	ZmRInit(ZModem *info)		Call to get ready to receive first file.  This function		will inform the sender that we are ready to receive.	int	ZmRcv(u_char *buffer, int len, ZModem *info)		Call whenever characters are received.  If this		function returns ZmDone, all file transfers have		completed successfully.	int	ZmTimeout(ZModem *info)		Call whenever the timeout period expires and no		characters have been received.	int	ZmAbort(ZModem *info)		Call to abort transfer.    Ymodem and Xmodem:	int YmodemTInit(ZModem *info)	int XmodemTInit(ZModem *info)	int YmodemRInit(ZModem *info)	int XmodemRInit(ZModem *info)		Same semantics as ZmTInit and ZmRInit.  It is		not normally necessary to call the Ymodem*Init() functions		as the Zmodem protocol will automatically switch to Ymodem		when needed.    Utility:	u_long	FileCrc(char *name)		Return CRC-32 of file.  5) Return Values:	ZmDone		Done.  Proceed with next file or ZmTFinish			(transmit) or exit (receive).	ZmErrInt	Internal error.  Link has been closed.	ZmErrSys	System error, see errno.  Link is closed.	ZmErrNotOpen	not used.	ZmFileTooLong	not used.	ZmFileCantWrite	not used.	ZmErrCantOpen	Can not open file, see errno.  Link is still open.	ZmErrInitTo	Transmitter failed to respond to init req.  Link closed.	ZmErrSequence	Packet received out of sequence.  Link is closed.	ZmErrCancel	Cancelled by remote end.  Link is closed.	ZmErrRcvTo	Remote end timed out during transfer.  Link is closed.	ZmErrSndTo	Remote end timed out during transfer.  Link is closed.	ZmErrCmdTo	Remote end timed out during transfer.  Link is closed.	Note that "link is closed" means that the remote end is (presumably)	no longer operating.  The actual communications channel is not	closed unless you close it.  "Link is still open" means that the	remote end is still ready to receive the next file.#endif	/* PARAMETERS	 *	 * The following #defines control the behavior of the Zmodem	 * package.  Note that these may be replaced with variables	 * if you like.  For example, "#define DoInitRZ" may be replaced	 * with "extern int DoInitRz" to use a global variable, or with	 * "#define DoInitRZ (info->doInitRz)" to use a variable you	 * add to the ZModem structure.	 *	 * It is assumed that the compiler is good enough to optimize	 * "if( 0 )" and "if( 1 )" cases.  If not, you may wish to modify	 * the source code to use #ifdef instead.	 */#define	DoInitRZ	1	/* send initial "rz\r" when transmitting */#define	AllowCommand	0	/* allow remote end to execute commands */#define	SendSample	1	/* sender can sample reverse channel */#define	SendAttn	1	/* sender can be interrupted with Attn signal */#define	ResponseTime	10	/* reasonable response time for sender to				 * respond to requests from receiver */#define	SerialNo	1	/* receiver serial # */#define	MaxNoise	64	/* max "noise" characters before transmission				 * pauses */#define	MaxErrs	  1000000	/* Max receive errors before cancel *//* original value equal 20 */#define	AlwaysSinit	1	/* always send ZSINIT header, even if not				 * needed, this makes protocol more robust */#define SendOnly	0	/* compiles smaller version for send only */#define RcvOnly		0	/* compiles smaller version for receive only */	/* Internal State */typedef enum zmstate {  /* receive */  RStart,			/* sent RINIT, waiting for ZFILE or SINIT */  RSinitWait,			/* got SINIT, waiting for data */  RFileName,			/* got ZFILE, waiting for filename & info */  RCrc,				/* got filename, want crc too */  RFile,			/* got filename, ready to read */  RData,			/* reading data */  RDataErr,			/* encountered error, ignoring input */  RFinish,			/* sent ZFIN, waiting for 'OO' */  /* transmit */  TStart,			/* waiting for INIT frame from other end */  TInit,			/* received INIT, sent INIT, waiting for ZACK */  FileWait,			/* sent file header, waiting for ZRPOS */  CrcWait,			/* sent file crc, waiting for ZRPOS */  Sending,			/* sending data subpackets, ready for int */  SendWait,			/* waiting for ZACK */  SendDone,			/* file finished, need to send EOF */  SendEof,			/* sent EOF, waiting for ZACK */  TFinish,			/* sent ZFIN, waiting for ZFIN */  /* general */  CommandData,			/* waiting for command data */  CommandWait,			/* waiting for command to execute */  StderrData,			/* waiting for stderr data */  Done,  /* x/ymodem transmit */  YTStart,			/* waiting for 'G', 'C' or NAK */  YTFile,			/* sent filename, waiting for ACK */  YTDataWait,			/* ready to send data, waiting for 'C' */  YTData,			/* sent data, waiting for ACK */  YTEOF,			/* sent eof, waiting for ACK */  YTFin,			/* sent null filename, waiting for ACK */  /* x/ymodem receive */  YRStart,			/* sent 'C', waiting for filename */  YRDataWait,			/* received filename, waiting for data */  YRData,			/* receiving filename or data */  YREOF				/* received first EOT, waiting for 2nd */} ZMState ;typedef enum zminputstate{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩制服丝袜av| 欧美色图第一页| 色一情一乱一乱一91av| 欧美一级久久久久久久大片| 中文字幕第一区二区| 日韩国产高清在线| 色狠狠综合天天综合综合| 精品国产免费久久| 全国精品久久少妇| 91黄色免费看| 亚洲视频网在线直播| 国产一二三精品| 日韩免费看的电影| 亚洲成av人片一区二区梦乃 | 在线观看www91| 日本一区免费视频| 国产尤物一区二区在线| 777色狠狠一区二区三区| 亚洲品质自拍视频| 不卡的电影网站| 国产欧美精品一区二区色综合朱莉 | 成人综合在线观看| 久久午夜羞羞影院免费观看| 日韩成人伦理电影在线观看| 91久久线看在观草草青青| 国产精品色婷婷| 高清国产一区二区| 国产日韩欧美高清| 国产不卡在线一区| 国产色一区二区| 国产suv精品一区二区883| 2021国产精品久久精品| 国产一区二区免费视频| 日韩精品一区在线观看| 老司机精品视频在线| 欧美一区二区三区四区高清| 日韩成人伦理电影在线观看| 91麻豆精品国产自产在线| 日本麻豆一区二区三区视频| 欧美一卡二卡三卡四卡| 开心九九激情九九欧美日韩精美视频电影| 欧美精品乱人伦久久久久久| 婷婷成人综合网| 日韩欧美精品在线| 国产伦精一区二区三区| 国产欧美精品一区aⅴ影院| 国产69精品久久久久毛片| 国产精品成人网| 欧美综合在线视频| 日本不卡一二三| 欧美精品一区二| 欧美不卡视频一区| 国产一区不卡在线| 亚洲丝袜精品丝袜在线| 在线观看亚洲精品视频| 免费久久99精品国产| 久久午夜羞羞影院免费观看| 91在线观看成人| 亚洲va韩国va欧美va精品| 精品久久国产字幕高潮| www.久久精品| 午夜成人免费视频| 国产欧美视频在线观看| 91搞黄在线观看| 激情久久久久久久久久久久久久久久| 国产欧美一区二区精品久导航 | 日本系列欧美系列| 国产清纯白嫩初高生在线观看91 | 国产成人精品亚洲777人妖| 亚洲三级久久久| 欧美一区二区成人6969| av激情综合网| 免费欧美高清视频| 亚洲色图欧美激情| 日韩视频一区二区三区在线播放 | 亚洲欧美日韩在线不卡| 日韩小视频在线观看专区| 丁香婷婷综合激情五月色| 亚洲高清一区二区三区| 久久九九久久九九| 欧美欧美午夜aⅴ在线观看| 国产91在线观看| 日韩激情一二三区| 亚洲美腿欧美偷拍| 国产日韩在线不卡| 7777精品伊人久久久大香线蕉超级流畅| 国产一区激情在线| 日韩中文字幕区一区有砖一区 | 国产亚洲一二三区| 欧美日本免费一区二区三区| 成a人片国产精品| 黄色资源网久久资源365| 午夜精品福利视频网站| 综合久久久久久久| 国产网红主播福利一区二区| 91精品国产免费| 欧美在线观看视频在线| 成人av网站在线观看免费| 韩国在线一区二区| 日本午夜一本久久久综合| 亚洲二区在线观看| 亚洲激情一二三区| 中文字幕一区二区三区乱码在线| 日韩精品在线看片z| 337p亚洲精品色噜噜| 欧美伊人久久大香线蕉综合69| 成人免费高清视频| 国产精品亚洲第一区在线暖暖韩国| 日本大胆欧美人术艺术动态| 亚洲一区二区美女| 亚洲伊人伊色伊影伊综合网| 成人欧美一区二区三区黑人麻豆| 国产区在线观看成人精品| 久久久久国色av免费看影院| 亚洲精品一区二区三区四区高清| 欧美一区中文字幕| 日韩免费一区二区三区在线播放| 69堂国产成人免费视频| 91麻豆精品国产91久久久更新时间| 欧美日韩专区在线| 欧美一级视频精品观看| 日韩久久免费av| 久久综合色8888| 国产欧美精品日韩区二区麻豆天美| 久久久www成人免费毛片麻豆| 国产色综合一区| 亚洲视频一区二区在线观看| 亚洲精品乱码久久久久久| 亚洲线精品一区二区三区八戒| 亚洲一区二区av电影| 午夜欧美视频在线观看 | 亚洲国产成人av| 免费欧美在线视频| 国产精品综合一区二区三区| 春色校园综合激情亚洲| 99久精品国产| 欧美三级视频在线播放| 欧美色成人综合| 精品少妇一区二区三区免费观看| 久久免费国产精品| 国产精品久久久久久亚洲伦| 亚洲欧洲成人自拍| 亚洲大片免费看| 久久成人综合网| heyzo一本久久综合| 欧美无乱码久久久免费午夜一区| 欧美高清视频不卡网| 久久亚洲影视婷婷| 一区二区三区在线免费| 日本不卡一二三| 99视频有精品| 日韩午夜精品视频| 成人免费在线观看入口| 免费人成在线不卡| 91亚洲精华国产精华精华液| 欧美一区二区三区日韩| 亚洲三级电影全部在线观看高清| 日韩激情一二三区| 99久久精品免费观看| 日韩欧美亚洲国产另类| ...av二区三区久久精品| 久久成人免费电影| 在线看国产一区| 国产欧美一区二区三区在线看蜜臀 | 91黄色激情网站| 久久精品一级爱片| 日韩精品国产欧美| 99r国产精品| 久久久精品影视| 日韩黄色免费电影| 欧美亚洲丝袜传媒另类| 国产精品欧美久久久久无广告| 免费在线看一区| 欧美日韩在线三区| 亚洲男女一区二区三区| 成人黄色在线看| 久久久亚洲午夜电影| 蜜臀久久久久久久| 欧美人牲a欧美精品| 亚洲欧美日韩在线| 99re视频这里只有精品| 国产午夜亚洲精品午夜鲁丝片| 免费成人性网站| 欧美人体做爰大胆视频| 亚洲一区二区三区精品在线| 不卡电影一区二区三区| 欧美激情综合五月色丁香 | 91麻豆精品在线观看| 日本一区二区免费在线观看视频| 久久疯狂做爰流白浆xx| 日韩一区二区三区在线| 日韩成人一级片| 8x8x8国产精品| 亚洲国产成人tv| 56国语精品自产拍在线观看| 亚洲高清免费一级二级三级| 欧美性受xxxx黑人xyx性爽| 亚洲精品中文在线观看| 91高清在线观看| 亚洲五码中文字幕|