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

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

?? net_init.c

?? <Linux1.0核心游記>電子書+書后源碼+Linux1.0源碼
?? C
字號:
/* netdrv_init.c: Initialization for network devices. *//*	Written 1993 by Donald Becker.	Copyright 1993 United States Government as represented by the Director,	National Security Agency.  This software may only be used and distributed	according to the terms of the GNU Public License as modified by SRC,	incorported herein by reference.	The author may be reached as becker@super.org or	C/O Supercomputing Research Ctr., 17100 Science Dr., Bowie MD 20715	This file contains the initialization for the "pl14+" style ethernet	drivers.  It should eventually replace most of drivers/net/Space.c.	It's primary advantage is that it's able to allocate low-memory buffers.	A secondary advantage is that the dangerous NE*000 netcards can reserve	their I/O port region before the SCSI probes start.*/#include <linux/config.h>#include <linux/kernel.h>#include <linux/sched.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/malloc.h>#include <linux/if_ether.h>#include <memory.h>#include "dev.h"#include "eth.h"/* The network devices currently exist only in the socket namespace, so these   entries are unused.  The only ones that make sense are    open	start the ethercard    close	stop  the ethercard    ioctl	To get statistics, perhaps set the interface port (AUI, BNC, etc.)   One can also imagine getting raw packets using    read & write   but this is probably better handled by a raw packet socket.   Given that almost all of these functions are handled in the current   socket-based scheme, putting ethercard devices in /dev/ seems pointless.*//* The next device number/name to assign: "eth0", "eth1", etc. */static int next_ethdev_number = 0;#ifdef NET_MAJOR_NUMstatic struct file_operations netcard_fops = {	NULL,		/* lseek */	NULL,		/* read */	NULL,		/* write */	NULL,		/* readdir */	NULL,		/* select */	NULL,		/* ioctl */	NULL,		/* mmap */	NULL,		/* open */	NULL,		/* release */	NULL		/* fsync */};#endifunsigned long lance_init(unsigned long mem_start, unsigned long mem_end);/*  net_dev_init() is our network device initialization routine.  It's called from init/main.c with the start and end of free memory,  and returns the new start of free memory.  */unsigned long net_dev_init (unsigned long mem_start, unsigned long mem_end){#ifdef NET_MAJOR_NUM	if (register_chrdev(NET_MAJOR_NUM, "network",&netcard_fops))		printk("WARNING: Unable to get major %d for the network devices.\n",			   NET_MAJOR_NUM);#endif#if defined(CONFIG_LANCE)			/* Note this is _not_ CONFIG_AT1500. */	mem_start = lance_init(mem_start, mem_end);#endif	return mem_start;}/* Fill in the fields of the device structure with ethernet-generic values.   If no device structure is passed, a new one is constructed, complete with   a SIZEOF_PRIVATE private data area.   If an empty string area is passed as dev->name, or a new structure is made,   a new name string is constructed.  The passed string area should be 8 bytes   long. */struct device *init_etherdev(struct device *dev, int sizeof_private,							 unsigned long *mem_startp){	int i;	int new_device = 0;	if (dev == NULL) {		int alloc_size = sizeof(struct device) + sizeof("eth%d ")			+ sizeof_private;		if (mem_startp && *mem_startp ) {			dev = (struct device *)*mem_startp;			*mem_startp += alloc_size;		} else			dev = (struct device *)kmalloc(alloc_size, GFP_KERNEL);		memset(dev, 0, sizeof(alloc_size));		dev->name = (char *)(dev + 1);		if (sizeof_private)			dev->priv = dev->name + sizeof("eth%d ");		new_device = 1;	}	if (dev->name  &&  dev->name[0] == '\0')		sprintf(dev->name, "eth%d", next_ethdev_number++);	for (i = 0; i < DEV_NUMBUFFS; i++)		dev->buffs[i] = NULL;		dev->hard_header	= eth_header;	dev->add_arp		= eth_add_arp;	dev->queue_xmit		= dev_queue_xmit;	dev->rebuild_header	= eth_rebuild_header;	dev->type_trans		= eth_type_trans;		dev->type			= ARPHRD_ETHER;	dev->hard_header_len = ETH_HLEN;	dev->mtu			= 1500; /* eth_mtu */	dev->addr_len		= ETH_ALEN;	for (i = 0; i < ETH_ALEN; i++) {		dev->broadcast[i]=0xff;	}		/* New-style flags. */	dev->flags			= IFF_BROADCAST;	dev->family			= AF_INET;	dev->pa_addr		= 0;	dev->pa_brdaddr		= 0;	dev->pa_mask		= 0;	dev->pa_alen		= sizeof(unsigned long);		if (new_device) {		/* Append the device to the device queue. */		struct device **old_devp = &dev_base;		while ((*old_devp)->next)			old_devp = & (*old_devp)->next;		(*old_devp)->next = dev;		dev->next = 0;	}	return dev;}/* * Local variables: *  compile-command: "gcc -D__KERNEL__ -I/usr/src/linux/net/inet -Wall -Wstrict-prototypes -O6 -m486 -c net_init.c" *  version-control: t *  kept-new-versions: 5 *  tab-width: 4 * End: */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区高清视频在线观看| 亚洲黄一区二区三区| 成人性生交大片免费| 国产一区 二区 三区一级| 日韩影院精彩在线| 婷婷久久综合九色综合绿巨人| 一区二区三区国产精品| 一区二区久久久久久| 亚洲乱码中文字幕| 亚洲综合激情网| 亚洲国产精品久久久久秋霞影院| 一区二区欧美视频| 亚洲高清一区二区三区| 亚洲动漫第一页| 免费成人性网站| 国产精品1区2区3区在线观看| 风间由美中文字幕在线看视频国产欧美| 国产伦精一区二区三区| 高清日韩电视剧大全免费| www.亚洲色图| 欧美在线观看18| 91精品国产色综合久久ai换脸| 日韩欧美一级二级三级久久久 | 亚洲精品一区二区三区香蕉| 日韩精品一区二区三区视频| 国产视频一区不卡| 国产精品久久久久久亚洲毛片| 中文字幕亚洲一区二区va在线| 亚洲精品日韩专区silk| 日本在线观看不卡视频| 韩日精品视频一区| 成人a级免费电影| 色88888久久久久久影院按摩| 欧美伊人精品成人久久综合97| 欧美一级免费观看| 国产欧美日韩综合| 亚洲一区二区三区中文字幕 | 国产a区久久久| 成人午夜激情片| 欧美日韩一区视频| 精品乱码亚洲一区二区不卡| 国产精品麻豆一区二区| 午夜日韩在线电影| 国产东北露脸精品视频| 欧洲在线/亚洲| 精品av综合导航| 亚洲欧洲制服丝袜| 韩国在线一区二区| 一本色道亚洲精品aⅴ| 欧美一三区三区四区免费在线看 | 国产欧美一区二区在线观看| 亚洲精品成人精品456| 久久99精品国产麻豆婷婷| 99久久免费精品高清特色大片| 欧美一区午夜精品| 国产精品盗摄一区二区三区| 日本成人中文字幕| 色综合久久综合中文综合网| 亚洲精品一区在线观看| 亚洲第一福利一区| 成人少妇影院yyyy| 日韩一区二区电影| 亚洲一区二区三区四区在线观看 | 国产精品国产三级国产普通话99 | 色呦呦网站一区| 久久久久免费观看| 六月丁香婷婷色狠狠久久| 在线免费一区三区| 中文字幕视频一区| 国产毛片精品视频| 6080亚洲精品一区二区| 亚洲欧美影音先锋| 国产精品一级二级三级| 欧美丰满嫩嫩电影| 亚洲欧洲综合另类| www.亚洲色图| 国产日本欧美一区二区| 久久精品久久综合| 欧美巨大另类极品videosbest| 亚洲同性同志一二三专区| 国产福利视频一区二区三区| 欧美一级精品在线| 亚洲成av人片| 欧美日韩精品欧美日韩精品 | av一区二区三区在线| 精品久久久久久久久久久院品网| 爽好多水快深点欧美视频| 色噜噜狠狠一区二区三区果冻| 日韩一区日韩二区| 北条麻妃一区二区三区| 中文字幕精品一区| 丁香啪啪综合成人亚洲小说 | 天天av天天翘天天综合网| 91视频免费观看| 亚洲欧洲日韩av| 91免费观看视频| 亚洲免费视频中文字幕| av欧美精品.com| 综合av第一页| 91久久奴性调教| 亚洲免费观看高清完整版在线观看| 成人av电影在线网| 综合久久久久综合| 91丨国产丨九色丨pron| 亚洲精品免费播放| 日本韩国欧美三级| 午夜激情综合网| 欧洲国内综合视频| 国产一区二区免费看| 精品国产一区二区在线观看| 蜜臀va亚洲va欧美va天堂 | 国产嫩草影院久久久久| 国产精品主播直播| 中文子幕无线码一区tr| 粉嫩av一区二区三区在线播放 | 日韩福利视频导航| 日韩女同互慰一区二区| 国产剧情一区二区| 亚洲欧洲精品天堂一级| 91国偷自产一区二区开放时间 | 欧美天天综合网| 视频一区在线播放| 日韩欧美一区在线| 丰满放荡岳乱妇91ww| 中文字幕一区在线| 欧美性猛交xxxx乱大交退制版 | 欧美性一区二区| 天堂资源在线中文精品| 精品国产三级电影在线观看| 国产成人精品三级| 玉米视频成人免费看| 91精品中文字幕一区二区三区 | 精品国产成人在线影院| 成人手机电影网| 一区二区三区四区在线| 日韩一级二级三级| 成人一区二区三区| 亚洲福中文字幕伊人影院| 精品欧美一区二区在线观看| 高清国产一区二区三区| 亚洲国产精品一区二区www在线 | 婷婷久久综合九色综合绿巨人| 精品国产亚洲在线| 91浏览器入口在线观看| 全部av―极品视觉盛宴亚洲| 国产亚洲美州欧州综合国| 在线看日韩精品电影| 国产在线播放一区二区三区| 亚洲三级电影全部在线观看高清| 在线播放/欧美激情| 国产aⅴ综合色| 天天影视色香欲综合网老头| 国产视频在线观看一区二区三区| 91高清视频在线| 国产最新精品精品你懂的| 亚洲制服丝袜av| 国产欧美视频一区二区三区| 欧美日本国产视频| 成人免费视频免费观看| 日本亚洲一区二区| 中文字幕日韩av资源站| 精品国产伦理网| 欧美日韩亚洲另类| eeuss鲁片一区二区三区| 久久福利资源站| 午夜精品福利一区二区三区av| 欧美激情在线一区二区三区| 91精品国产一区二区三区香蕉| 91视频精品在这里| 国产suv精品一区二区三区| 免费在线观看精品| 一区二区三区在线视频免费| 国产女同互慰高潮91漫画| 6080国产精品一区二区| 99国产精品99久久久久久| 激情综合一区二区三区| 亚洲高清免费观看| 亚洲激情自拍视频| 中文字幕中文字幕在线一区| 久久亚洲精华国产精华液| 51精品国自产在线| 欧洲色大大久久| 99国产精品久久| 不卡av在线网| 成人免费高清在线| 国产一区二区电影| 美女在线视频一区| 日韩av高清在线观看| 亚洲一区二区视频| 一区二区三区日韩欧美| 亚洲欧洲日韩一区二区三区| 久久久精品2019中文字幕之3| 欧美一级淫片007| 欧美人狂配大交3d怪物一区| 欧美午夜一区二区三区| 色欧美日韩亚洲| 91国产免费看| 欧美色涩在线第一页| 在线看一区二区| 欧美性一级生活|