⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 in6.h

📁 eCos操作系统源码
💻 H
📖 第 1 页 / 共 3 页
字号:
	{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \	{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \	{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \	{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \	{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \	{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \	{ 0, 0 }, \	{ 0, 0 }, \	{ 0, 0 }, \	{ "pim6", CTLTYPE_NODE }, \}/* * Names for IP sysctl objects */#define IPV6CTL_FORWARDING	1	/* act as router */#define IPV6CTL_SENDREDIRECTS	2	/* may send redirects when forwarding*/#define IPV6CTL_DEFHLIM		3	/* default Hop-Limit */#ifdef notyet#define IPV6CTL_DEFMTU		4	/* default MTU */#endif#define IPV6CTL_FORWSRCRT	5	/* forward source-routed dgrams */#define IPV6CTL_STATS		6	/* stats */#define IPV6CTL_MRTSTATS	7	/* multicast forwarding stats */#define IPV6CTL_MRTPROTO	8	/* multicast routing protocol */#define IPV6CTL_MAXFRAGPACKETS	9	/* max packets reassembly queue */#define IPV6CTL_SOURCECHECK	10	/* verify source route and intf */#define IPV6CTL_SOURCECHECK_LOGINT 11	/* minimume logging interval */#define IPV6CTL_ACCEPT_RTADV	12#define IPV6CTL_KEEPFAITH	13#define IPV6CTL_LOG_INTERVAL	14#define IPV6CTL_HDRNESTLIMIT	15#define IPV6CTL_DAD_COUNT	16#define IPV6CTL_AUTO_FLOWLABEL	17#define IPV6CTL_DEFMCASTHLIM	18#define IPV6CTL_GIF_HLIM	19	/* default HLIM for gif encap packet */#define IPV6CTL_KAME_VERSION	20#define IPV6CTL_USE_DEPRECATED	21	/* use deprecated addr (RFC2462 5.5.4) */#define IPV6CTL_RR_PRUNE	22	/* walk timer for router renumbering */#if 0	/* obsolete */#define IPV6CTL_MAPPED_ADDR	23#endif#define IPV6CTL_V6ONLY		24#ifdef __FreeBSD__#define IPV6CTL_RTEXPIRE	25	/* cloned route expiration time */#define IPV6CTL_RTMINEXPIRE	26	/* min value for expiration time */#define IPV6CTL_RTMAXCACHE	27	/* trigger level for dynamic expire */#endif#ifdef __NetBSD__#define IPV6CTL_ANONPORTMIN	28	/* minimum ephemeral port */#define IPV6CTL_ANONPORTMAX	29	/* maximum ephemeral port */#define IPV6CTL_LOWPORTMIN	30	/* minimum reserved port */#define IPV6CTL_LOWPORTMAX	31	/* maximum reserved port */#endif#define IPV6CTL_USETEMPADDR	32	/* use temporary addresses for					   privacy extension */#define IPV6CTL_TEMPPLTIME	33	/* preferred lifetime for tmpaddrs */#define IPV6CTL_TEMPVLTIME	34	/* valid lifetime for tmpaddrs */#define IPV6CTL_AUTO_LINKLOCAL	35	/* automatic link-local addr assign */#define IPV6CTL_RIP6STATS	36	/* raw_ip6 stats */#define IPV6CTL_PREFER_TEMPADDR	37	/* prefer temporary addr as src */#define IPV6CTL_ADDRCTLPOLICY	38	/* get/set address selection policy */#define IPV6CTL_USE_DEFAULTZONE	39	/* use default scope zone *//* New entries should be added here from current IPV6CTL_MAXID value. *//* to define items, should talk with KAME guys first, for *BSD compatibility */#define IPV6CTL_MAXID		40#ifdef IPV6CTL_RTEXPIRE#define __IPV6CTL_NAMES_RTEXPIRE	"rtexpire"#define __IPV6CTL_TYPE_RTEXPIRE		CTLTYPE_INT#define __IPV6CTL_VARS_RTEXPIRE		0	/* &rtq_reallyold */#else#define __IPV6CTL_NAMES_RTEXPIRE	0#define __IPV6CTL_TYPE_RTEXPIRE		0#define __IPV6CTL_VARS_RTEXPIRE		0#endif#ifdef IPV6CTL_RTMINEXPIRE#define __IPV6CTL_NAMES_RTMINEXPIRE	"minexpire"#define __IPV6CTL_TYPE_RTMINEXPIRE	CTLTYPE_INT#define __IPV6CTL_VARS_RTMINEXPIRE	0	/* &rtq_minreallyold */#else#define __IPV6CTL_NAMES_RTMINEXPIRE	0#define __IPV6CTL_TYPE_RTMINEXPIRE	0#define __IPV6CTL_VARS_RTMINEXPIRE	0#endif#ifdef IPV6CTL_RTMAXCACHE#define __IPV6CTL_NAMES_RTMAXCACHE	"maxcache"#define __IPV6CTL_TYPE_RTMAXCACHE	CTLTYPE_INT#define __IPV6CTL_VARS_RTMAXCACHE	0	/* &rtq_toomany */#else#define __IPV6CTL_NAMES_RTMAXCACHE	0#define __IPV6CTL_TYPE_RTMAXCACHE	0#define __IPV6CTL_VARS_RTMAXCACHE	0#endif#ifdef IPV6CTL_ANONPORTMIN#define __IPV6CTL_NAMES_ANONPORTMIN	"anonportmin"#define __IPV6CTL_TYPE_ANONPORTMIN	CTLTYPE_INT#define __IPV6CTL_VARS_ANONPORTMIN	0#else#define __IPV6CTL_NAMES_ANONPORTMIN	0#define __IPV6CTL_TYPE_ANONPORTMIN	0#define __IPV6CTL_VARS_ANONPORTMIN	0#endif#ifdef IPV6CTL_ANONPORTMAX#define __IPV6CTL_NAMES_ANONPORTMAX	"anonportmax"#define __IPV6CTL_TYPE_ANONPORTMAX	CTLTYPE_INT#define __IPV6CTL_VARS_ANONPORTMAX	0#else#define __IPV6CTL_NAMES_ANONPORTMAX	0#define __IPV6CTL_TYPE_ANONPORTMAX	0#define __IPV6CTL_VARS_ANONPORTMAX	0#endif#ifdef IPV6CTL_LOWPORTMIN#define __IPV6CTL_NAMES_LOWPORTMIN	"lowportmin"#define __IPV6CTL_TYPE_LOWPORTMIN	CTLTYPE_INT#define __IPV6CTL_VARS_LOWPORTMIN	0#else#define __IPV6CTL_NAMES_LOWPORTMIN	0#define __IPV6CTL_TYPE_LOWPORTMIN	0#define __IPV6CTL_VARS_LOWPORTMIN	0#endif#ifdef IPV6CTL_LOWPORTMAX#define __IPV6CTL_NAMES_LOWPORTMAX	"lowportmax"#define __IPV6CTL_TYPE_LOWPORTMAX	CTLTYPE_INT#define __IPV6CTL_VARS_LOWPORTMAX	0#else#define __IPV6CTL_NAMES_LOWPORTMAX	0#define __IPV6CTL_TYPE_LOWPORTMAX	0#define __IPV6CTL_VARS_LOWPORTMAX	0#endif#define IPV6CTL_NAMES { \	{ 0, 0 }, \	{ "forwarding", CTLTYPE_INT }, \	{ "redirect", CTLTYPE_INT }, \	{ "hlim", CTLTYPE_INT }, \	{ "mtu", CTLTYPE_INT }, \	{ "forwsrcrt", CTLTYPE_INT }, \	{ 0, 0 }, \	{ 0, 0 }, \	{ "mrtproto", CTLTYPE_INT }, \	{ "maxfragpackets", CTLTYPE_INT }, \	{ "sourcecheck", CTLTYPE_INT }, \	{ "sourcecheck_logint", CTLTYPE_INT }, \	{ "accept_rtadv", CTLTYPE_INT }, \	{ "keepfaith", CTLTYPE_INT }, \	{ "log_interval", CTLTYPE_INT }, \	{ "hdrnestlimit", CTLTYPE_INT }, \	{ "dad_count", CTLTYPE_INT }, \	{ "auto_flowlabel", CTLTYPE_INT }, \	{ "defmcasthlim", CTLTYPE_INT }, \	{ "gifhlim", CTLTYPE_INT }, \	{ "kame_version", CTLTYPE_STRING }, \	{ "use_deprecated", CTLTYPE_INT }, \	{ "rr_prune", CTLTYPE_INT }, \	{ 0, 0 }, \	{ "v6only", CTLTYPE_INT }, \	{ __IPV6CTL_NAMES_RTEXPIRE, __IPV6CTL_TYPE_RTEXPIRE }, \	{ __IPV6CTL_NAMES_RTMINEXPIRE, __IPV6CTL_TYPE_RTMINEXPIRE }, \	{ __IPV6CTL_NAMES_RTMAXCACHE, __IPV6CTL_TYPE_RTMAXCACHE }, \	{ __IPV6CTL_NAMES_ANONPORTMIN, __IPV6CTL_TYPE_ANONPORTMIN }, \	{ __IPV6CTL_NAMES_ANONPORTMAX, __IPV6CTL_TYPE_ANONPORTMAX }, \	{ __IPV6CTL_NAMES_LOWPORTMIN, __IPV6CTL_TYPE_LOWPORTMIN }, \	{ __IPV6CTL_NAMES_LOWPORTMAX, __IPV6CTL_TYPE_LOWPORTMAX }, \	{ "use_tempaddr", CTLTYPE_INT }, \	{ "temppltime", CTLTYPE_INT }, \	{ "tempvltime", CTLTYPE_INT }, \	{ "auto_linklocal", CTLTYPE_INT }, \	{ 0, 0 }, \	{ "prefer_tempaddr", CTLTYPE_INT }, \	{ 0, 0 }, \	{ "use_defaultzone", CTLTYPE_INT }, \}#ifdef __bsdi__#define IPV6CTL_VARS { \	0, \	&ip6_forwarding, \	&ip6_sendredirects, \	&ip6_defhlim, \	0, \	&ip6_forward_srcrt, \	0, \	0, \	0, \	&ip6_maxfragpackets, \	&ip6_sourcecheck, \	&ip6_sourcecheck_interval, \	&ip6_accept_rtadv, \	&ip6_keepfaith, \	&ip6_log_interval, \	&ip6_hdrnestlimit, \	&ip6_dad_count, \	&ip6_auto_flowlabel, \	&ip6_defmcasthlim, \	&ip6_gif_hlim, \	0, \	&ip6_use_deprecated, \	&ip6_rr_prune, \	0, \	&ip6_v6only, \	__IPV6CTL_VARS_RTEXPIRE, \	__IPV6CTL_VARS_RTMINEXPIRE, \	__IPV6CTL_VARS_RTMAXCACHE, \	__IPV6CTL_VARS_ANONPORTMIN, \	__IPV6CTL_VARS_ANONPORTMAX, \	__IPV6CTL_VARS_LOWPORTMIN, \	__IPV6CTL_VARS_LOWPORTMAX, \	&ip6_use_tempaddr, \	&ip6_temp_preferred_lifetime, \	&ip6_temp_valid_lifetime, \	&ip6_auto_linklocal, \	0, \	&ip6_prefer_tempaddr, \	0, \	&ip6_use_defzone,\}#endif#endif /* !_XOPEN_SOURCE *//* * Redefinition of mbuf flags */#define	M_AUTHIPHDR	M_PROTO2#define	M_DECRYPTED	M_PROTO3#define	M_LOOP		M_PROTO4#define	M_AUTHIPDGM	M_PROTO5#ifdef _KERNELstruct cmsghdr;struct mbuf;struct ifnet;int	in6_cksum __P((struct mbuf *, u_int8_t, u_int32_t, u_int32_t));int	in6_localaddr __P((struct in6_addr *));int	in6_addrscope __P((struct in6_addr *));struct	in6_ifaddr *in6_ifawithifp __P((struct ifnet *, struct in6_addr *));extern void in6_if_up __P((struct ifnet *));struct sockaddr;void	in6_sin6_2_sin __P((struct sockaddr_in *sin,			    struct sockaddr_in6 *sin6));void	in6_sin_2_v4mapsin6 __P((struct sockaddr_in *sin,				 struct sockaddr_in6 *sin6));void	in6_sin6_2_sin_in_sock __P((struct sockaddr *nam));void	in6_sin_2_v4mapsin6_in_sock __P((struct sockaddr **nam));extern void addrsel_policy_init __P((void));#define	satosin6(sa)	((struct sockaddr_in6 *)(sa))#define	sin6tosa(sin6)	((struct sockaddr *)(sin6))#define	ifatoia6(ifa)	((struct in6_ifaddr *)(ifa))#endif /* _KERNEL */__BEGIN_DECLSstruct cmsghdr;extern int inet6_option_space __P((int));extern int inet6_option_init __P((void *, struct cmsghdr **, int));extern int inet6_option_append __P((struct cmsghdr *, const u_int8_t *,	int, int));extern u_int8_t *inet6_option_alloc __P((struct cmsghdr *, int, int, int));extern int inet6_option_next __P((const struct cmsghdr *, u_int8_t **));extern int inet6_option_find __P((const struct cmsghdr *, u_int8_t **, int));extern size_t inet6_rthdr_space __P((int, int));extern struct cmsghdr *inet6_rthdr_init __P((void *, int));extern int inet6_rthdr_add __P((struct cmsghdr *, const struct in6_addr *,		unsigned int));extern int inet6_rthdr_lasthop __P((struct cmsghdr *, unsigned int));#if 0 /* not implemented yet */extern int inet6_rthdr_reverse __P((const struct cmsghdr *, struct cmsghdr *));#endifextern int inet6_rthdr_segments __P((const struct cmsghdr *));extern struct in6_addr *inet6_rthdr_getaddr __P((struct cmsghdr *, int));extern int inet6_rthdr_getflags __P((const struct cmsghdr *, int));extern int inet6_opt_init __P((void *, size_t));extern int inet6_opt_append __P((void *, size_t, int, u_int8_t,				 size_t, u_int8_t, void **));extern int inet6_opt_finish __P((void *, size_t, int));extern int inet6_opt_set_val __P((void *, size_t, void *, int));extern int inet6_opt_next __P((void *, size_t, int, u_int8_t *,			       size_t *, void **));extern int inet6_opt_find __P((void *, size_t, int, u_int8_t,			  size_t *, void **));extern int inet6_opt_get_val __P((void *, size_t, void *, int));extern size_t inet6_rth_space __P((int, int));extern void *inet6_rth_init __P((void *, int, int, int));extern int inet6_rth_add __P((void *, const struct in6_addr *));extern int inet6_rth_reverse __P((const void *, void *));extern int inet6_rth_segments __P((const void *));extern struct in6_addr *inet6_rth_getaddr __P((const void *, int));/* the followings two are experimental.  should not merge them to *BSD. */struct sockaddr;		/* XXX */extern int addr2scopetype __P((struct sockaddr *));extern int inet_zoneid __P((int, int, char *, u_int32_t *));__END_DECLS#endif /* !_NETINET6_IN6_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -