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

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

?? uipc_dom.c

?? vxworks下的實現網絡TCPIP協議的原代碼
?? C
字號:
/* uipc_dom.c - domain routines *//* Copyright 1984-1996 Wind River Systems, Inc. */#include "copyright_wrs.h"/* * Copyright (c) 1982, 1986, 1993, 1995 *	The Regents of the University of California.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the University of *	California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * *	@(#)uipc_domain.c	8.3 (Berkeley) 2/14/95 *//*modification history--------------------01c,01jul97,vin  modified for making routing sockets scalable, removed		 unnecessary max_datalen, added addDomain function.01b,22nov96,vin  modified max_datalen variable to new cluster size.01a,03mar96,vin  created from BSD4.4 stuff and integrated with 02n version		 of uipc_dom.c. Did not change the name as it would cause		 name conflict when releasing the 44stack as a component.*/#include "vxWorks.h"#include "wdLib.h"#include "errno.h"#include "sys/socket.h"#include "net/protosw.h"#include "net/domain.h"#include "net/mbuf.h"IMPORT void netJobAdd ();IMPORT int  sysClkRateGet(); struct domain *domains;		/* list of domain descriptors */int	max_linkhdr;		/* largest link-level header */int	max_protohdr;		/* largest protocol header */int	max_hdr;		/* largest link+protocol header */LOCAL WDOG_ID pfslowtimoWd;	/* watchdog timer for pfslowtimo routine */LOCAL WDOG_ID pffasttimoWd;	/* watchdog timer for pffasttimo routine */static void pfslowtimo (void);static void pffasttimo (void); /******************************************************************************** addDomain - add the domain to the domain list** This function adds the domain passed to it into a global domain list* This global domain list is used by various routines to get to the* protocols. After adding all the domains then call domaininit ().* This function is to be called only once per domain at the initialization* time.** NOTE: No checking is done if a domain is added multiple times. That would be*       insane.** RETURNS: OK/ERROR** NOMANUAL*/int addDomain    (    struct domain * pDomain		/* pointer to the domain to add */    )    {    if (pDomain == NULL)        return (ERROR);    /* add the domain to the global list */        pDomain->dom_next = domains;	    domains = pDomain;        return (OK);     }void domaininit(void){	register struct domain *dp;	register struct protosw *pr;	for (dp = domains; dp; dp = dp->dom_next) {		if (dp->dom_init)			(*dp->dom_init)();		for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)			if (pr->pr_init)				(*pr->pr_init)();	}if (max_linkhdr < 16)		/* XXX */max_linkhdr = 16;	max_hdr = max_linkhdr + max_protohdr;        pffasttimoWd = wdCreate ();        pfslowtimoWd = wdCreate ();	pffasttimo ();	pfslowtimo ();}struct protosw *pffindtype(family, type)	int family;	int type;{	register struct domain *dp;	register struct protosw *pr;	for (dp = domains; dp; dp = dp->dom_next)		if (dp->dom_family == family)			goto found;	return (0);found:	for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)		if (pr->pr_type && pr->pr_type == type)			return (pr);	return (0);}struct protosw *pffindproto(family, protocol, type)	int family, protocol, type;{	register struct domain *dp;	register struct protosw *pr;	struct protosw *maybe = 0;	if (family == 0)		return (0);	for (dp = domains; dp; dp = dp->dom_next)		if (dp->dom_family == family)			goto found;	return (0);found:	for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) {		if ((pr->pr_protocol == protocol) && (pr->pr_type == type))			return (pr);		if (type == SOCK_RAW && pr->pr_type == SOCK_RAW &&		    pr->pr_protocol == 0 && maybe == (struct protosw *)0)			maybe = pr;	}	return (maybe);}intnet_sysctl(name, namelen, oldp, oldlenp, newp, newlen, p)	int *name;	u_int namelen;	void *oldp;	size_t *oldlenp;	void *newp;	size_t newlen;	struct proc *p;{	register struct domain *dp;	register struct protosw *pr;	int family, protocol;	/*	 * All sysctl names at this level are nonterminal;	 * next two components are protocol family and protocol number,	 * then at least one addition component.	 */	if (namelen < 3)		return (EISDIR);		/* overloaded */	family = name[0];	protocol = name[1];	if (family == 0)		return (0);	for (dp = domains; dp; dp = dp->dom_next)		if (dp->dom_family == family)			goto found;	return (ENOPROTOOPT);found:	for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)		if (pr->pr_protocol == protocol && pr->pr_sysctl)			return ((*pr->pr_sysctl)(name + 2, namelen - 2,			    oldp, oldlenp, newp, newlen));	return (ENOPROTOOPT);}voidpfctlinput(cmd, sa)	int cmd;	struct sockaddr *sa;{	register struct domain *dp;	register struct protosw *pr;	for (dp = domains; dp; dp = dp->dom_next)		for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)			if (pr->pr_ctlinput)				(*pr->pr_ctlinput)(cmd, sa, (caddr_t)0);}static void pfslowtimo (void){	register struct domain *dp;	register struct protosw *pr;	for (dp = domains; dp; dp = dp->dom_next)		for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)			if (pr->pr_slowtimo)				(*pr->pr_slowtimo)();        wdStart (pfslowtimoWd, sysClkRateGet()/2, (FUNCPTR) netJobAdd,		(int) pfslowtimo);}static void pffasttimo (void){	register struct domain *dp;	register struct protosw *pr;	for (dp = domains; dp; dp = dp->dom_next)		for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)			if (pr->pr_fasttimo)				(*pr->pr_fasttimo)();        wdStart (pffasttimoWd, sysClkRateGet()/5, (FUNCPTR) netJobAdd, 		(int) pffasttimo);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区国产视频| 色先锋久久av资源部| 中文字幕高清不卡| www国产成人免费观看视频 深夜成人网| 欧美美女黄视频| 欧美三级韩国三级日本三斤| 在线免费av一区| 欧美亚洲国产一区在线观看网站 | 狠狠色狠狠色综合| 久久不见久久见免费视频7| 免费观看在线色综合| 蜜桃在线一区二区三区| 久久精品国产亚洲高清剧情介绍| 久久精品国产成人一区二区三区 | 亚洲小说欧美激情另类| 亚洲一区中文日韩| 亚洲国产婷婷综合在线精品| 午夜久久久久久| 麻豆成人综合网| 国产精品一区二区在线播放 | 欧美—级在线免费片| 国产精品色呦呦| 亚洲精品免费在线播放| 亚洲综合网站在线观看| 奇米影视一区二区三区| 国产乱子轮精品视频| 成人综合日日夜夜| 欧美影片第一页| 日韩欧美一级精品久久| 久久精品欧美日韩| 亚洲男人的天堂网| 水野朝阳av一区二区三区| 久久99精品久久久| k8久久久一区二区三区| 欧美少妇一区二区| 精品精品欲导航| 亚洲欧洲日产国产综合网| 亚洲午夜在线视频| 精品一区二区三区免费观看| 久久天天做天天爱综合色| 亚洲私人黄色宅男| 丝袜美腿亚洲综合| 国产成人免费在线| 日本二三区不卡| 精品国产露脸精彩对白| 国产精品久久久久久久久免费桃花| 亚洲另类一区二区| 精品一区二区精品| 在线观看亚洲专区| 久久精品这里都是精品| 亚洲一区二区三区四区的| 久久国产乱子精品免费女| av成人免费在线观看| 欧美一区二区免费| 综合婷婷亚洲小说| 精品一区二区三区视频在线观看| 91成人免费在线| 久久久久成人黄色影片| 丝袜a∨在线一区二区三区不卡| 国产成人日日夜夜| 日韩一区二区视频| 亚洲美女在线国产| 国产成人精品一区二| 91.xcao| 亚洲人成网站精品片在线观看| 美国十次了思思久久精品导航| 色综合天天视频在线观看| 欧美成人午夜电影| 亚洲成av人片| 91美女在线看| 国产精品美女久久久久久久| 久久激情综合网| 欧美日韩综合色| 亚洲天堂免费看| 国产成人免费av在线| 91精品国产综合久久香蕉麻豆 | 一区二区三区成人在线视频| 国产高清精品久久久久| 欧美一个色资源| 亚洲成人精品一区| 一本大道久久a久久综合婷婷| 国产清纯在线一区二区www| 天天影视网天天综合色在线播放 | 日本精品一区二区三区高清| 久久亚洲精品小早川怜子| 午夜精品视频在线观看| 色天使色偷偷av一区二区| 国产精品毛片无遮挡高清| 国内精品视频一区二区三区八戒| 制服丝袜中文字幕一区| 亚洲成人在线观看视频| 91久久精品一区二区二区| 日韩久久一区二区| 波多野结衣中文字幕一区二区三区 | 91首页免费视频| 国产精品视频你懂的| 国产成人福利片| 国产亚洲精品超碰| 韩国三级在线一区| 精品粉嫩超白一线天av| 国模冰冰炮一区二区| 精品成人私密视频| 国产一区二区毛片| 久久精品亚洲国产奇米99| 韩国理伦片一区二区三区在线播放 | 欧美videossexotv100| 丝袜美腿高跟呻吟高潮一区| 91麻豆精品国产91久久久久久久久 | 91蜜桃免费观看视频| 亚洲码国产岛国毛片在线| 91丨国产丨九色丨pron| 一区二区三区四区国产精品| 欧洲日韩一区二区三区| 亚洲综合色婷婷| 制服丝袜av成人在线看| 日本中文一区二区三区| 日韩精品中文字幕在线一区| 久久成人av少妇免费| 久久久亚洲高清| 不卡一区中文字幕| 一区二区三区 在线观看视频| 欧美日韩视频第一区| 麻豆免费看一区二区三区| 亚洲激情av在线| www一区二区| 国产成人av资源| 亚洲欧美日本在线| 欧美日韩在线一区二区| 日韩av在线免费观看不卡| 精品美女在线观看| 成人午夜在线播放| 亚洲精品视频观看| 日韩一本二本av| 成人午夜视频网站| 一二三四区精品视频| 欧美一级淫片007| 国产成人av电影在线观看| 中文字幕一区av| 欧美蜜桃一区二区三区 | 欧美亚洲一区二区在线| 蜜臀a∨国产成人精品| 国产精品毛片久久久久久| 91国产视频在线观看| 美女视频一区二区| 中文字幕av资源一区| 欧美日韩成人一区| 国产成人8x视频一区二区| 亚洲综合无码一区二区| 2020国产成人综合网| 色婷婷综合在线| 精品夜夜嗨av一区二区三区| 亚洲图片激情小说| 日韩欧美的一区二区| 91在线视频免费观看| 卡一卡二国产精品 | 国产麻豆精品视频| 亚洲一级电影视频| 久久精品欧美日韩| 欧美精品少妇一区二区三区| 成人精品在线视频观看| 视频一区在线播放| 中文一区二区完整视频在线观看| 欧美日韩精品一区视频| 高清不卡一区二区在线| 日韩电影免费一区| 综合网在线视频| 国产调教视频一区| 制服丝袜成人动漫| 在线视频国内一区二区| 国产精品一区二区三区99| 午夜电影一区二区三区| 国产精品欧美综合在线| 欧美xingq一区二区| 51久久夜色精品国产麻豆| 91成人网在线| 99久久精品国产一区二区三区| 亚洲视频香蕉人妖| 久久亚洲综合色| 欧美放荡的少妇| 91理论电影在线观看| 成人激情视频网站| 国内外成人在线| 免费观看在线综合| 五月综合激情网| 亚洲自拍另类综合| 亚洲欧美日韩国产综合| 欧美国产在线观看| 精品久久久久久久人人人人传媒| 在线播放视频一区| 欧美日韩亚洲丝袜制服| 色狠狠综合天天综合综合| 成人黄色一级视频| 国产aⅴ精品一区二区三区色成熟| 加勒比av一区二区| 久久99久久久久久久久久久| 首页国产丝袜综合| 亚洲电影你懂得| 亚洲风情在线资源站| 一区二区三区小说| 亚洲午夜在线视频|