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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? protocol.c

?? An implementation of the TCP/IP protocol suite for the LINUX operating system. INET is implemented u
?? C
字號(hào):
  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  *              INET protocol dispatch tables.
  7  *
  8  * Version:     @(#)protocol.c  1.0.5   05/25/93
  9  *
 10  * Authors:     Ross Biro, <bir7@leland.Stanford.Edu>
 11  *              Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
 12  *
 13  * Fixes:
 14  *              Alan Cox        : Ahah! udp icmp errors don't work because
 15  *                                udp_err is never called!
 16  *              Alan Cox        : Added new fields for init and ready for
 17  *                                proper fragmentation (_NO_ 4K limits!)
 18  *
 19  *              This program is free software; you can redistribute it and/or
 20  *              modify it under the terms of the GNU General Public License
 21  *              as published by the Free Software Foundation; either version
 22  *              2 of the License, or (at your option) any later version.
 23  */
 24 #include <asm/segment.h>
 25 #include <asm/system.h>
 26 #include <linux/types.h>
 27 #include <linux/kernel.h>
 28 #include <linux/sched.h>
 29 #include <linux/string.h>
 30 #include <linux/socket.h>
 31 #include <linux/in.h>
 32 #include "inet.h"
 33 #include "dev.h"
 34 #include "ip.h"
 35 #include "protocol.h"
 36 #include "tcp.h"
 37 #include "skbuff.h"
 38 #include "sock.h"
 39 #include "icmp.h"
 40 #include "udp.h"
 41 
 42 
 43 static struct inet_protocol tcp_protocol = {
 44   tcp_rcv,              /* TCP handler          */
 45   NULL,                 /* No fragment handler (and won't be for a long time) */
 46   tcp_err,              /* TCP error control    */
 47   NULL,                 /* next                 */
 48   IPPROTO_TCP,          /* protocol ID          */
 49   0,                    /* copy                 */
 50   NULL,                 /* data                 */
 51   "TCP"                 /* name                 */
 52 };
 53 
 54 
 55 static struct inet_protocol udp_protocol = {
 56   udp_rcv,              /* UDP handler          */
 57   NULL,                 /* Will be UDP fraglist handler */
 58   udp_err,              /* UDP error control    */
 59   &tcp_protocol,        /* next                 */
 60   IPPROTO_UDP,          /* protocol ID          */
 61   0,                    /* copy                 */
 62   NULL,                 /* data                 */
 63   "UDP"                 /* name                 */
 64 };
 65 
 66 
 67 static struct inet_protocol icmp_protocol = {
 68   icmp_rcv,             /* ICMP handler         */
 69   NULL,                 /* ICMP never fragments anyway */
 70   NULL,                 /* ICMP error control   */
 71   &udp_protocol,        /* next                 */
 72   IPPROTO_ICMP,         /* protocol ID          */
 73   0,                    /* copy                 */
 74   NULL,                 /* data                 */
 75   "ICMP"                /* name                 */
 76 };
 77 
 78 
 79 struct inet_protocol *inet_protocol_base = &icmp_protocol;
 80 struct inet_protocol *inet_protos[MAX_INET_PROTOS] = {
 81   NULL
 82 };
 83 
 84 
 85 struct inet_protocol *
 86 inet_get_protocol(unsigned char prot)
 87 {
 88   unsigned char hash;
 89   struct inet_protocol *p;
 90 
 91   DPRINTF((DBG_PROTO, "get_protocol (%d)\n ", prot));
 92   hash = prot & (MAX_INET_PROTOS - 1);
 93   for (p = inet_protos[hash] ; p != NULL; p=p->next) {
 94         DPRINTF((DBG_PROTO, "trying protocol %d\n", p->protocol));
 95         if (p->protocol == prot) return((struct inet_protocol *) p);
 96   }
 97   return(NULL);
 98 }
 99 
100 
101 void
102 inet_add_protocol(struct inet_protocol *prot)
103 {
104   unsigned char hash;
105   struct inet_protocol *p2;
106 
107   hash = prot->protocol & (MAX_INET_PROTOS - 1);
108   prot ->next = inet_protos[hash];
109   inet_protos[hash] = prot;
110   prot->copy = 0;
111 
112   /* Set the copy bit if we need to. */
113   p2 = (struct inet_protocol *) prot->next;
114   while(p2 != NULL) {
115         if (p2->protocol == prot->protocol) {
116                 prot->copy = 1;
117                 break;
118         }
119         p2 = (struct inet_protocol *) prot->next;
120   }
121 }
122 
123 
124 int
125 inet_del_protocol(struct inet_protocol *prot)
126 {
127   struct inet_protocol *p;
128   struct inet_protocol *lp = NULL;
129   unsigned char hash;
130 
131   hash = prot->protocol & (MAX_INET_PROTOS - 1);
132   if (prot == inet_protos[hash]) {
133         inet_protos[hash] = (struct inet_protocol *) inet_protos[hash]->next;
134         return(0);
135   }
136 
137   p = (struct inet_protocol *) inet_protos[hash];
138   while(p != NULL) {
139         /*
140          * We have to worry if the protocol being deleted is
141          * the last one on the list, then we may need to reset
142          * someones copied bit.
143          */
144         if (p->next != NULL && p->next == prot) {
145                 /*
146                  * if we are the last one with this protocol and
147                  * there is a previous one, reset its copy bit.
148                  */
149              if (p->copy == 0 && lp != NULL) lp->copy = 0;
150              p->next = prot->next;
151              return(0);
152         }
153 
154         if (p->next != NULL && p->next->protocol == prot->protocol) {
155                 lp = p;
156         }
157 
158         p = (struct inet_protocol *) p->next;
159   }
160   return(-1);
161 }
162 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费观看高清| 欧洲激情一区二区| 精品日本一线二线三线不卡| 日韩精品电影在线| 欧美电视剧在线观看完整版| 国产在线不卡一区| 国产清纯在线一区二区www| 成人综合在线观看| 亚洲色图.com| 夜夜操天天操亚洲| 香蕉久久夜色精品国产使用方法 | 另类小说视频一区二区| 91精品国产一区二区三区蜜臀| 日韩国产一二三区| 久久久99久久精品欧美| 成人性视频免费网站| 亚洲最新视频在线观看| 欧美成人一区二区| 成人av资源站| 丝袜诱惑制服诱惑色一区在线观看 | 欧美一区二区三区喷汁尤物| 色综合久久综合中文综合网| 亚洲视频网在线直播| 91在线视频在线| 亚洲小少妇裸体bbw| 日韩写真欧美这视频| 粉嫩欧美一区二区三区高清影视| 亚洲与欧洲av电影| 亚洲精品一线二线三线无人区| va亚洲va日韩不卡在线观看| 日韩成人一级片| 国产精品美女久久久久久2018 | 色天使色偷偷av一区二区| 天堂成人国产精品一区| 中文在线一区二区| 欧美一级片免费看| av激情综合网| 麻豆精品在线播放| 亚洲一区二区高清| 欧美国产一区视频在线观看| 欧美丰满少妇xxxbbb| 国产成人在线影院| 亚洲成av人片一区二区| 国产精品福利av | 久久亚洲精精品中文字幕早川悠里| 91一区二区在线| 国产精品一级片在线观看| 亚洲一区免费在线观看| 国产精品视频第一区| 日韩美女天天操| 欧美日韩五月天| 99热精品国产| 国产精品一区二区三区四区 | 欧美乱妇23p| 91亚洲国产成人精品一区二三 | 不卡的av网站| 黄色资源网久久资源365| 午夜精品一区二区三区电影天堂| 国产精品麻豆一区二区| 久久综合丝袜日本网| 日韩欧美在线综合网| 一本色道久久加勒比精品| 亚洲午夜久久久久| 一区二区成人在线视频| 国产精品久久久久久久蜜臀| 精品国产1区二区| 日韩欧美综合在线| 日韩一级片在线播放| 欧美日韩精品一区视频| 色婷婷综合视频在线观看| 91一区一区三区| 99精品视频免费在线观看| 成人午夜短视频| 粉嫩一区二区三区在线看| 国产成+人+日韩+欧美+亚洲| 激情综合色播激情啊| 国内精品伊人久久久久影院对白| 裸体一区二区三区| 久久99九九99精品| 精品一区二区三区不卡| 国产在线观看免费一区| 国产成人免费视频网站| 国产成人综合网| gogogo免费视频观看亚洲一| 99久久99久久免费精品蜜臀| 91色乱码一区二区三区| 色综合久久久久网| 在线观看亚洲精品| 欧美日韩亚洲综合| 日韩你懂的在线播放| 久久综合久久鬼色| 中国色在线观看另类| 亚洲欧洲精品成人久久奇米网| 亚洲老妇xxxxxx| 亚洲国产wwwccc36天堂| 青娱乐精品视频| 黑人巨大精品欧美黑白配亚洲| 国产一区二区三区在线观看精品 | 在线观看日韩av先锋影音电影院| 色婷婷综合中文久久一本| 欧美区视频在线观看| 日韩色在线观看| 日本一二三不卡| 亚洲激情av在线| 日韩av一区二区三区四区| 韩国av一区二区三区| 99久久99久久精品免费观看| 欧美日精品一区视频| 精品播放一区二区| 亚洲男人都懂的| 日本午夜精品一区二区三区电影 | 国产欧美综合在线观看第十页 | 中文字幕精品在线不卡| 亚洲欧美一区二区久久| 日韩激情一二三区| 欧日韩精品视频| 91精品国产免费久久综合| 久久久久国产精品人| 亚洲黄色在线视频| 精东粉嫩av免费一区二区三区| 波多野结衣精品在线| 欧美一区二区性放荡片| 国产精品国产自产拍高清av王其| 日韩激情在线观看| 91在线云播放| 欧美精品一区二区久久婷婷| 亚洲激情一二三区| 国产成人在线视频免费播放| 精品视频在线视频| 国产欧美视频一区二区| 日韩av网站在线观看| 色哟哟欧美精品| 国产亚洲女人久久久久毛片| 日韩精品电影一区亚洲| 色哟哟亚洲精品| 久久久精品国产免费观看同学| 亚洲va国产天堂va久久en| 精品伊人久久久久7777人| 中文字幕一区二区三区不卡在线| 亚洲最大色网站| 国产91清纯白嫩初高中在线观看| 欧美疯狂性受xxxxx喷水图片| 自拍偷拍欧美激情| 风间由美一区二区av101| 日韩精品中文字幕一区二区三区| 亚洲综合在线电影| av不卡在线播放| 欧美激情一区二区在线| 久久国产精品露脸对白| 91精品国产综合久久香蕉麻豆| 亚洲精品乱码久久久久| 不卡免费追剧大全电视剧网站| 精品对白一区国产伦| 美国毛片一区二区三区| 欧美日韩免费观看一区二区三区 | 国产亲近乱来精品视频| 久久www免费人成看片高清| 欧美日韩不卡一区| 亚洲国产日日夜夜| 在线免费观看不卡av| 亚洲裸体在线观看| 91免费版pro下载短视频| 国产精品无码永久免费888| 国产网站一区二区| 欧美日韩一区二区三区视频| 综合色天天鬼久久鬼色| 国产成人免费av在线| 久久尤物电影视频在线观看| 久久国产三级精品| 精品国产麻豆免费人成网站| 蜜桃视频在线一区| 精品国产乱码久久久久久久| 久久精品国产成人一区二区三区 | 国产精品久线在线观看| 成人性生交大合| 中文字幕电影一区| 成人av第一页| 亚洲精品中文在线观看| 欧美性色欧美a在线播放| 亚洲图片有声小说| 欧美一级理论性理论a| 精品伊人久久久久7777人| 久久久精品综合| 成人av在线观| 一区二区三区产品免费精品久久75| 欧美三级资源在线| 免费成人在线视频观看| 久久久.com| 91丨九色丨蝌蚪富婆spa| 欧美吻胸吃奶大尺度电影| 91精品国产色综合久久不卡蜜臀 | 国产视频一区二区三区在线观看| 国产九色sp调教91| 国产精品视频麻豆| 日本乱人伦aⅴ精品| 日产国产欧美视频一区精品| 久久久久久久久久久久电影| 99精品热视频| 免费人成黄页网站在线一区二区| 精品播放一区二区|