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

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

?? dev.h

?? LINUX1.0源代碼,代碼條理清晰
?? H
字號:
/*
 * INET		An implementation of the TCP/IP protocol suite for the LINUX
 *		operating system.  INET is implemented using the  BSD Socket
 *		interface as the means of communication with the user level.
 *
 *		Definitions for the Interfaces handler.
 *
 * Version:	@(#)dev.h	1.0.10	08/12/93
 *
 * Authors:	Ross Biro, <bir7@leland.Stanford.Edu>
 *		Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
 *		Corey Minyard <wf-rch!minyard@relay.EU.net>
 *		Donald J. Becker, <becker@super.org>
 *
 *		This program is free software; you can redistribute it and/or
 *		modify it under the terms of the GNU General Public License
 *		as published by the Free Software Foundation; either version
 *		2 of the License, or (at your option) any later version.
 */
#ifndef _DEV_H
#define _DEV_H

#include <linux/if.h>
#include <linux/if_ether.h>


/* for future expansion when we will have different priorities. */
#define DEV_NUMBUFFS	3
#define MAX_ADDR_LEN	7
#define MAX_HEADER	18

#define IS_MYADDR	1		/* address is (one of) our own	*/
#define IS_LOOPBACK	2		/* address is for LOOPBACK	*/
#define IS_BROADCAST	3		/* address is a valid broadcast	*/
#define IS_INVBCAST	4		/* Wrong netmask bcast not for us */

/*
 * The DEVICE structure.
 * Actually, this whole structure is a big mistake.  It mixes I/O
 * data with strictly "high-level" data, and it has to know about
 * almost every data structure used in the INET module.  We will
 * gradually phase out this structure, and replace it with the
 * more general (but stolen :-) BSD "ifnet" structure. -FvK
 */
struct device {

  /*
   * This is the first field of the "visible" part of this structure
   * (i.e. as seen by users in the "Space.c" file).  It is the name
   * the interface.
   */
  char			  *name;

  /* I/O specific fields.  These will be moved to DDI soon. */
  unsigned long		  rmem_end;		/* shmem "recv" end	*/
  unsigned long		  rmem_start;		/* shmem "recv" start	*/
  unsigned long		  mem_end;		/* sahared mem end	*/
  unsigned long		  mem_start;		/* shared mem start	*/
  unsigned short	  base_addr;		/* device I/O address	*/
  unsigned char		  irq;			/* device IRQ number	*/

  /* Low-level status flags. */
  volatile unsigned char  start,		/* start an operation	*/
                          tbusy,		/* transmitter busy	*/
                          interrupt;		/* interrupt arrived	*/

  /*
   * Another mistake.
   * This points to the next device in the "dev" chain. It will
   * be moved to the "invisible" part of the structure as soon as
   * it has been cleaned up. -FvK
   */
  struct device		  *next;

  /* The device initialization function. Called only once. */
  int			  (*init)(struct device *dev);

  /* Some hardware also needs these fields, but they are not part of the
     usual set specified in Space.c. */
  unsigned char		  if_port;		/* Selectable AUI, TP,..*/
  unsigned char		  dma;			/* DMA channel		*/

  struct enet_statistics* (*get_stats)(struct device *dev);

  /*
   * This marks the end of the "visible" part of the structure. All
   * fields hereafter are internal to the system, and may change at
   * will (read: may be cleaned up at will).
   */

  /* These may be needed for future network-power-down code. */
  unsigned long		  trans_start;	/* Time (in jiffies) of last Tx	*/
  unsigned long		  last_rx;	/* Time of last Rx		*/

  unsigned short	  flags;	/* interface flags (a la BSD)	*/
  unsigned short	  family;	/* address family ID (AF_INET)	*/
  unsigned short	  metric;	/* routing metric (not used)	*/
  unsigned short	  mtu;		/* interface MTU value		*/
  unsigned short	  type;		/* interface hardware type	*/
  unsigned short	  hard_header_len;	/* hardware hdr length	*/
  void			  *priv;	/* pointer to private data	*/

  /* Interface address info. */
  unsigned char		  broadcast[MAX_ADDR_LEN];	/* hw bcast add	*/
  unsigned char		  dev_addr[MAX_ADDR_LEN];	/* hw address	*/
  unsigned char		  addr_len;	/* harfware address length	*/
  unsigned long		  pa_addr;	/* protocol address		*/
  unsigned long		  pa_brdaddr;	/* protocol broadcast addr	*/
  unsigned long		  pa_dstaddr;	/* protocol P-P other side addr	*/
  unsigned long		  pa_mask;	/* protocol netmask		*/
  unsigned short	  pa_alen;	/* protocol address length	*/

  /* Pointer to the interface buffers. */
  struct sk_buff	  *volatile buffs[DEV_NUMBUFFS];

  /* Pointers to interface service routines. */
  int			  (*open)(struct device *dev);
  int			  (*stop)(struct device *dev);
  int			  (*hard_start_xmit) (struct sk_buff *skb,
					      struct device *dev);
  int			  (*hard_header) (unsigned char *buff,
					  struct device *dev,
					  unsigned short type,
					  unsigned long daddr,
					  unsigned long saddr,
					  unsigned len);
  void			  (*add_arp) (unsigned long addr,
				      struct sk_buff *skb,
				      struct device *dev);
  void			  (*queue_xmit)(struct sk_buff *skb,
					struct device *dev, int pri);
  int			  (*rebuild_header)(void *eth, struct device *dev);
  unsigned short	  (*type_trans) (struct sk_buff *skb,
					 struct device *dev);
#define HAVE_MULTICAST			 
  void			  (*set_multicast_list)(struct device *dev,
  					 int num_addrs, void *addrs);
#define HAVE_SET_MAC_ADDR  		 
  int			  (*set_mac_address)(struct device *dev, void *addr);
};


struct packet_type {
  unsigned short	type;	/* This is really NET16(ether_type) other
				 * devices will have to translate
				 * appropriately.
				 */
  unsigned short	copy:1;
  int			(*func) (struct sk_buff *, struct device *,
				 struct packet_type *);
  void			*data;
  struct packet_type	*next;
};


/* Used by dev_rint */
#define IN_SKBUFF	1
#define DEV_QUEUE_MAGIC	0x17432895


extern struct device	*dev_base;
extern struct packet_type *ptype_base;


extern int		ip_addr_match(unsigned long addr1, unsigned long addr2);
extern int		chk_addr(unsigned long addr);
extern struct device	*dev_check(unsigned long daddr);
extern unsigned long	my_addr(void);

extern void		dev_add_pack(struct packet_type *pt);
extern void		dev_remove_pack(struct packet_type *pt);
extern struct device	*dev_get(char *name);
extern int		dev_open(struct device *dev);
extern int		dev_close(struct device *dev);
extern void		dev_queue_xmit(struct sk_buff *skb, struct device *dev,
				       int pri);
#define HAVE_NETIF_RX 1
extern void		netif_rx(struct sk_buff *skb);
/* The old interface to netif_rx(). */
extern int		dev_rint(unsigned char *buff, long len, int flags,
				 struct device * dev);
extern void		dev_transmit(void);
extern int		in_inet_bh(void);
extern void		inet_bh(void *tmp);
extern void		dev_tint(struct device *dev);
extern int		dev_get_info(char *buffer);
extern int		dev_ioctl(unsigned int cmd, void *);

extern void		dev_init(void);

#endif	/* _DEV_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久一级片| 亚洲国产美国国产综合一区二区| 免费观看久久久4p| 欧美福利一区二区| 蜜桃一区二区三区在线| 日本一区二区三级电影在线观看 | 精品国产免费人成电影在线观看四季| 一区二区三区中文字幕在线观看| 国产一区二区视频在线| 中国av一区二区三区| 91成人免费网站| 美女网站视频久久| 久久免费视频一区| 欧美综合欧美视频| 国产一区二区免费在线| 亚洲欧美一区二区不卡| 91小视频在线观看| 日韩 欧美一区二区三区| 日韩欧美国产电影| 国产suv精品一区二区6| 亚洲日韩欧美一区二区在线| 欧美一区二区三区四区在线观看| 粉嫩aⅴ一区二区三区四区| 亚洲一区二区三区爽爽爽爽爽 | 狠狠色丁香婷婷综合久久片| 久久精子c满五个校花| 欧美影视一区在线| 成人午夜电影久久影院| 国内精品伊人久久久久av一坑| 成人欧美一区二区三区1314 | 国产夫妻精品视频| 亚洲宅男天堂在线观看无病毒| 中文av一区二区| 亚洲成a人片在线观看中文| 欧美国产一区在线| 亚洲欧洲日产国码二区| 亚洲色大成网站www久久九九| 亚洲国产精品二十页| 国产校园另类小说区| 石原莉奈在线亚洲二区| 精品国产乱码久久| 国产午夜亚洲精品不卡| 7777女厕盗摄久久久| 91精品久久久久久久91蜜桃| 欧美色综合天天久久综合精品| 色综合中文综合网| 日韩精品一二区| 国产精品三级av| 国产精品区一区二区三区| 国产午夜精品理论片a级大结局| 日韩欧美国产综合一区| 91精品欧美久久久久久动漫| 欧美日韩国产首页| 日韩欧美亚洲一区二区| 精品国一区二区三区| 久久久久久久综合色一本| 国产日韩影视精品| 亚洲综合激情小说| 亚洲一区欧美一区| 偷拍亚洲欧洲综合| 国产精品2024| 色婷婷精品久久二区二区蜜臀av| 欧美亚洲一区三区| 26uuu国产日韩综合| 国产精品久久一卡二卡| 亚洲成年人影院| 久久97超碰色| 99久久精品国产毛片| 欧美一级欧美一级在线播放| 久久免费看少妇高潮| 欧美国产一区视频在线观看| 久久99深爱久久99精品| 日本高清不卡在线观看| 综合欧美一区二区三区| 一级女性全黄久久生活片免费| 日韩国产精品91| 国产在线播放一区三区四| 欧美一区二区美女| 国产激情精品久久久第一区二区 | 欧美日韩第一区日日骚| 亚洲综合在线观看视频| 日本道在线观看一区二区| 精品国产一区a| 九一九一国产精品| 91精品国产丝袜白色高跟鞋| 亚洲天堂免费在线观看视频| 激情都市一区二区| 久久精品免费在线观看| 久久爱www久久做| 欧美一区二区三区啪啪| 日韩高清在线观看| 欧美日韩国产电影| 亚洲高清免费在线| 欧美美女一区二区| 午夜视频在线观看一区| 欧美日韩一区二区电影| 亚洲亚洲精品在线观看| 日韩视频一区二区三区 | 日韩av网站在线观看| 日韩欧美一区二区视频| 久久国产精品99久久久久久老狼| 91精品国产乱| 久久激情五月婷婷| 中文字幕中文乱码欧美一区二区| 国产福利一区二区三区| 中文字幕一区二区三区精华液| 成人h动漫精品一区二| 亚洲欧美日韩在线播放| 欧美日韩一本到| 国产美女视频一区| 亚洲欧美激情视频在线观看一区二区三区| av一二三不卡影片| 亚洲bt欧美bt精品| 国产欧美一区在线| 欧美亚洲综合另类| 国产成人在线影院| 亚洲成av人影院| 亚洲婷婷在线视频| 2021久久国产精品不只是精品| 欧美在线制服丝袜| 色吧成人激情小说| 色一情一乱一乱一91av| 丰满少妇在线播放bd日韩电影| 久久国产综合精品| 免费av成人在线| 奇米精品一区二区三区在线观看一| 亚洲美女淫视频| 久久毛片高清国产| 欧美日本在线播放| 91蜜桃免费观看视频| 激情六月婷婷综合| 日本三级韩国三级欧美三级| 专区另类欧美日韩| 国产精品入口麻豆九色| 91精品国产综合久久久蜜臀粉嫩 | 97国产精品videossex| 国产一区二区在线看| 琪琪一区二区三区| 免费成人在线影院| 国产真实乱偷精品视频免| 日韩精品电影在线| 亚洲成人tv网| 亚洲成av人片在www色猫咪| 亚洲精品成人在线| 亚洲精品大片www| 一区二区三区四区不卡视频| 亚洲精选在线视频| 亚洲高清免费一级二级三级| 午夜欧美一区二区三区在线播放| 亚洲一卡二卡三卡四卡五卡| 亚洲丝袜另类动漫二区| 亚洲精品国产视频| 日日摸夜夜添夜夜添亚洲女人| 亚洲一区二区三区国产| 午夜欧美视频在线观看 | 亚洲综合在线五月| 亚洲伊人伊色伊影伊综合网| 一区二区激情视频| 免费观看成人av| 欧美一区二区视频在线观看2020 | 色综合久久综合网97色综合| 99精品1区2区| 日韩美女在线视频| 亚洲视频狠狠干| 久久国产精品72免费观看| 94-欧美-setu| 久久综合视频网| 午夜电影一区二区三区| 国内成人精品2018免费看| 99精品在线免费| 精品国产乱子伦一区| 亚洲免费看黄网站| 国产一区二区三区香蕉| 日本精品免费观看高清观看| 精品国产乱码久久久久久图片 | 污片在线观看一区二区| 国产成人自拍网| 欧美人妖巨大在线| 17c精品麻豆一区二区免费| 久久精品国产亚洲一区二区三区| 99r国产精品| 久久精品夜色噜噜亚洲aⅴ| 免费看欧美女人艹b| 4hu四虎永久在线影院成人| 亚洲精品国产高清久久伦理二区| 国产91色综合久久免费分享| 日韩精品一区二区在线观看| 亚洲成人中文在线| 欧美日韩情趣电影| 亚洲a一区二区| 欧美二区三区91| 性感美女极品91精品| 在线精品视频一区二区| 亚洲乱码国产乱码精品精小说| 成人一区在线观看| 中文字幕中文在线不卡住| 成人午夜免费视频| 一区二区三区中文字幕精品精品| 欧美影片第一页| 捆绑紧缚一区二区三区视频|