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

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

?? loopback.c

?? An implementation of the TCP/IP protocol suite for the LINUX operating system. INET is implemented u
?? C
字號:
  1 /*
  2  * INET         An implementation of the TCP/IP protocol suite for the LINUX
  3  *              operating system.  INET is implemented using the  BSD Socket
  4  *              interface as the means of communication with the user level.
  5  *
  6  *              Pseudo-driver for the loopback interface.
  7  *
  8  * Version:     @(#)loopback.c  1.0.4b  08/16/93
  9  *
 10  * Authors:     Ross Biro, <bir7@leland.Stanford.Edu>
 11  *              Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
 12  *              Donald Becker, <becker@super.org>
 13  *
 14  *              This program is free software; you can redistribute it and/or
 15  *              modify it under the terms of the GNU General Public License
 16  *              as published by the Free Software Foundation; either version
 17  *              2 of the License, or (at your option) any later version.
 18  */
 19 #include <linux/config.h>
 20 #include <linux/kernel.h>
 21 #include <linux/sched.h>
 22 #include <linux/fs.h>
 23 #include <linux/types.h>
 24 #include <linux/string.h>
 25 #include <linux/socket.h>
 26 #include <linux/errno.h>
 27 #include <linux/fcntl.h>
 28 #include <linux/in.h>
 29 #include <linux/if_ether.h>     /* For the statistics structure. */
 30 
 31 #include <asm/system.h>
 32 #include <asm/segment.h>
 33 #include <asm/io.h>
 34 
 35 #include "inet.h"
 36 #include "dev.h"
 37 #include "eth.h"
 38 #include "ip.h"
 39 #include "protocol.h"
 40 #include "tcp.h"
 41 #include "skbuff.h"
 42 #include "sock.h"
 43 #include "arp.h"
 44 
 45 
 46 static int
 47 loopback_xmit(struct sk_buff *skb, struct device *dev)
 48 {
 49   struct enet_statistics *stats = (struct enet_statistics *)dev->priv;
 50   int done;
 51 
 52   DPRINTF((DBG_LOOPB, "loopback_xmit(dev=%X, skb=%X)\n", dev, skb));
 53   if (skb == NULL || dev == NULL) return(0);
 54 
 55   cli();
 56   if (dev->tbusy != 0) {
 57         sti();
 58         stats->tx_errors++;
 59         return(1);
 60   }
 61   dev->tbusy = 1;
 62   sti();
 63 
 64   done = dev_rint(skb->data, skb->len, 0, dev);
 65   if (skb->free) kfree_skb(skb, FREE_WRITE);
 66 
 67   while (done != 1) {
 68         done = dev_rint(NULL, 0, 0, dev);
 69   }
 70   stats->tx_packets++;
 71 
 72   dev->tbusy = 0;
 73 
 74 #if 1
 75         __asm__("cmpl $0,_intr_count\n\t"
 76                 "jne 1f\n\t"
 77                 "movl _bh_active,%%eax\n\t"
 78                 "testl _bh_mask,%%eax\n\t"
 79                 "je 1f\n\t"
 80                 "incl _intr_count\n\t"
 81                 "call _do_bottom_half\n\t"
 82                 "decl _intr_count\n"
 83                 "1:"
 84                 :
 85                 :
 86                 : "ax", "dx", "cx");
 87 #endif
 88 
 89   return(0);
 90 }
 91 
 92 static struct enet_statistics *
 93 get_stats(struct device *dev)
 94 {
 95     return (struct enet_statistics *)dev->priv;
 96 }
 97 
 98 /* Initialize the rest of the LOOPBACK device. */
 99 int
100 loopback_init(struct device *dev)
101 {
102   dev->mtu              = 2000;                 /* MTU                  */
103   dev->tbusy            = 0;
104   dev->hard_start_xmit  = loopback_xmit;
105   dev->open             = NULL;
106 #if 1
107   dev->hard_header      = eth_header;
108   dev->add_arp          = NULL;
109   dev->hard_header_len  = ETH_HLEN;             /* 14                   */
110   dev->addr_len         = ETH_ALEN;             /* 6                    */
111   dev->type             = ARPHRD_ETHER;         /* 0x0001               */
112   dev->type_trans       = eth_type_trans;
113   dev->rebuild_header   = eth_rebuild_header;
114 #else
115   dev->hard_header_length = 0;
116   dev->add_arp          = NULL;
117   dev->addr_len         = 0;
118   dev->type             = 0;                    /* loopback_type (0)    */
119   dev->hard_header      = NULL;
120   dev->type_trans       = NULL;
121   dev->rebuild_header   = NULL;
122 #endif
123   dev->queue_xmit       = dev_queue_xmit;
124 
125   /* New-style flags. */
126   dev->flags            = IFF_LOOPBACK;
127   dev->family           = AF_INET;
128   dev->pa_addr          = in_aton("127.0.0.1");
129   dev->pa_brdaddr       = in_aton("127.255.255.255");
130   dev->pa_mask          = in_aton("255.0.0.0");
131   dev->pa_alen          = sizeof(unsigned long);
132   dev->priv = kmalloc(sizeof(struct enet_statistics), GFP_KERNEL);
133   memset(dev->priv, 0, sizeof(struct enet_statistics));
134   dev->get_stats = get_stats;
135   
136   return(0);
137 };
138 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡高清视频专区| 欧美另类高清zo欧美| 欧美日韩黄视频| 久久久久久久综合狠狠综合| 亚洲乱码中文字幕综合| 国产专区综合网| 欧美精品亚洲二区| 亚洲猫色日本管| 国产成人精品在线看| 欧美一区二区视频在线观看2020| 欧美国产日韩亚洲一区| 久久99九九99精品| 欧美日本一道本| 一区二区三区**美女毛片| 国产iv一区二区三区| 欧美不卡一区二区| 日韩黄色小视频| 欧美色综合影院| 亚洲欧美韩国综合色| 成人av小说网| 欧美国产精品专区| 波多野结衣一区二区三区| 欧美日本在线视频| 亚洲一级在线观看| 日本黄色一区二区| 一区二区三区四区国产精品| 粉嫩高潮美女一区二区三区| 久久女同精品一区二区| 黄色日韩网站视频| 精品国产乱码久久| 国产乱码精品一品二品| 久久午夜电影网| 国产乱码精品1区2区3区| 欧美精品一区二区在线播放| 精品亚洲国产成人av制服丝袜| 91精品国产色综合久久不卡电影| 天天影视色香欲综合网老头| 欧美日韩午夜在线| 日韩黄色小视频| 精品国产乱码久久久久久夜甘婷婷| 七七婷婷婷婷精品国产| 日韩欧美一二三四区| 理论电影国产精品| 久久精品欧美一区二区三区不卡| 国内精品伊人久久久久av影院| 久久久久9999亚洲精品| 国产91精品一区二区麻豆亚洲| 国产精品免费久久久久| 99久久夜色精品国产网站| 亚洲精品一二三区| 3d动漫精品啪啪一区二区竹菊| 美腿丝袜亚洲三区| 国产亚洲成aⅴ人片在线观看 | 欧美精品一区二区三区很污很色的| 蜜芽一区二区三区| 国产日韩欧美综合在线| av一区二区三区在线| 亚洲高清免费在线| 精品久久久久久久久久久久久久久久久| 精品一区二区免费视频| 国产精品美女视频| 欧美日韩免费视频| 国产乱码字幕精品高清av| 综合久久综合久久| 欧美一区二区福利在线| 成人一二三区视频| 丝袜美腿一区二区三区| 久久婷婷成人综合色| 色屁屁一区二区| 精品一区二区三区视频在线观看 | 欧美一区二区三区免费| 国产精品123区| 亚洲一区二区精品久久av| www欧美成人18+| 欧洲av在线精品| 国产大片一区二区| 午夜精品福利久久久| 国产精品嫩草久久久久| 欧美福利电影网| 99久久精品国产观看| 麻豆精品精品国产自在97香蕉| 国产精品久久久久久户外露出 | 亚洲成人一二三| 久久久影视传媒| 欧美精品久久久久久久多人混战 | 亚洲国产精品国自产拍av| 欧美日韩二区三区| 99久久精品免费观看| 韩国成人福利片在线播放| 亚洲一卡二卡三卡四卡五卡| 欧美韩日一区二区三区四区| 欧美精品自拍偷拍| 色哟哟一区二区在线观看| 国产99久久久国产精品免费看| 日韩成人av影视| 亚洲韩国精品一区| 亚洲欧美精品午睡沙发| 中文字幕免费在线观看视频一区| 欧美一区二区三区免费大片| 欧美日韩视频在线第一区| 色综合久久天天| gogogo免费视频观看亚洲一| 国产一区二区电影| 久久99九九99精品| 麻豆91在线观看| 美女mm1313爽爽久久久蜜臀| 香蕉久久夜色精品国产使用方法 | 午夜久久久影院| 亚洲激情在线激情| 亚洲视频免费看| 最新不卡av在线| 中文字幕一区二区三区视频| 欧美韩国日本不卡| 国产色婷婷亚洲99精品小说| 欧美精品一区二区久久久| 欧美一级高清大全免费观看| 在线播放91灌醉迷j高跟美女 | 日韩欧美一级片| 日韩写真欧美这视频| 91精品国产综合久久精品| 91精品在线免费观看| 欧美一区三区四区| 日韩一级免费观看| 日韩精品一区二区三区视频在线观看 | 色中色一区二区| 色婷婷精品大视频在线蜜桃视频 | 国产福利电影一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 国内精品伊人久久久久av影院| 国产毛片精品视频| 成人福利视频网站| 色就色 综合激情| 91精品在线一区二区| 久久久五月婷婷| 中文字幕亚洲欧美在线不卡| 亚洲激情av在线| 蜜桃精品在线观看| 国产成人精品一区二区三区网站观看| 成人精品一区二区三区四区 | 中文字幕一区二区三区av | 国产清纯美女被跳蛋高潮一区二区久久w | 欧美在线免费播放| 欧美一区二区成人6969| 久久综合999| 亚洲视频一二三| 麻豆成人91精品二区三区| 国产盗摄精品一区二区三区在线| 91在线视频观看| 欧美一区二区三区喷汁尤物| 国产日本欧美一区二区| 一区二区三区在线视频免费观看| 日韩精品一卡二卡三卡四卡无卡| 国产一区二区影院| 日本道免费精品一区二区三区| 日韩欧美专区在线| 中文字幕一区不卡| 青青草一区二区三区| 成人精品视频一区二区三区| 欧美精品日韩综合在线| 国产精品久久久久影院| 懂色中文一区二区在线播放| 色综合久久久久久久久久久| 日韩精品一区在线| 亚洲精品国产高清久久伦理二区| 蜜芽一区二区三区| 在线视频你懂得一区二区三区| 欧美大片顶级少妇| 亚洲午夜一二三区视频| 国产精华液一区二区三区| 欧美精品99久久久**| 国产精品对白交换视频| 精品一区二区三区在线观看国产| 一本色道久久综合狠狠躁的推荐 | 色av一区二区| 国产三级精品在线| 蜜臀av性久久久久蜜臀aⅴ | 粉嫩av亚洲一区二区图片| 91精品国产综合久久香蕉的特点| 日韩理论电影院| 国产成人精品三级| 欧美xxxx在线观看| 婷婷开心激情综合| 欧美在线免费播放| 亚洲欧美日韩一区二区三区在线观看 | 精品日韩99亚洲| 性做久久久久久免费观看欧美| 91丝袜高跟美女视频| 国产三级一区二区三区| 韩国女主播一区| 精品捆绑美女sm三区| 美腿丝袜亚洲色图| 欧美一区永久视频免费观看| 亚洲图片欧美一区| 欧美系列日韩一区| 一区二区三区精品视频| 91亚洲国产成人精品一区二区三 | 日韩欧美一二区| 丝袜美腿亚洲综合| 欧美一区午夜精品| 蜜桃免费网站一区二区三区|