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

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

?? mcast_kern.c

?? 底層驅動開發
?? 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;	*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){		init->port = 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);		}	}	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一区二区三区免费野_久草精品视频
91精品免费观看| 青娱乐精品视频在线| 日韩三区在线观看| 欧美日韩性生活| 7777精品伊人久久久大香线蕉的 | 国产成人免费视频网站| 国模套图日韩精品一区二区| 精品无人码麻豆乱码1区2区| 久久99精品国产麻豆婷婷 | 成人午夜视频在线观看| 国产成人鲁色资源国产91色综 | 日本一道高清亚洲日美韩| 视频一区在线播放| 日本va欧美va精品发布| 热久久久久久久| 国产在线不卡视频| 不卡在线观看av| 一本大道久久a久久综合| 欧美日韩一区二区不卡| 日韩精品一区二| 欧美国产精品一区二区| 亚洲妇女屁股眼交7| 久久 天天综合| 91免费在线播放| 日韩视频免费观看高清完整版在线观看| 久久综合久久鬼色中文字| 国产欧美日韩另类视频免费观看| 日韩美女视频一区二区| 三级亚洲高清视频| 国产美女一区二区| 欧美做爰猛烈大尺度电影无法无天| 欧美日韩在线播放一区| 久久久久9999亚洲精品| 亚洲国产欧美在线人成| 国产成人免费网站| 欧美日韩视频在线第一区| 国产清纯美女被跳蛋高潮一区二区久久w| 国产精品久久久久一区二区三区 | 国产成人午夜视频| 欧美日韩在线电影| 国产精品久线在线观看| 亚欧色一区w666天堂| 国产麻豆视频精品| 欧美日本精品一区二区三区| 国产精品色噜噜| 久久99国产精品成人| 欧美日韩一区二区三区在线看| 久久久久青草大香线综合精品| 亚洲电影中文字幕在线观看| 国产成人av电影在线观看| 欧美日韩一区二区不卡| 亚洲日本在线看| 国产经典欧美精品| 国产日韩精品久久久| 欧美日韩日本视频| 国产精品日韩精品欧美在线| 日本aⅴ免费视频一区二区三区 | 91精品中文字幕一区二区三区| 国产欧美一区二区精品忘忧草| 丝瓜av网站精品一区二区| 在线看一区二区| 综合久久国产九一剧情麻豆| 国产精品资源网| 日韩欧美电影一区| 亚洲成人一二三| 日本久久一区二区| 中文字幕亚洲成人| 岛国一区二区三区| 日本一区二区三区电影| 国产精品资源在线| 国产肉丝袜一区二区| 成人一区二区三区| 精品一区二区免费| 4438x亚洲最大成人网| 亚洲精品免费在线观看| 91啦中文在线观看| 自拍偷拍欧美激情| 日本精品一区二区三区高清 | 欧美激情中文不卡| 粉嫩aⅴ一区二区三区四区 | 亚洲日本在线天堂| 99精品久久免费看蜜臀剧情介绍| 国产精品高潮呻吟久久| 不卡的av电影在线观看| 亚洲欧美色综合| 精品视频在线看| 免费一区二区视频| 久久综合九色综合欧美就去吻| 久久爱www久久做| 精品久久国产字幕高潮| 国产盗摄女厕一区二区三区| 中文字幕欧美三区| 欧洲一区在线观看| 日本va欧美va欧美va精品| 久久影音资源网| voyeur盗摄精品| 亚洲小少妇裸体bbw| 91精品国产综合久久久久| 九九久久精品视频| 中文字幕一区免费在线观看| 在线亚洲一区二区| 天天综合网 天天综合色| 欧美mv日韩mv国产网站app| 成人性视频网站| 亚洲国产成人av网| 精品国产三级a在线观看| 成人午夜精品在线| 午夜一区二区三区视频| 欧美成人a视频| 白白色 亚洲乱淫| 日韩黄色免费网站| 国产精品每日更新| 欧美日韩国产不卡| 国产成+人+日韩+欧美+亚洲| 午夜久久久久久久久| 亚洲国产精品成人综合色在线婷婷 | ●精品国产综合乱码久久久久 | 老司机精品视频一区二区三区| 国产欧美日韩激情| 欧美日韩高清不卡| 播五月开心婷婷综合| 久久se这里有精品| 亚洲超碰97人人做人人爱| 国产欧美视频一区二区三区| 欧美精品 国产精品| 国产成人av影院| 九一久久久久久| 日本一区中文字幕| 亚洲码国产岛国毛片在线| 精品成人a区在线观看| 欧美精品18+| 欧美在线视频你懂得| 99久久精品一区| 国产乱码精品一区二区三| 免费日本视频一区| 午夜精品福利一区二区三区av| 亚洲黄一区二区三区| 亚洲欧洲成人精品av97| 国产人妖乱国产精品人妖| 精品久久国产老人久久综合| 在线播放日韩导航| 欧美网站大全在线观看| 成人激情校园春色| 成人精品视频.| 国产精品一二一区| 国产精一区二区三区| 久久成人麻豆午夜电影| 五月综合激情日本mⅴ| 亚洲福利一二三区| 午夜免费久久看| 午夜伦欧美伦电影理论片| 亚洲一区视频在线| 亚洲大片在线观看| 亚洲女人****多毛耸耸8| 国产精品久久久久久久久搜平片 | 97se亚洲国产综合自在线不卡| 国产69精品久久99不卡| 粉嫩一区二区三区在线看| 国产99久久久国产精品潘金| 激情综合色综合久久综合| 国内不卡的二区三区中文字幕| 蜜臀91精品一区二区三区| 久久国产生活片100| 久久精品72免费观看| 国内精品国产三级国产a久久| 国内外成人在线| 不卡一区二区中文字幕| 色天天综合久久久久综合片| 欧美日韩国产三级| 精品国产乱子伦一区| 国产欧美日韩在线看| 亚洲人吸女人奶水| 亚洲国产一区二区视频| 日韩和欧美的一区| 国产一区二区视频在线播放| 99久久免费国产| 欧美精品丝袜中出| 国产日韩欧美精品综合| 悠悠色在线精品| 日韩国产高清影视| 成人a级免费电影| 欧美剧在线免费观看网站| 欧美xfplay| 中文字幕中文字幕一区二区| 石原莉奈一区二区三区在线观看 | 一级特黄大欧美久久久| 日本美女一区二区三区视频| 国产一区二区三区四区五区入口 | 精品久久久久久综合日本欧美 | 欧美日韩精品免费| 国产亚洲一区二区在线观看| 亚洲欧洲制服丝袜| 极品少妇一区二区三区精品视频 | 国产精品美女久久久久久2018| 亚洲国产成人av| 成人avav影音| 久久久久久久性| 日韩国产欧美视频| 日本道精品一区二区三区| 国产亚洲女人久久久久毛片|