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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? udp.c

?? MCF523X系列處理器初始化代碼,對開發(fā)523X些列freescale處理器有非常重要的意思
?? C
字號:
/*
 * File:		udp.c
 * Purpose:		User Datagram Protocol driver
 *
 * Notes:
 *
 * Modifications:
 *
 */

#include "src/init/m523xevb.h"

#include "src/ethernet/nif.h"
#include "src/ethernet/tftp/ip.h"
#include "src/ethernet/tftp/udp.h"

/********************************************************************/
typedef struct
{
	uint16 port;
	void (*handler)(NIF *, NBUF *, int);

} UDP_BOUND_PORT;

/********************************************************************/

#define UDP_MAX_PORTS	(5)		/* plenty for this implementation */

static UDP_BOUND_PORT
udp_port_table[UDP_MAX_PORTS];

static uint16
udp_port;

/********************************************************************/
void
udp_init (void)
{
	int index;

	for (index = 0; index < UDP_MAX_PORTS; ++index)
	{
		udp_port_table[index].port = 0;
	}

	udp_port = DEFAULT_UDP_PORT;	/* next free port */
}

/********************************************************************/
void
udp_prime_port (uint16 init_port)
{
	udp_port = init_port;
}


/********************************************************************/
void
udp_bind_port (uint16 port,	void (*handler)(NIF *, NBUF *, int))
{
	int index;

	for (index = 0; index < UDP_MAX_PORTS; ++index)
	{
		if (udp_port_table[index].port == 0)
		{
			udp_port_table[index].port = port;
			udp_port_table[index].handler = handler;
			return;
		}
	}
}

/********************************************************************/
void
udp_free_port (uint16 port)
{
	int index;

	for (index = 0; index < UDP_MAX_PORTS; ++index)
	{
		if (udp_port_table[index].port == port)
		{
			udp_port_table[index].port = 0;
			return;
		}
	}
}

/********************************************************************/
static void *
udp_port_handler (uint16 port)
{
	int index;

	for (index = 0; index < UDP_MAX_PORTS; ++index)
	{
		if (udp_port_table[index].port == port)
		{
			return (void *)udp_port_table[index].handler;
		}
	}
	return NULL;
}

/********************************************************************/
uint16
udp_obtain_free_port (void)
{
	uint16 port;

	port = udp_port;
	if (--udp_port <= 255)
		udp_port = DEFAULT_UDP_PORT;

	return port;
}

/********************************************************************/
int
udp_send ( NIF *nif, uint8 *dest, int sport, int dport, NBUF *pNbuf)
{
	/****************************************************************
	 This function takes data and creates a UDP frame and
	 passes it onto the IP layer.
	*****************************************************************/

	udp_frame_hdr	*udpframe;

	if ((pNbuf->length < 0) || (pNbuf->length > 1500))
		return 0;
	
	udpframe = (udp_frame_hdr *)&pNbuf->data[UDP_HDR_OFFSET];
	
	/* Set UDP source port */
	udpframe->src_port = (uint16)sport;

	/* Set UDP destination port */
	udpframe->dest_port = (uint16)dport;

	/* Set length */
	udpframe->length = (uint16)(pNbuf->length + 8);

	/* No checksum calcualation needed */
	udpframe->chksum = (uint16)0;

	/* Add the length of the UDP packet to the total length of the packet */
	pNbuf->length += 8;

	return ( ip_send(nif, 
	                 dest,
					 ip_get_myip(nif_get_protocol_info(nif,FRAME_IP)),
					 IP_PROTO_UDP, 
					 pNbuf));
}

/********************************************************************/
void
udp_handler (NIF *nif, NBUF *pNbuf, int hdr_offset)
{
	/* This function handles incoming UDP packets */

	udp_frame_hdr	*udpframe;
	int (*handler)(NIF *, NBUF *, int);

	udpframe = (udp_frame_hdr *)&pNbuf->data[hdr_offset];

	/* Subtract the length of the UDP header from the total length */
	pNbuf->length -= 8;
	
	/****************************************************************
	 Traverse the list of bound ports to see if there is a higher
	 level protocol to pass the packet on to 
	*****************************************************************/
	if ((handler = udp_port_handler(UDP_DEST(udpframe))) != NULL)
		handler(nif, pNbuf, hdr_offset+UDP_HDR_SIZE);

	return;
}

/********************************************************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国欧美国产1区| 亚洲第一主播视频| 懂色一区二区三区免费观看| 日韩欧美一二区| 免费人成网站在线观看欧美高清| 制服丝袜在线91| 精品一区二区三区欧美| www国产亚洲精品久久麻豆| 国产99久久久久久免费看农村| 国产欧美一二三区| 色又黄又爽网站www久久| 亚洲专区一二三| 日韩精品中午字幕| 国产高清精品网站| 一区二区三区精品在线| 7777精品伊人久久久大香线蕉 | 91精品国产高清一区二区三区| 婷婷综合另类小说色区| 精品日韩99亚洲| 成人h版在线观看| 亚洲图片一区二区| 久久色在线视频| 91社区在线播放| 蜜桃视频第一区免费观看| 国产无一区二区| 欧美午夜精品久久久久久孕妇| 美国av一区二区| 成人欧美一区二区三区在线播放| 欧美夫妻性生活| 波多野结衣在线一区| 香蕉影视欧美成人| 欧美激情一区二区三区在线| 日本韩国一区二区三区视频| 捆绑变态av一区二区三区| 国产精品欧美综合在线| 欧美精品三级日韩久久| 福利一区在线观看| 日韩电影一区二区三区四区| 国产精品欧美一区喷水| 日韩一级二级三级| 欧美日韩一区二区三区视频| 免费在线观看一区二区三区| 国产精品色一区二区三区| 欧美久久久久久久久久| 成人福利电影精品一区二区在线观看 | 欧美日韩不卡一区| 国产91综合一区在线观看| 日韩国产高清在线| 亚洲女同一区二区| 久久久久久毛片| 91精品欧美久久久久久动漫| 91污片在线观看| 国产成人综合网站| 美女性感视频久久| 天堂资源在线中文精品| 一级日本不卡的影视| 国产免费成人在线视频| 日韩亚洲欧美高清| 777久久久精品| 日本韩国一区二区| 99国产精品99久久久久久| 韩国女主播成人在线| 日本中文字幕一区| 亚洲国产中文字幕在线视频综合| 国产精品免费久久久久| 亚洲精品一线二线三线无人区| 欧美日韩1区2区| 欧洲色大大久久| 在线一区二区观看| 色噜噜久久综合| 91福利区一区二区三区| av综合在线播放| 91丨porny丨最新| 99视频精品免费视频| 成人三级在线视频| 成人国产电影网| 成人免费看视频| 成人av在线影院| av在线不卡免费看| av资源站一区| 色999日韩国产欧美一区二区| 欧美男生操女生| 欧美日韩精品一区二区在线播放| 欧美在线短视频| 在线成人午夜影院| 日韩三级在线免费观看| 精品国产区一区| 国产人成一区二区三区影院| 国产性色一区二区| 国产精品不卡一区二区三区| 欧美高清在线视频| 亚洲人成网站精品片在线观看 | 一区二区三区日韩精品视频| 亚洲精品成人少妇| 日本人妖一区二区| 国产在线国偷精品产拍免费yy| 国产一区二区不卡在线| kk眼镜猥琐国模调教系列一区二区 | 欧美视频精品在线| 日韩午夜av一区| 久久久三级国产网站| 亚洲国产精品高清| 亚洲精品国产一区二区精华液| 亚洲电影激情视频网站| 青青草国产精品亚洲专区无| 激情国产一区二区| 白白色 亚洲乱淫| 欧美午夜免费电影| 精品99999| 亚洲日本一区二区| 免费在线看一区| 国产成人精品免费网站| 色欧美片视频在线观看| 91精品国产福利在线观看| 国产精品天美传媒沈樵| 夜夜嗨av一区二区三区| 久久精品国产网站| 91免费观看在线| 精品免费一区二区三区| 中文字幕一区二区三区色视频| 一区二区三区av电影| 国产最新精品精品你懂的| 91在线观看污| 欧美成人a在线| 一区二区在线免费| 95精品视频在线| 日韩精品在线看片z| 亚洲人成精品久久久久| 久久国产福利国产秒拍| 97se亚洲国产综合自在线| 欧美刺激午夜性久久久久久久| 中文字幕日韩精品一区 | 精品国产污污免费网站入口| 亚洲精品日日夜夜| 国产精品香蕉一区二区三区| 欧美亚洲日本国产| 国产精品免费网站在线观看| 日韩电影一二三区| 在线免费观看日本一区| 中文字幕av免费专区久久| 轻轻草成人在线| 欧美在线一区二区| **性色生活片久久毛片| 精品夜夜嗨av一区二区三区| 欧美丝袜丝交足nylons图片| 中文字幕av一区二区三区高| 国产真实乱子伦精品视频| 91精品国产手机| 亚洲成av人片在www色猫咪| www.久久精品| 国产日韩精品久久久| 久久99久久精品欧美| 欧美人动与zoxxxx乱| 一区二区成人在线视频| 99久久婷婷国产| 国产清纯白嫩初高生在线观看91 | 亚洲人成网站影音先锋播放| 国产大陆亚洲精品国产| 日韩欧美另类在线| 另类综合日韩欧美亚洲| 91精品国产欧美日韩| 五月综合激情婷婷六月色窝| 日本久久一区二区三区| 国产精品视频yy9299一区| 国产精品1区2区3区| 久久综合狠狠综合久久综合88| 久久99精品国产.久久久久久| 欧美精品三级在线观看| 天堂成人国产精品一区| 91高清在线观看| 亚洲一级电影视频| 欧美午夜精品一区| 亚洲图片一区二区| 欧美精品亚洲二区| 日日嗨av一区二区三区四区| 69堂精品视频| 日韩激情中文字幕| 日韩精品中文字幕一区二区三区 | 日韩av在线免费观看不卡| 9191久久久久久久久久久| 日本视频免费一区| 精品精品国产高清一毛片一天堂| 久久er99热精品一区二区| 久久综合九色综合久久久精品综合| 韩国一区二区视频| 国产精品全国免费观看高清| 91在线观看高清| 亚洲成人自拍网| 欧美一三区三区四区免费在线看| 麻豆久久一区二区| 欧美激情一区二区三区在线| 91社区在线播放| 天堂va蜜桃一区二区三区| 日韩一级黄色大片| 成人免费va视频| 亚洲综合小说图片| 26uuu久久综合| 色综合久久中文综合久久97| 日韩中文字幕不卡| 国产精品美女久久久久久久|