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

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

?? mcast_kern.c

?? 優龍2410linux2.6.8內核源代碼
?? C
字號:
/* * user-mode-linux networking multicast transport * Copyright (C) 2001 by Harald Welte <laforge@gnumonks.org> * * based on the existing uml-networking code, which is * Copyright (C) 2001 Lennert Buytenhek (buytenh@gnu.org) and  * James Leu (jleu@mindspring.net). * Copyright (C) 2001 by various other people who didn't put their name here. * * Licensed under the GPL. */#include "linux/kernel.h"#include "linux/init.h"#include "linux/netdevice.h"#include "linux/etherdevice.h"#include "linux/in.h"#include "linux/inet.h"#include "net_kern.h"#include "net_user.h"#include "mcast.h"struct mcast_init {	char *addr;	int port;	int ttl;};void mcast_init(struct net_device *dev, void *data){	struct uml_net_private *pri;	struct mcast_data *dpri;	struct mcast_init *init = data;	pri = dev->priv;	dpri = (struct mcast_data *) pri->user;	dpri->addr = init->addr;	dpri->port = init->port;	dpri->ttl = init->ttl;	dpri->dev = dev;	printk("mcast backend ");	printk("multicast adddress: %s:%u, TTL:%u ",	       dpri->addr, dpri->port, dpri->ttl);	printk("\n");}static int mcast_read(int fd, struct sk_buff **skb, struct uml_net_private *lp){	*skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER);	if(*skb == NULL) return(-ENOMEM);	return(net_recvfrom(fd, (*skb)->mac.raw, 			    (*skb)->dev->mtu + ETH_HEADER_OTHER));}static int mcast_write(int fd, struct sk_buff **skb,			struct uml_net_private *lp){	return mcast_user_write(fd, (*skb)->data, (*skb)->len, 				 (struct mcast_data *) &lp->user);}static struct net_kern_info mcast_kern_info = {	.init			= mcast_init,	.protocol		= eth_protocol,	.read			= mcast_read,	.write			= mcast_write,};int mcast_setup(char *str, char **mac_out, void *data){	struct mcast_init *init = data;	char *port_str = NULL, *ttl_str = NULL, *remain;	char *last;	int n;	*init = ((struct mcast_init)		{ .addr 	= "239.192.168.1",		  .port 	= 1102,		  .ttl 		= 1 });	remain = split_if_spec(str, mac_out, &init->addr, &port_str, &ttl_str,			       NULL);	if(remain != NULL){		printk(KERN_ERR "mcast_setup - Extra garbage on "		       "specification : '%s'\n", remain);		return(0);	}		if(port_str != NULL){		n = simple_strtoul(port_str, &last, 10);		if((*last != '\0') || (last == port_str)){			printk(KERN_ERR "mcast_setup - Bad port : '%s'\n", 			       port_str);			return(0);		}		init->port = htons(n);	}	if(ttl_str != NULL){		init->ttl = simple_strtoul(ttl_str, &last, 10);		if((*last != '\0') || (last == ttl_str)){			printk(KERN_ERR "mcast_setup - Bad ttl : '%s'\n", 			       ttl_str);			return(0);		}	}	printk(KERN_INFO "Configured mcast device: %s:%u-%u\n", init->addr,	       init->port, init->ttl);	return(1);}static struct transport mcast_transport = {	.list 		= LIST_HEAD_INIT(mcast_transport.list),	.name 		= "mcast",	.setup  	= mcast_setup,	.user 		= &mcast_user_info,	.kern 		= &mcast_kern_info,	.private_size 	= sizeof(struct mcast_data),	.setup_size 	= sizeof(struct mcast_init),};static int register_mcast(void){	register_transport(&mcast_transport);	return(1);}__initcall(register_mcast);/* * Overrides for Emacs so that we follow Linus's tabbing style. * Emacs will notice this stuff at the end of the file and automatically * adjust the settings for this buffer only.  This must remain at the end * of the file. * --------------------------------------------------------------------------- * Local variables: * c-file-style: "linux" * End: */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线电影欧美成精品| 欧美日韩情趣电影| 天天av天天翘天天综合网色鬼国产| 国产精品视频一二| 亚洲精品一线二线三线| 日韩视频免费直播| 精品国产伦一区二区三区观看体验 | 精品一区二区免费看| 亚洲一级不卡视频| 亚洲成av人片在线观看| 日韩国产欧美在线观看| 日韩电影一区二区三区| 日韩二区三区在线观看| 免费高清视频精品| 精品一区二区免费看| 国产一区二区三区四区五区入口| 久88久久88久久久| 国产91丝袜在线18| 色综合激情五月| 欧美天堂一区二区三区| 欧美一级免费大片| 久久久久久夜精品精品免费| 国产喂奶挤奶一区二区三区| 中文字幕在线不卡国产视频| 亚洲男人的天堂在线观看| 午夜精品免费在线| 久久国产乱子精品免费女| 欧美无砖砖区免费| 日韩视频一区二区三区| 国产人成一区二区三区影院| 国产欧美日本一区二区三区| 亚洲人成影院在线观看| 视频在线观看91| 国产成人精品免费| 91福利在线看| 久久这里只精品最新地址| 亚洲人成电影网站色mp4| 日韩精品一二三区| 成人涩涩免费视频| 欧美群妇大交群的观看方式| 久久久久国产精品麻豆| 亚洲午夜激情网站| 国产精品一区二区三区99| 一本一本久久a久久精品综合麻豆| 欧美一区二区在线不卡| 亚洲精品日产精品乱码不卡| 精品亚洲porn| 欧美老人xxxx18| 中文字幕亚洲区| 久久99国产精品久久99果冻传媒| 91浏览器打开| 欧美韩国一区二区| 麻豆国产一区二区| 欧美日韩黄视频| 亚洲色图制服诱惑| 成人99免费视频| 久久亚洲精品小早川怜子| 奇米在线7777在线精品| 波多野结衣视频一区| 精品国产欧美一区二区| 日韩制服丝袜av| 欧美日韩五月天| 亚洲综合小说图片| 99r国产精品| 中文字幕视频一区| 夫妻av一区二区| 久久毛片高清国产| 韩国av一区二区| 日韩视频123| 美女任你摸久久| 欧美一区二区观看视频| 丝袜亚洲精品中文字幕一区| 欧美色电影在线| 亚洲一区免费观看| 在线观看www91| 一区二区三区欧美在线观看| 91在线精品秘密一区二区| 久久久精品2019中文字幕之3| 久久精品999| 精品国产第一区二区三区观看体验| 日韩在线一二三区| 欧美一三区三区四区免费在线看| 亚洲韩国精品一区| 欧美精品久久99久久在免费线| 一卡二卡三卡日韩欧美| 欧美午夜在线一二页| 亚洲午夜电影在线观看| 欧美午夜不卡在线观看免费| 性久久久久久久久| 在线91免费看| 久久激情五月婷婷| 久久蜜桃一区二区| 91丨porny丨户外露出| 伊人夜夜躁av伊人久久| 欧美在线观看禁18| 免费人成网站在线观看欧美高清| 69成人精品免费视频| 精品一区二区av| 欧美激情在线一区二区三区| 91丨porny丨蝌蚪视频| 亚洲五码中文字幕| 日韩一级大片在线观看| 国产成人在线观看| 亚洲综合小说图片| 欧美成人一区二区三区片免费| 精品在线一区二区三区| 综合久久国产九一剧情麻豆| 欧美午夜精品一区二区蜜桃| 蜜臀av亚洲一区中文字幕| 日本一区免费视频| 欧美日韩国产小视频| 蜜臀久久久99精品久久久久久| 久久久99久久| 欧美日本一区二区三区四区| 经典三级在线一区| 亚洲最新视频在线观看| 精品少妇一区二区三区在线视频| av电影天堂一区二区在线 | 在线欧美日韩精品| 久久精品免费看| 亚洲乱码国产乱码精品精98午夜 | 欧美顶级少妇做爰| 成人国产亚洲欧美成人综合网 | 久久久久久日产精品| 色偷偷久久一区二区三区| 毛片一区二区三区| 亚洲卡通动漫在线| 国产色产综合色产在线视频| 欧美日韩电影在线播放| 成人av电影免费观看| 久久国产尿小便嘘嘘| 亚洲福利视频导航| 综合av第一页| 欧美激情一区在线观看| 欧美成人欧美edvon| 欧美日韩在线播放| 一本色道久久综合亚洲aⅴ蜜桃| 老汉av免费一区二区三区 | 欧美一区二区性放荡片| 91日韩精品一区| 懂色av一区二区三区免费看| 蜜臀av性久久久久av蜜臀妖精| 亚洲综合图片区| 亚洲欧美电影一区二区| 国产精品欧美一区二区三区| 精品国产一二三区| 日韩精品在线看片z| 欧美一区二区观看视频| 欧美电影在哪看比较好| 欧美日韩国产高清一区二区| 色婷婷综合久久久| 色噜噜狠狠成人网p站| 成人国产亚洲欧美成人综合网 | 国产午夜精品久久久久久免费视| 91精品国模一区二区三区| 在线欧美小视频| 欧美日韩国产综合视频在线观看| 在线欧美日韩国产| 欧美三级电影网站| 欧美精品xxxxbbbb| 日韩欧美在线不卡| 精品成人一区二区三区四区| 精品电影一区二区三区| 欧美激情一区二区三区| 国产精品色哟哟| 亚洲猫色日本管| 视频在线观看91| 国产一本一道久久香蕉| 国产91在线看| 9i在线看片成人免费| 色综合天天综合色综合av | 日韩综合小视频| 日本美女一区二区| 精品一区中文字幕| 福利电影一区二区三区| 99久久99久久精品免费看蜜桃| 不卡一区在线观看| 欧洲精品一区二区三区在线观看| 欧美日韩三级一区二区| 日韩欧美卡一卡二| 国产精品视频yy9299一区| 一区二区三区电影在线播| 日韩电影在线观看电影| 国产高清视频一区| 欧美日韩综合在线免费观看| 日韩欧美亚洲国产精品字幕久久久 | 懂色av噜噜一区二区三区av| 99re这里只有精品6| 久久久欧美精品sm网站| 亚洲欧美激情视频在线观看一区二区三区 | 久久精品噜噜噜成人av农村| 懂色av噜噜一区二区三区av| 在线观看日韩国产| 久久理论电影网| 午夜欧美大尺度福利影院在线看| 韩国午夜理伦三级不卡影院| 色视频欧美一区二区三区| 精品成a人在线观看| 一区二区三区不卡在线观看| 精品一区二区三区免费视频|