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

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

?? in_pcb.h

?? ecos下的gui開發(fā)源代碼
?? H
字號(hào):
//==========================================================================
//
//      include/netinet/in_pcb.h
//
//==========================================================================
//####BSDCOPYRIGHTBEGIN####
//
// -------------------------------------------
//
// Portions of this software may have been derived from OpenBSD, 
// FreeBSD or other sources, and are covered by the appropriate
// copyright disclaimers included herein.
//
// Portions created by Red Hat are
// Copyright (C) 2002 Red Hat, Inc. All Rights Reserved.
//
// -------------------------------------------
//
//####BSDCOPYRIGHTEND####
//==========================================================================

/*
 * Copyright (c) 1982, 1986, 1990, 1993
 *	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.
 *
 *	@(#)in_pcb.h	8.1 (Berkeley) 6/10/93
 * $FreeBSD: src/sys/netinet/in_pcb.h,v 1.32.2.4 2001/08/13 16:26:17 ume Exp $
 */

#ifndef _NETINET_IN_PCB_H_
#define _NETINET_IN_PCB_H_

#include <sys/queue.h>

//#include <netinet6/ipsec.h> /* for IPSEC */

#define	in6pcb		inpcb	/* for KAME src sync over BSD*'s */
#define	in6p_sp		inp_sp	/* for KAME src sync over BSD*'s */

/*
 * Common structure pcb for internet protocol implementation.
 * Here are stored pointers to local and foreign host table
 * entries, local and foreign socket numbers, and pointers
 * up (to a socket structure) and down (to a protocol-specific)
 * control block.
 */
LIST_HEAD(inpcbhead, inpcb);
LIST_HEAD(inpcbporthead, inpcbport);
typedef	u_quad_t	inp_gen_t;

/*
 * PCB with AF_INET6 null bind'ed laddr can receive AF_INET input packet.
 * So, AF_INET6 null laddr is also used as AF_INET null laddr,
 * by utilize following structure. (At last, same as INRIA)
 */
struct in_addr_4in6 {
	u_int32_t	ia46_pad32[3];
	struct	in_addr	ia46_addr4;
};

/*
 * NB: the zone allocator is type-stable EXCEPT FOR THE FIRST TWO LONGS
 * of the structure.  Therefore, it is important that the members in
 * that position not contain any information which is required to be
 * stable.
 */
struct	icmp6_filter;

struct inpcb {
	LIST_ENTRY(inpcb) inp_hash; /* hash list */
	u_short	inp_fport;		/* foreign port */
	u_short	inp_lport;		/* local port */
	LIST_ENTRY(inpcb) inp_list; /* list for all PCBs of this proto */
	u_int32_t	inp_flow;

	/* protocol dependent part, local and foreign addr */
	union {
		/* foreign host table entry */
		struct	in_addr_4in6 inp46_foreign;
		struct	in6_addr inp6_foreign;
	} inp_dependfaddr;
	union {
		/* local host table entry */
		struct	in_addr_4in6 inp46_local;
		struct	in6_addr inp6_local;
	} inp_dependladdr;

	caddr_t	inp_ppcb;		/* pointer to per-protocol pcb */
	struct	inpcbinfo *inp_pcbinfo;	/* PCB list info */
	struct	socket *inp_socket;	/* back pointer to socket */
					/* list for this PCB's local port */
	int	inp_flags;		/* generic IP/datagram flags */

	/* protocol dependent part; cached route */
	union {
		/* placeholder for routing entry */
		struct	route inp4_route;
		struct	route inp6_route;
	} inp_dependroute;

	struct	inpcbpolicy *inp_sp; /* for IPSEC */
	u_char	inp_vflag;
#define	INP_IPV4	0x1
#define	INP_IPV6	0x2
	u_char	inp_ip_ttl;		/* time to live proto */
	u_char	inp_ip_p;		/* protocol proto */

	/* protocol dependent part; options */
	struct {
		u_char	inp4_ip_tos;		/* type of service proto */
		struct	mbuf *inp4_options;	/* IP options */
		struct	ip_moptions *inp4_moptions; /* IP multicast options */
	} inp_depend4;
#define	inp_faddr	inp_dependfaddr.inp46_foreign.ia46_addr4
#define	inp_laddr	inp_dependladdr.inp46_local.ia46_addr4
#define	inp_route	inp_dependroute.inp4_route
#define	inp_ip_tos	inp_depend4.inp4_ip_tos
#define	inp_options	inp_depend4.inp4_options
#define	inp_moptions	inp_depend4.inp4_moptions
	struct {
		/* IP options */
		struct	mbuf *inp6_options;
		/* IP6 options for incoming packets */
		struct	ip6_recvpktopts *inp6_inputopts;
		/* IP6 options for outgoing packets */
		struct	ip6_pktopts *inp6_outputopts;
		/* IP multicast options */
		struct	ip6_moptions *inp6_moptions;
		/* ICMPv6 code type filter */
		struct	icmp6_filter *inp6_icmp6filt;
		/* IPV6_CHECKSUM setsockopt */
		int	inp6_cksum;
		u_short	inp6_ifindex;
		short	inp6_hops;
	} inp_depend6;
	LIST_ENTRY(inpcb) inp_portlist;
	struct	inpcbport *inp_phd;	/* head of this list */
	inp_gen_t	inp_gencnt;	/* generation count of this instance */
#define	in6p_faddr	inp_dependfaddr.inp6_foreign
#define	in6p_laddr	inp_dependladdr.inp6_local
#define	in6p_route	inp_dependroute.inp6_route
#define	in6p_hops	inp_depend6.inp6_hops	/* default hop limit */
#define	in6p_ip6_nxt	inp_ip_p
#define	in6p_flowinfo	inp_flow
#define	in6p_vflag	inp_vflag
#define	in6p_options	inp_depend6.inp6_options
#define	in6p_inputopts	inp_depend6.inp6_inputopts
#define	in6p_outputopts	inp_depend6.inp6_outputopts
#define	in6p_moptions	inp_depend6.inp6_moptions
#define	in6p_icmp6filt	inp_depend6.inp6_icmp6filt
#define	in6p_cksum	inp_depend6.inp6_cksum
#define	inp6_ifindex	inp_depend6.inp6_ifindex
#define	in6p_flags	inp_flags  /* for KAME src sync over BSD*'s */
#define	in6p_socket	inp_socket  /* for KAME src sync over BSD*'s */
#define	in6p_lport	inp_lport  /* for KAME src sync over BSD*'s */
#define	in6p_fport	inp_fport  /* for KAME src sync over BSD*'s */
#define	in6p_ppcb	inp_ppcb  /* for KAME src sync over BSD*'s */
};
/*
 * The range of the generation count, as used in this implementation,
 * is 9e19.  We would have to create 300 billion connections per
 * second for this number to roll over in a year.  This seems sufficiently
 * unlikely that we simply don't concern ourselves with that possibility.
 */

/*
 * Interface exported to userland by various protocols which use
 * inpcbs.  Hack alert -- only define if struct xsocket is in scope.
 */
#ifdef _SYS_SOCKETVAR_H_
struct	xinpcb {
	size_t	xi_len;		/* length of this structure */
	struct	inpcb xi_inp;
	struct	xsocket xi_socket;
	u_quad_t	xi_alignment_hack;
};

struct	xinpgen {
	size_t	xig_len;	/* length of this structure */
	u_int	xig_count;	/* number of PCBs at this time */
	inp_gen_t xig_gen;	/* generation count at this time */
	so_gen_t xig_sogen;	/* socket generation count at this time */
};
#endif /* _SYS_SOCKETVAR_H_ */

struct inpcbport {
	LIST_ENTRY(inpcbport) phd_hash;
	struct inpcbhead phd_pcblist;
	u_short phd_port;
};

struct inpcbinfo {		/* XXX documentation, prefixes */
	struct	inpcbhead *hashbase;
	u_long	hashmask;
	struct	inpcbporthead *porthashbase;
	u_long	porthashmask;
	struct	inpcbhead *listhead;
	u_short	lastport;
	u_short	lastlow;
	u_short	lasthi;
	struct	vm_zone *ipi_zone; /* zone to allocate pcbs from */
	u_int	ipi_count;	/* number of pcbs in this list */
	u_quad_t ipi_gencnt;	/* current generation count */
};

#define INP_PCBHASH(faddr, lport, fport, mask) \
	(((faddr) ^ ((faddr) >> 16) ^ ntohs((lport) ^ (fport))) & (mask))
#define INP_PCBPORTHASH(lport, mask) \
	(ntohs((lport)) & (mask))

/* flags in inp_flags: */
#define	INP_RECVOPTS		0x01	/* receive incoming IP options */
#define	INP_RECVRETOPTS		0x02	/* receive IP options for reply */
#define	INP_RECVDSTADDR		0x04	/* receive IP dst address */
#define	INP_HDRINCL		0x08	/* user supplies entire IP header */
#define	INP_HIGHPORT		0x10	/* user wants "high" port binding */
#define	INP_LOWPORT		0x20	/* user wants "low" port binding */
#define	INP_ANONPORT		0x40	/* port chosen for user */
#define	INP_RECVIF		0x80	/* receive incoming interface */
#define	INP_MTUDISC		0x100	/* user can do MTU discovery */
#define	INP_FAITH		0x200	/* accept FAITH'ed connections */

#define IN6P_IPV6_V6ONLY	0x008000 /* restrict AF_INET6 socket for v6 */

#define	IN6P_PKTINFO		0x010000 /* receive IP6 dst and I/F */
#define	IN6P_HOPLIMIT		0x020000 /* receive hoplimit */
#define	IN6P_HOPOPTS		0x040000 /* receive hop-by-hop options */
#define	IN6P_DSTOPTS		0x080000 /* receive dst options after rthdr */
#define	IN6P_RTHDR		0x100000 /* receive routing header */
#define	IN6P_RTHDRDSTOPTS	0x200000 /* receive dstoptions before rthdr */
#define IN6P_TCLASS		0x400000 /* receive traffic class value */
#define IN6P_AUTOFLOWLABEL	0x800000 /* attach flowlabel automatically */
#if 0
/*
 * IN6P_BINDV6ONLY should be obsoleted by IN6P_IPV6_V6ONLY.
 * Once we are sure that this macro is not referred from anywhere, we should
 * completely delete the definition.
 * jinmei@kame.net, 20010625.
 */
#define	IN6P_BINDV6ONLY		0x10000000 /* do not grab IPv4 traffic */
#endif
#define IN6P_MINMTU		0x20000000 /* use minimum MTU */
#define IN6P_RFC2292		0x40000000 /* used RFC2292 API on the socket */
#define IN6P_MTU                0x80000000 /* receive path MTU */

#define	INP_CONTROLOPTS		(INP_RECVOPTS|INP_RECVRETOPTS|INP_RECVDSTADDR|\
					INP_RECVIF|\
				 IN6P_PKTINFO|IN6P_HOPLIMIT|IN6P_HOPOPTS|\
				 IN6P_DSTOPTS|IN6P_RTHDR|IN6P_RTHDRDSTOPTS|\
				 IN6P_TCLASS|IN6P_AUTOFLOWLABEL|IN6P_RFC2292|\
				 IN6P_MTU)
#define	INP_UNMAPPABLEOPTS	(IN6P_HOPOPTS|IN6P_DSTOPTS|IN6P_RTHDR|\
				 IN6P_TCLASS|IN6P_AUTOFLOWLABEL)

 /* for KAME src sync over BSD*'s */
#define	IN6P_HIGHPORT		INP_HIGHPORT
#define	IN6P_LOWPORT		INP_LOWPORT
#define	IN6P_ANONPORT		INP_ANONPORT
#define	IN6P_RECVIF		INP_RECVIF
#define	IN6P_MTUDISC		INP_MTUDISC
#define	IN6P_FAITH		INP_FAITH
#define	IN6P_CONTROLOPTS INP_CONTROLOPTS
	/*
	 * socket AF version is {newer than,or include}
	 * actual datagram AF version
	 */

#define	INPLOOKUP_WILDCARD	1
#define	sotoinpcb(so)	((struct inpcb *)(so)->so_pcb)
#define	sotoin6pcb(so)	sotoinpcb(so) /* for KAME src sync over BSD*'s */

#define	INP_SOCKAF(so) so->so_proto->pr_domain->dom_family

#define	INP_CHECK_SOCKAF(so, af) 	(INP_SOCKAF(so) == af)

#ifdef _KERNEL
extern int	ipport_lowfirstauto;
extern int	ipport_lowlastauto;
extern int	ipport_firstauto;
extern int	ipport_lastauto;
extern int	ipport_hifirstauto;
extern int	ipport_hilastauto;

void	in_pcbpurgeif0 __P((struct inpcb *, struct ifnet *));
void	in_losing __P((struct inpcb *));
void	in_rtchange __P((struct inpcb *, int));
int	in_pcballoc __P((struct socket *, struct inpcbinfo *, struct proc *));
int	in_pcbbind __P((struct inpcb *, struct sockaddr *, struct proc *));
int	in_pcbconnect __P((struct inpcb *, struct sockaddr *, struct proc *));
void	in_pcbdetach __P((struct inpcb *));
void	in_pcbdisconnect __P((struct inpcb *));
int	in_pcbinshash __P((struct inpcb *));
int	in_pcbladdr __P((struct inpcb *, struct sockaddr *,
	    struct sockaddr_in **));
struct inpcb *
	in_pcblookup_local __P((struct inpcbinfo *,
	    struct in_addr, u_int, int));
struct inpcb *
	in_pcblookup_hash __P((struct inpcbinfo *,
			       struct in_addr, u_int, struct in_addr, u_int,
			       int, struct ifnet *));
void	in_pcbnotifyall __P((struct inpcbhead *, struct in_addr,
	    int, void (*)(struct inpcb *, int)));
void	in_pcbrehash __P((struct inpcb *));
int	in_setpeeraddr __P((struct socket *so, struct sockaddr **nam));
int	in_setsockaddr __P((struct socket *so, struct sockaddr **nam));
void	in_pcbremlists __P((struct inpcb *inp));
int	prison_xinpcb __P((struct proc *p, struct inpcb *inp));

int in6_selectroute __P((struct sockaddr_in6 *, struct ip6_pktopts *,
			 struct ip6_moptions *, struct route *,
			 struct ifnet **, struct rtentry **, int));
#endif /* _KERNEL */

#endif /* !_NETINET_IN_PCB_H_ */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频一二三区| 3atv一区二区三区| 男男视频亚洲欧美| 国产精品久久久久一区| 91精品婷婷国产综合久久性色| 国产91精品一区二区| 天天操天天干天天综合网| 久久久亚洲精品石原莉奈| 欧美日韩免费不卡视频一区二区三区| 国产一区视频在线看| 日韩影院精彩在线| 亚洲人吸女人奶水| 国产色一区二区| 精品噜噜噜噜久久久久久久久试看 | 久久免费偷拍视频| 欧美日韩精品福利| 91丨porny丨户外露出| 国产麻豆精品theporn| 日本不卡123| 亚洲大片在线观看| 亚洲男人的天堂一区二区| 国产精品视频九色porn| 久久久久国产成人精品亚洲午夜 | 久久久久久久久久久99999| 91精品国产麻豆国产自产在线 | 国产一区二区精品久久99| 亚洲成a人片综合在线| 国产精品第一页第二页第三页| 337p粉嫩大胆噜噜噜噜噜91av| 7777精品伊人久久久大香线蕉最新版| 91丨porny丨首页| av动漫一区二区| kk眼镜猥琐国模调教系列一区二区| 精品伊人久久久久7777人| 首页综合国产亚洲丝袜| 亚洲国产色一区| 亚洲综合在线免费观看| 一区二区三区在线视频免费观看| 国产精品免费视频观看| 中文字幕精品一区| 中文字幕第一区二区| 中文在线一区二区| 国产精品美女一区二区| 欧美韩国日本不卡| 中文字幕在线一区| 1区2区3区国产精品| 综合色中文字幕| 亚洲欧美日韩久久| 一区二区三区四区五区视频在线观看| 亚洲黄色免费电影| 亚洲自拍偷拍欧美| 免费在线观看成人| 国产白丝精品91爽爽久久| 国产精品一品视频| 成人亚洲一区二区一| 91老司机福利 在线| 在线免费观看日韩欧美| 6080国产精品一区二区| 欧美变态口味重另类| 日本一区二区三区国色天香| 国产精品超碰97尤物18| 一个色综合av| 日本不卡123| 高清不卡在线观看| 91成人网在线| 日韩欧美国产电影| 国产精品看片你懂得| 亚洲网友自拍偷拍| 国模套图日韩精品一区二区| 东方欧美亚洲色图在线| 欧美午夜宅男影院| 久久在线免费观看| 亚洲精品v日韩精品| 日韩中文字幕91| 国产成人精品影视| 在线观看视频一区二区| 亚洲精品在线网站| 亚洲精品日日夜夜| 美女爽到高潮91| 色综合 综合色| 精品成人在线观看| 一个色综合av| 国产成人精品免费一区二区| 色综合av在线| 久久久午夜精品| 亚洲精品日产精品乱码不卡| 国产精品99精品久久免费| 韩国精品一区二区| av电影天堂一区二区在线| 欧美体内she精高潮| 精品国产乱码久久久久久久久| 亚洲天堂网中文字| 韩日精品视频一区| 精品1区2区3区| 中文字幕精品—区二区四季| 日欧美一区二区| 91首页免费视频| 久久色在线观看| 午夜精品一区在线观看| av资源网一区| 国产亚洲一二三区| 欧美aaaaaa午夜精品| 色综合久久久久久久久| 久久综合久久鬼色| 蜜臀精品久久久久久蜜臀| 91浏览器打开| 亚洲欧美综合网| 国产九九视频一区二区三区| 777午夜精品视频在线播放| 国产精品国产三级国产三级人妇| 精品中文字幕一区二区小辣椒| 欧美亚洲国产一卡| 亚洲日本电影在线| 日本欧美一区二区三区| 欧美日韩亚洲另类| 亚洲激情自拍视频| 日韩精品资源二区在线| 精品国产伦理网| 亚洲国产色一区| 91久久精品一区二区三区| 国产精品欧美久久久久无广告| 久久成人精品无人区| 91精品国产综合久久久久久久久久 | 国产美女一区二区| 日韩精品一区二区三区中文不卡| 亚洲欧美色一区| 99久久精品免费| 亚洲欧洲精品成人久久奇米网| 国产精品自产自拍| 26uuu另类欧美亚洲曰本| 韩国视频一区二区| 精品国产91久久久久久久妲己| 美女视频黄免费的久久| 日韩欧美国产一二三区| 紧缚捆绑精品一区二区| 亚洲精品一区在线观看| 国产一区在线观看视频| 日韩高清欧美激情| 久久综合久久久久88| 极品少妇xxxx精品少妇| 一区二区三区91| 国产精品乱码一区二区三区软件| 欧美亚日韩国产aⅴ精品中极品| 91福利在线观看| 国产露脸91国语对白| 日本最新不卡在线| 免费在线看一区| 欧美成人乱码一区二区三区| 国产成人亚洲综合a∨婷婷 | 无码av免费一区二区三区试看| 精品婷婷伊人一区三区三| 亚洲国产精品精华液网站| 在线成人小视频| 久久国产综合精品| 国产欧美一区二区精品性色| 成人蜜臀av电影| 亚洲欧美一区二区三区极速播放 | 国产成人免费视| 欧美日本乱大交xxxxx| 亚洲制服欧美中文字幕中文字幕| 精品视频免费在线| 奇米影视一区二区三区小说| 精品久久久久香蕉网| 国产成人福利片| 一区二区三区中文字幕| 555www色欧美视频| 91久久精品一区二区二区| 日韩精品一级中文字幕精品视频免费观看 | 日韩理论片在线| 精品视频在线看| 国产一区福利在线| 成人免费一区二区三区在线观看| 欧美福利视频一区| 国产成人免费视频精品含羞草妖精 | 日韩精品91亚洲二区在线观看| 精品欧美黑人一区二区三区| 成人激情免费网站| 日日骚欧美日韩| 欧美精彩视频一区二区三区| 欧美在线视频日韩| 国内精品写真在线观看| 一区二区三区四区激情| 久久久99久久| 欧美日韩成人在线一区| 国产成人精品一区二| 亚洲va韩国va欧美va| 欧美韩国日本一区| 欧美精品1区2区| av激情综合网| 国产麻豆精品theporn| 亚洲成人免费在线| 国产精品美女久久久久久久久 | 日本vs亚洲vs韩国一区三区二区| 国产婷婷色一区二区三区四区| 欧美日韩国产系列| 92国产精品观看| 国产精品88888| 久久精品国产99国产| 一区二区三区日韩精品| 国产精品天干天干在线综合|