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

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

?? mcast_kern.c

?? linux-2.6.15.6
?? 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精品福利在线一区二区三区| 日韩一区欧美一区| 狠狠色综合色综合网络| 日韩一级片网站| 精品无人码麻豆乱码1区2区 | 成人h动漫精品一区二区| 亚洲色图另类专区| 欧美伊人久久久久久久久影院| 视频一区在线播放| 精品人在线二区三区| 国产91精品久久久久久久网曝门| 亚洲午夜久久久久久久久电影院| 日韩免费福利电影在线观看| 99久久婷婷国产综合精品| 日韩国产欧美在线视频| 亚洲色图在线视频| 精品久久久久久最新网址| 91成人网在线| 91影视在线播放| 成人不卡免费av| 国产精品亚洲第一| 久久成人久久鬼色| 日日摸夜夜添夜夜添国产精品| 国产精品卡一卡二卡三| 国产欧美一区二区精品秋霞影院| 欧美久久一区二区| 欧美日韩国产首页| 欧美日韩精品三区| 777欧美精品| 欧美人与性动xxxx| 精品久久久久久久久久久久久久久 | 精品国产91乱码一区二区三区| 99久久婷婷国产综合精品电影 | 亚洲欧美视频在线观看| 国产亚洲成年网址在线观看| 日韩欧美国产午夜精品| 亚洲精品一区二区三区影院 | 色综合天天综合网天天看片| 成人av影视在线观看| 色综合久久久久综合体桃花网| 成人不卡免费av| 欧美电影一区二区| 精品少妇一区二区三区视频免付费 | 一区二区三区中文字幕精品精品| 亚洲一区二区三区视频在线 | 国内外成人在线| 成人av在线网站| 91精品国产综合久久福利| 久久久久免费观看| 亚洲国产日韩a在线播放性色| 毛片不卡一区二区| 成人毛片在线观看| 欧美视频中文字幕| 555夜色666亚洲国产免| 欧美一级精品在线| 中文字幕在线视频一区| 视频一区中文字幕| 在线一区二区三区四区五区| 欧美精品一区男女天堂| 午夜一区二区三区在线观看| 国产精品系列在线播放| 欧美一区二区三区日韩视频| 一区在线播放视频| 久久97超碰国产精品超碰| 欧美怡红院视频| 亚洲欧美一区二区久久| 国产高清一区日本| 日韩免费观看高清完整版在线观看| 亚洲欧美日韩国产另类专区| 成人福利视频在线| 日韩精品一区二区在线| 天堂成人免费av电影一区| 99久久99久久综合| 日韩毛片高清在线播放| www.成人在线| 国产欧美精品日韩区二区麻豆天美| 美女在线视频一区| 欧美精品一区二区不卡| 麻豆国产精品777777在线| 日韩欧美久久一区| 国产一区二区三区国产| 国产午夜久久久久| heyzo一本久久综合| 国产精品高潮久久久久无| 不卡在线视频中文字幕| 亚洲精品第1页| 日韩三级视频在线看| 国产不卡一区视频| 亚洲国产cao| 日本一区二区视频在线观看| 91麻豆国产精品久久| 日韩精品国产欧美| 精品国产亚洲在线| 色悠悠亚洲一区二区| 裸体歌舞表演一区二区| 亚洲欧洲色图综合| 欧美一二三四在线| 成人avav在线| 日韩av中文字幕一区二区| 欧美va亚洲va| 欧美日韩另类一区| yourporn久久国产精品| 激情文学综合插| 水野朝阳av一区二区三区| 国产精品视频一二| 精品国产乱码久久久久久图片 | www国产成人| 欧美挠脚心视频网站| 成人美女视频在线观看18| 丝袜诱惑制服诱惑色一区在线观看| 日韩精品一区二区在线| 色香蕉成人二区免费| 播五月开心婷婷综合| 国产一区二区三区av电影 | 成人国产精品免费观看动漫| 日本欧洲一区二区| 日韩av一区二区在线影视| 一区二区三区四区国产精品| 亚洲国产精品国自产拍av| 国产片一区二区| 国产精品卡一卡二卡三| 日韩美女精品在线| 亚洲国产色一区| 久久99精品国产麻豆不卡| 免费成人av在线播放| 国产一区激情在线| jizzjizzjizz欧美| 久久久www成人免费毛片麻豆 | 亚洲女性喷水在线观看一区| 亚洲网友自拍偷拍| 精品综合久久久久久8888| 美美哒免费高清在线观看视频一区二区 | 91美女视频网站| 欧美狂野另类xxxxoooo| 精品少妇一区二区三区在线播放| 久久综合色一综合色88| 麻豆精品国产91久久久久久| 国产精品99久久久久久宅男| 欧美又粗又大又爽| 国产欧美日韩一区二区三区在线观看| 亚洲欧美在线另类| 国产又粗又猛又爽又黄91精品| 在线观看国产91| 日本一区二区高清| 国产一区二区在线看| 色婷婷av一区| 国产日韩精品一区二区三区 | 麻豆91精品91久久久的内涵| caoporm超碰国产精品| 国产片一区二区| 国产精品99久久不卡二区| 欧美一卡2卡3卡4卡| 午夜精品久久久久久久久| jizz一区二区| 亚洲欧美另类综合偷拍| 91女神在线视频| 亚洲男同性恋视频| 91福利国产成人精品照片| 伊人色综合久久天天人手人婷| av在线播放成人| 一区二区三区欧美日| 99精品在线观看视频| 一区二区三区欧美日| 91福利资源站| 蜜桃av噜噜一区| 精品日韩一区二区| 粉嫩av一区二区三区粉嫩| 中文字幕不卡的av| 91久久精品一区二区三| 日韩av电影天堂| 久久一留热品黄| 色悠悠亚洲一区二区| 图片区小说区区亚洲影院| 久久久久成人黄色影片| 91亚洲精品久久久蜜桃| 午夜私人影院久久久久| 精品国产伦一区二区三区观看体验| 成人涩涩免费视频| 亚洲va中文字幕| 国产精品免费看片| 欧美一区二区三级| 色综合视频在线观看| 久久激五月天综合精品| 亚洲伊人伊色伊影伊综合网| 久久久青草青青国产亚洲免观| 欧美四级电影在线观看| 91网站在线播放| 国产成人自拍网| 麻豆精品视频在线观看| 性久久久久久久久久久久| 最新日韩在线视频| 国产欧美日韩综合| 精品国产乱码久久久久久久 | 国产一区二区三区久久悠悠色av| 亚洲午夜在线视频| 亚洲综合视频在线观看| 自拍偷拍国产精品| 亚洲丝袜制服诱惑| 国产精品二区一区二区aⅴ污介绍| 久久人人超碰精品|