📄 in6.h
字号:
{ 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 + -