in6.h
来自「eCos/RedBoot for勤研ARM AnywhereII(4510) 含」· C头文件 代码 · 共 935 行 · 第 1/3 页
H
935 行
{ 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 _KERNEL
struct 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_DECLS
struct 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 *));
#endif
extern 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 + =
减小字号Ctrl + -
显示快捷键?