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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? tcp_ip.h

?? 在freescale 的ne64上開(kāi)發(fā)的源代碼
?? H
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
									 *	 SYN packet or response to SYN that
									 *	 we have previously sent)
									 */
#define	TCP_STATE_SYN_SENT		6	/**< SYN packet sent as an attempt
									 *	 to establish a connection
									 */
#define TCP_STATE_FINW1			7	/**< User issued tcp_close request
									 *	 issued so FIN packet was sent
									 */
#define	TCP_STATE_FINW2			8	/**< Received ACK of our FIN, now
									 *	 waiting for other side to send
									 *	 FIN
									 */
#define TCP_STATE_CLOSING		9	/**< Received FIN independently of
									 *	 our FIN
									 */
#define	TCP_STATE_LAST_ACK		10	/**< Waiting for last ACK packet as a
									 *	 response to our FIN
									 */
#define TCP_STATE_TIMED_WAIT	11	/**< Waiting for 2MSL to prevent
									 *	 erroneous connection duplication
									 */
#define	TCP_STATE_CONNECTED		12	/**< Connection established and data
									 *	 flowing freely to both sides :-)
									 */



/* TCP callback events			*/

/** \def TCP_EVENT_CONREQ
 *	\brief Connection request event
 *
 *	Connection request event is notified to TCP server applications'
 *	event listener when SYN packet is received for it's socket. Event
 *	listener can then, if it wants to, inspect IP addres and port number
 *	of the remote host, or some other internal parameters, to decide
 *	whether it should allow connection establishment or not. One of the
 *	following values must then be returned from the event listener:
 *		\li -1 - do not allow connection to be established. RST packet will
 *		be sent to remote host.
 *		\li	-2 - do not respond to this particular SYN packet (keep quiet).
 *		This may be used if device is somehow busy and not yet ready to
 *		establish a connection, but doesn't wan't to forcefully reject the
 *		connection with a RST packet.
 *		\li 1 - allow connection to be established
 */
#define TCP_EVENT_CONREQ		1

/** \def TCP_EVENT_CONNECTED
 *	\brief Connection established event
 *
 *	Applications' event listener is informed by this event that
 *	connection is established and that it may start sending/receiving
 *	data.
 */

#define TCP_EVENT_CONNECTED		2

/** \def TCP_EVENT_CLOSE
 *	\brief Connection closed event
 *
 *	TCP connection was properly closed (either by calling tcp_close() by
 *	application or remote host initialized closing sequence).
 */
#define TCP_EVENT_CLOSE			4

/** \def TCP_EVENT_ABORT
 *	\brief Connection aborted event
 *
 *	Connection is, for some reason, aborted. This can happen for a number
 *	of reasons:
 *		\li Data retransmissions performed sufficient number of times but
 *		no acknowledgment was received
 *		\li No response for some time to keep-alive packets
 *		\li Remote host forcefully closed the connection for some reason
 *		\li Application invoked tcp_abort() function
 */
#define TCP_EVENT_ABORT			8

/** \def TCP_EVENT_ACK
 *	\brief Data acknowledged event
 *
 *	TCP/IP stack has received correct acknowledgment packet for the
 *	previously sent data and is informing the application about it.
 *	After this event, application can send new data packet to remote
 *	host.
 */
#define TCP_EVENT_ACK			16

/** \def TCP_EVENT_REGENERATE
 *	\brief Regenerate data event
 *
 *	Previously sent data packet was not acknowledged (or the acknowledgment
 *	packet did not arrive) so retransmission needs to be peformed.
 *	Application must resend the data that was sent in the previous packet.
 */
#define TCP_EVENT_REGENERATE	32

/** \def TCP_EVENT_DATA
 *	\brief Data arrival event
 *
 *	TCP received some data from remote host and is informing application
 *	that it is available for reading from the Ethernet controller.
 */
#define	TCP_EVENT_DATA			64



/* TCP and UDP buffer handling			*/

/** \def TCP_APP_OFFSET
 *	\brief Transmit buffer offset for TCP applications
 *
 *  This value defines offset that TCP applications must use when
 *	writing to transmit buffer. This many bytes will be used
 *	<b>before</b> the first byte of applications data in the
 *	transmit buffer to store TCP header.
 */
#define TCP_APP_OFFSET			MIN_TCP_HLEN		/* Application buffers must have 	*/
													/* this much free on start of buf	*/

/** \def UDP_APP_OFFSET
 *	\brief Transmit buffer offset for UDP applications
 *
 *  This value defines offset that UDP applications must use when
 *	writing to transmit buffer. This many bytes will be used
 *	<b>before</b> the first byte of applications data in the
 *	transmit buffer to store UDP header.
 */

#define UDP_APP_OFFSET			UDP_HLEN



/* UDP Structures			*/

/** \struct udp_frame
 *	\brief UDP header information
 *
 *	This structures' fields are used to hold information about the headers
 *	of the received UDP packet.
 *
 *	In addition to standard UDP header fields, buf_index field
 *	has been added allowing applications to re-read the received data many
 *	times by reinitializing reading based on the address stored in this
 *	field.
 */
struct udp_frame
{
	UINT16 sport;		/**< Source port					*/
	UINT16 dport;		/**< Destination port				*/
	UINT16 tlen;		/**< total len (UDP part)			*/
	UINT16 checksum;	/**< UDP checksum					*/
	UINT16 buf_index;	/**< Data offsett from the start
						 * 	 of network buffer
						 */
};

/** \struct ucb
 *	\brief UDP control block
 *
 *	This structure holds various fields used to keep track of UDP socket
 *	states, settings and event listener function.
 *
 */
struct ucb
{
	/** \brief State of socket entry
	 *
	 *	This variable holds state of a particular UDP socket entry
	 *	in the UDP socket table. Following values are possible:
	 *		\li UDP_STATE_FREE
	 *		\li UDP_STATE_CLOSED
	 *		\li UDP_STATE_OPENED
	 */
	UINT8 	state;

	/** \brief Type of service allocated for a socket
	 *
	 *	For now no services implemented so this value
	 *	is not important.
	 */
	UINT8	tos;

	UINT16	locport;	/**< Local UDP port of Socket		*/

	/** \brief Socket options
	 *
	 *	Currently, this holds information about checksum calculation
	 *	options. Can be one of the following:
	 *		\li	UDP_OPT_NONE - cheksum calculation not performed
	 *		\li UDP_OPT_SEND_CS - checksum is calculated for outgoing
	 *		UDP packets
	 *		\li UDP_OPT_CHECK_CS - checksum is checked for incoming
	 *		UDP packets
	 *		\li UDP_OPT_SEND_CS | UDP_OPT_CHECK_CS - both checksum
	 *		calculations are enabled
	 */
	UINT8	opts;

	/** \brief UDP socket application event listener
	 *
	 *	Pointer to a event listener - a callback function used
	 *	by TCP/IP stack to notify application about certain events.
	 */
	INT32 	(*event_listener)
			(INT8, UINT8, UINT32, UINT16, UINT16, UINT16 );
};



/* TCP Structures			*/

/** \struct tcp_frame
 *	\brief TCP header information
 *
 *	This structure holds header fields from the received TCP packet.
 *
 *	In addition to standard header fields, buf_index field
 *	has been added allowing applications to re-read the received data many
 *	times by reinitializing reading based on the address stored in this
 *	field.
 */
struct tcp_frame
{
	UINT16	sport;						/**< Source port					*/
	UINT16	dport;						/**< Destination port				*/
	UINT32	seqno;						/**< Sequence number				*/
	UINT32	ackno;						/**< Acknowledgement number		*/
	UINT16	hlen_flags;					/**< Header length and flags		*/
	UINT16 	window;						/**< Size of window				*/
	UINT16 	checksum;					/**< TCP packet checksum			*/
	UINT16 	urgent;						/**< Urgent pointer				*/
	UINT8	opt[MAX_TCP_OPTLEN + 1];	/**< Option field					*/
	UINT16	buf_index;					/**< Next offset from the start of
										 *   network buffer
										 */
};

/** \struct tcb
 *	\brief TCP transmission control block
 *
 *	This structure holds various fields used to keep track of TCP socket
 *	states, settings and event listener function. It is needed to ensure
 *	proper operation of TCP state machine and TCP connections based on it.
 *
 *
 */
struct tcb
{
	/** \brief State of the TCP socket [entry]
	 *
	 *	This variable holds information used by the OpenTCP to manage
	 *	sockets as well as information needed to manage TCP connection.
	 *	Possible values are:
	 *		\li TCP_STATE_FREE
	 *		\li TCP_STATE_RESERVED
	 *		\li TCP_STATE_CLOSED
	 *		\li TCP_STATE_LISTENING
	 *		\li TCP_STATE_SYN_RECEIVED
	 *		\li TCP_STATE_SYN_SENT
	 *		\li TCP_STATE_FINW1
	 *		\li TCP_STATE_FINW2
	 *		\li TCP_STATE_CLOSING
	 *		\li TCP_STATE_LAST_ACK
	 *		\li TCP_STATE_TIMED_WAIT
	 *		\li TCP_STATE_CONNECTED
	 */
	UINT8	state;

	/** \brief type of the TCP socket
	 *
	 *	Defines type of the TCP socket allocated. This determines
	 *	how connection is established/closed in some cases.
	 *	Possible values are:
	 *		\li TCP_TYPE_NONE
	 *		\li TCP_TYPE_SERVER
	 *		\li TCP_TYPE_CLIENT
	 *		\li TCP_TYPE_CLIENT_SERVER
	 */
	UINT8	type;
	UINT8	flags;						/**< State machine flags			*/
	UINT32	rem_ip;						/**< Remote IP address			*/
	UINT16	remport;					/**< Remote TCP port				*/
	UINT16	locport;					/**< Local TCP port				*/
	UINT32 	send_unacked;
	UINT8	myflags;					/**< My flags to be Txed			*/
	UINT32	send_next;
	UINT16 	send_mtu;
	UINT16	tout;						/**< Socket idle timeout (seconds)*/
	UINT8	tos;						/**< Type of service allocated */
	UINT32	receive_next;
	UINT16	persist_timerh;				/**< Persistent timers' handle */
	UINT16	retransmit_timerh;			/**< Retransmission timers' handle */
	UINT8	retries_left;				/**< Number of retries left before
										 *	 aborting
										 */

	/** \brief TCP socket application event listener
	 *
	 *	Pointer to an event listener - a callback function used
	 *	by TCP/IP stack to notify application about certain events.
	 */
	INT32 	(*event_listener)(INT8, UINT8, UINT32, UINT32);
};

/* ICMP function prototypes	*/
	INT16 process_icmp_in(struct ip_frame*, UINT16);







/* UDP Function prototypes */
INT8 udp_init (void);
INT8 udp_getsocket (UINT8 , INT32 (* )(INT8, UINT8, UINT32, UINT16, UINT16, UINT16), UINT8 );
INT8 udp_releasesocket (INT8 );
INT8 udp_open (INT8 , UINT16 );
INT8 udp_close (INT8 );
INT16 udp_send (INT8 , UINT32 , UINT16 , UINT8* , UINT16 , UINT16 );
INT16 process_udp_in(struct ip_frame* , UINT16 );
UINT16 udp_getfreeport(void);

/*	TCP Function prototypes	*/

INT16 process_tcp_in(struct ip_frame*, UINT16);
INT16 process_tcp_out(INT8, UINT8*, UINT16, UINT16);
INT8 tcp_init(void);
INT8 tcp_listen(INT8, UINT16);
INT8 tcp_mapsocket(struct ip_frame*, struct tcp_frame*);
UINT8 tcp_check_cs(struct ip_frame*, UINT16);
void tcp_sendcontrol(INT8);
UINT32 tcp_initseq(void);
void tcp_poll(void);
void tcp_newstate(struct tcb*, UINT8);
INT8 tcp_getsocket(UINT8, UINT8, UINT16, INT32 (*)(INT8, UINT8, UINT32, UINT32) );

INT8 tcp_releasesocket(INT8);
INT8 tcp_connect (INT8 sochandle, UINT32 ip, UINT16 rport, UINT16 myport );
INT16 tcp_send(INT8, UINT8*, UINT16, UINT16);
INT8 tcp_close(INT8);
void tcp_sendreset(struct tcp_frame*, UINT32);
INT8 tcp_getstate(INT8);
UINT16 tcp_getfreeport(void);
INT16 tcp_checksend(INT8);
INT8 tcp_abort(INT8);



#endif


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久天天做天天爱综合色| 国产高清不卡一区二区| 粉嫩在线一区二区三区视频| 天天综合网 天天综合色| 亚洲最新视频在线观看| 亚洲欧美国产毛片在线| 一区二区三区 在线观看视频| 亚洲同性gay激情无套| 亚洲欧美偷拍另类a∨色屁股| 一区二区三区在线视频免费 | 麻豆成人免费电影| 亚洲mv在线观看| 日韩专区中文字幕一区二区| 日本人妖一区二区| 国产精品一区一区| www.66久久| 亚洲va欧美va人人爽午夜| 日本不卡123| 国产精品456露脸| 色菇凉天天综合网| 欧美剧情片在线观看| 精品欧美久久久| 国产精品色在线| 五月天中文字幕一区二区| 精品国产一区二区三区久久影院| 久久精品人人做人人综合| 亚洲毛片av在线| 美女视频免费一区| 99久久久精品免费观看国产蜜| 色久优优欧美色久优优| 日韩欧美中文一区二区| 亚洲欧美综合色| 青青草原综合久久大伊人精品 | 一区二区日韩av| 国产真实乱偷精品视频免| 99精品国产91久久久久久 | 成人精品国产福利| 欧美顶级少妇做爰| 最新国产精品久久精品| 久久99久久99| 欧美色涩在线第一页| 国产午夜亚洲精品羞羞网站| 亚洲线精品一区二区三区| 国产成人免费视频网站高清观看视频| 97久久精品人人做人人爽| 日韩欧美的一区二区| 亚洲精品成a人| 丰满白嫩尤物一区二区| 日韩欧美国产午夜精品| 亚洲一区二区三区四区在线免费观看| 国产一区二区久久| 日韩欧美国产一区二区在线播放 | 国产曰批免费观看久久久| 欧美视频日韩视频在线观看| 国产精品视频免费看| 国产在线国偷精品免费看| 日韩一区二区麻豆国产| 亚洲精品国产无天堂网2021 | 91麻豆自制传媒国产之光| 激情综合色综合久久综合| 欧美精品自拍偷拍| 一区二区三区在线影院| 久久久久国色av免费看影院| 视频一区二区欧美| 欧美日韩中文一区| 亚洲二区视频在线| 欧美日韩在线电影| 亚洲国产精品影院| 欧美美女一区二区三区| 亚洲18女电影在线观看| 国产精品第四页| 国产sm精品调教视频网站| 久久久久久免费| 高清不卡一区二区在线| 国产欧美一区二区精品忘忧草 | 午夜精品影院在线观看| 在线观看视频一区| 91天堂素人约啪| 亚洲三级电影网站| 欧美优质美女网站| 日韩高清一区二区| 精品福利av导航| 国产成人精品亚洲777人妖 | 亚洲成人av在线电影| 欧美午夜不卡视频| 美女看a上一区| 久久精品日产第一区二区三区高清版| 国产成人精品三级| 亚洲丝袜另类动漫二区| 欧美在线一区二区三区| 日本sm残虐另类| 久久久久久综合| 色又黄又爽网站www久久| 亚洲一区二区精品3399| 日韩欧美一区二区三区在线| 国产黄人亚洲片| 一区二区三区中文在线| 欧美一级片免费看| 成人av手机在线观看| 亚洲一区二区影院| 欧美哺乳videos| 99在线热播精品免费| 三级久久三级久久| 亚洲国产精品黑人久久久| 欧美中文字幕亚洲一区二区va在线| 视频精品一区二区| 亚洲欧洲日韩av| 日韩一区二区电影| 色综合天天在线| 久久精品国产精品亚洲综合| 亚洲婷婷在线视频| 精品国产区一区| 91久久免费观看| 国产精品一二三四| 婷婷综合另类小说色区| 日本一二三四高清不卡| 91麻豆精品国产自产在线观看一区| 国产亚洲欧洲一区高清在线观看| 在线亚洲高清视频| 国产美女在线精品| 秋霞午夜鲁丝一区二区老狼| 国产成人精品综合在线观看| 日韩精品1区2区3区| 亚洲品质自拍视频| 国产日韩精品久久久| 日韩午夜激情av| 欧美日韩国产一级片| 91视频你懂的| 成人在线视频一区二区| 极品尤物av久久免费看| 日韩国产欧美一区二区三区| 玉足女爽爽91| 中文字幕在线观看一区| 国产亚洲综合在线| 日韩美女视频在线| 日韩一级视频免费观看在线| 在线免费观看日本欧美| 成人av电影在线观看| 国产福利91精品| 国产一区二区三区香蕉| 日本不卡视频在线观看| 天堂成人免费av电影一区| 亚洲一区二区精品视频| 亚瑟在线精品视频| 亚洲成av人片在线| 亚洲午夜视频在线| 亚洲成a人v欧美综合天堂| 亚洲一区二区三区免费视频| 亚洲综合一区二区三区| 亚洲影视在线观看| 亚洲第一综合色| 日日夜夜精品视频免费| 图片区小说区区亚洲影院| 亚洲电影你懂得| 日本不卡一区二区三区高清视频| 午夜欧美大尺度福利影院在线看| 亚洲图片自拍偷拍| 日韩不卡一区二区三区| 另类调教123区| 国产精品一区专区| 成人午夜免费av| 一本色道**综合亚洲精品蜜桃冫| 日本精品视频一区二区| 欧美性猛交xxxxxx富婆| 欧美久久久影院| 精品国产乱码久久久久久图片| 久久亚洲一区二区三区四区| 国产精品午夜免费| 亚洲黄色性网站| 日本成人中文字幕| 国产69精品一区二区亚洲孕妇| eeuss鲁一区二区三区| 色综合天天综合在线视频| 欧美亚洲图片小说| 日韩精品自拍偷拍| 亚洲欧美一区二区视频| 亚洲成av人**亚洲成av**| 免费黄网站欧美| 99综合影院在线| 日韩欧美视频在线| 国产精品家庭影院| 日韩中文欧美在线| 丰满少妇久久久久久久| 欧美日韩日日摸| 国产亚洲自拍一区| 日日夜夜精品免费视频| 国产69精品久久久久777| 欧美色图激情小说| 国产日韩综合av| 婷婷成人激情在线网| 日韩中文字幕一区二区三区| 亚洲人成网站影音先锋播放| 秋霞国产午夜精品免费视频| a级高清视频欧美日韩| 日韩丝袜美女视频| 艳妇臀荡乳欲伦亚洲一区| 国产成人一区二区精品非洲| 日韩二区在线观看| 91国偷自产一区二区开放时间| 欧美xxxx老人做受|