Update IPv6 kernel headers with new 2.6.37 headers, cleaned by update_all.py. (It wanted to do many other changes, most of them cosmetic, but I only included the IPv6 changes.)
Change-Id: I0ef33ca6d890d067949fce772104cd03335f612d
This commit is contained in:
parent
db7c59df6c
commit
0688023af7
152
libc/kernel/common/linux/icmpv6.h
Normal file
152
libc/kernel/common/linux/icmpv6.h
Normal file
@ -0,0 +1,152 @@
|
||||
/****************************************************************************
|
||||
****************************************************************************
|
||||
***
|
||||
*** This header was automatically generated from a Linux kernel header
|
||||
*** of the same name, to make information necessary for userspace to
|
||||
*** call into the kernel available to libc. It contains only constants,
|
||||
*** structures, and macros generated from the original header, and thus,
|
||||
*** contains no copyrightable information.
|
||||
***
|
||||
****************************************************************************
|
||||
****************************************************************************/
|
||||
#ifndef _LINUX_ICMPV6_H
|
||||
#define _LINUX_ICMPV6_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
struct icmp6hdr {
|
||||
|
||||
__u8 icmp6_type;
|
||||
__u8 icmp6_code;
|
||||
__sum16 icmp6_cksum;
|
||||
|
||||
union {
|
||||
__be32 un_data32[1];
|
||||
__be16 un_data16[2];
|
||||
__u8 un_data8[4];
|
||||
|
||||
struct icmpv6_echo {
|
||||
__be16 identifier;
|
||||
__be16 sequence;
|
||||
} u_echo;
|
||||
|
||||
struct icmpv6_nd_advt {
|
||||
#ifdef __LITTLE_ENDIAN_BITFIELD
|
||||
__u32 reserved:5,
|
||||
override:1,
|
||||
solicited:1,
|
||||
router:1,
|
||||
reserved2:24;
|
||||
#elif defined(__BIG_ENDIAN_BITFIELD)
|
||||
__u32 router:1,
|
||||
solicited:1,
|
||||
override:1,
|
||||
reserved:29;
|
||||
#else
|
||||
#error "Please fix <asm/byteorder.h>"
|
||||
#endif
|
||||
} u_nd_advt;
|
||||
|
||||
struct icmpv6_nd_ra {
|
||||
__u8 hop_limit;
|
||||
#ifdef __LITTLE_ENDIAN_BITFIELD
|
||||
__u8 reserved:3,
|
||||
router_pref:2,
|
||||
home_agent:1,
|
||||
other:1,
|
||||
managed:1;
|
||||
|
||||
#elif defined(__BIG_ENDIAN_BITFIELD)
|
||||
__u8 managed:1,
|
||||
other:1,
|
||||
home_agent:1,
|
||||
router_pref:2,
|
||||
reserved:3;
|
||||
#else
|
||||
#error "Please fix <asm/byteorder.h>"
|
||||
#endif
|
||||
__be16 rt_lifetime;
|
||||
} u_nd_ra;
|
||||
|
||||
} icmp6_dataun;
|
||||
|
||||
#define icmp6_identifier icmp6_dataun.u_echo.identifier
|
||||
#define icmp6_sequence icmp6_dataun.u_echo.sequence
|
||||
#define icmp6_pointer icmp6_dataun.un_data32[0]
|
||||
#define icmp6_mtu icmp6_dataun.un_data32[0]
|
||||
#define icmp6_unused icmp6_dataun.un_data32[0]
|
||||
#define icmp6_maxdelay icmp6_dataun.un_data16[0]
|
||||
#define icmp6_router icmp6_dataun.u_nd_advt.router
|
||||
#define icmp6_solicited icmp6_dataun.u_nd_advt.solicited
|
||||
#define icmp6_override icmp6_dataun.u_nd_advt.override
|
||||
#define icmp6_ndiscreserved icmp6_dataun.u_nd_advt.reserved
|
||||
#define icmp6_hop_limit icmp6_dataun.u_nd_ra.hop_limit
|
||||
#define icmp6_addrconf_managed icmp6_dataun.u_nd_ra.managed
|
||||
#define icmp6_addrconf_other icmp6_dataun.u_nd_ra.other
|
||||
#define icmp6_rt_lifetime icmp6_dataun.u_nd_ra.rt_lifetime
|
||||
#define icmp6_router_pref icmp6_dataun.u_nd_ra.router_pref
|
||||
};
|
||||
|
||||
#define ICMPV6_ROUTER_PREF_LOW 0x3
|
||||
#define ICMPV6_ROUTER_PREF_MEDIUM 0x0
|
||||
#define ICMPV6_ROUTER_PREF_HIGH 0x1
|
||||
#define ICMPV6_ROUTER_PREF_INVALID 0x2
|
||||
|
||||
#define ICMPV6_DEST_UNREACH 1
|
||||
#define ICMPV6_PKT_TOOBIG 2
|
||||
#define ICMPV6_TIME_EXCEED 3
|
||||
#define ICMPV6_PARAMPROB 4
|
||||
|
||||
#define ICMPV6_INFOMSG_MASK 0x80
|
||||
|
||||
#define ICMPV6_ECHO_REQUEST 128
|
||||
#define ICMPV6_ECHO_REPLY 129
|
||||
#define ICMPV6_MGM_QUERY 130
|
||||
#define ICMPV6_MGM_REPORT 131
|
||||
#define ICMPV6_MGM_REDUCTION 132
|
||||
|
||||
#define ICMPV6_NI_QUERY 139
|
||||
#define ICMPV6_NI_REPLY 140
|
||||
|
||||
#define ICMPV6_MLD2_REPORT 143
|
||||
|
||||
#define ICMPV6_DHAAD_REQUEST 144
|
||||
#define ICMPV6_DHAAD_REPLY 145
|
||||
#define ICMPV6_MOBILE_PREFIX_SOL 146
|
||||
#define ICMPV6_MOBILE_PREFIX_ADV 147
|
||||
|
||||
#define ICMPV6_NOROUTE 0
|
||||
#define ICMPV6_ADM_PROHIBITED 1
|
||||
#define ICMPV6_NOT_NEIGHBOUR 2
|
||||
#define ICMPV6_ADDR_UNREACH 3
|
||||
#define ICMPV6_PORT_UNREACH 4
|
||||
|
||||
#define ICMPV6_EXC_HOPLIMIT 0
|
||||
#define ICMPV6_EXC_FRAGTIME 1
|
||||
|
||||
#define ICMPV6_HDR_FIELD 0
|
||||
#define ICMPV6_UNK_NEXTHDR 1
|
||||
#define ICMPV6_UNK_OPTION 2
|
||||
|
||||
#define ICMPV6_FILTER 1
|
||||
|
||||
#define ICMPV6_FILTER_BLOCK 1
|
||||
#define ICMPV6_FILTER_PASS 2
|
||||
#define ICMPV6_FILTER_BLOCKOTHERS 3
|
||||
#define ICMPV6_FILTER_PASSONLY 4
|
||||
|
||||
struct icmp6_filter {
|
||||
__u32 data[8];
|
||||
};
|
||||
|
||||
#define MLD2_MODE_IS_INCLUDE 1
|
||||
#define MLD2_MODE_IS_EXCLUDE 2
|
||||
#define MLD2_CHANGE_TO_INCLUDE 3
|
||||
#define MLD2_CHANGE_TO_EXCLUDE 4
|
||||
#define MLD2_ALLOW_NEW_SOURCES 5
|
||||
#define MLD2_BLOCK_OLD_SOURCES 6
|
||||
|
||||
#define MLD2_ALL_MCR_INIT { { { 0xff,0x02,0,0,0,0,0,0,0,0,0,0,0,0,0,0x16 } } }
|
||||
|
||||
#endif
|
@ -14,25 +14,21 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct in6_addr
|
||||
{
|
||||
union
|
||||
{
|
||||
struct in6_addr {
|
||||
union {
|
||||
__u8 u6_addr8[16];
|
||||
__u16 u6_addr16[8];
|
||||
__u32 u6_addr32[4];
|
||||
__be16 u6_addr16[8];
|
||||
__be32 u6_addr32[4];
|
||||
} in6_u;
|
||||
#define s6_addr in6_u.u6_addr8
|
||||
#define s6_addr16 in6_u.u6_addr16
|
||||
#define s6_addr32 in6_u.u6_addr32
|
||||
};
|
||||
|
||||
#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
|
||||
|
||||
struct sockaddr_in6 {
|
||||
unsigned short int sin6_family;
|
||||
__u16 sin6_port;
|
||||
__u32 sin6_flowinfo;
|
||||
__be16 sin6_port;
|
||||
__be32 sin6_flowinfo;
|
||||
struct in6_addr sin6_addr;
|
||||
__u32 sin6_scope_id;
|
||||
};
|
||||
@ -46,10 +42,9 @@ struct ipv6_mreq {
|
||||
|
||||
#define ipv6mr_acaddr ipv6mr_multiaddr
|
||||
|
||||
struct in6_flowlabel_req
|
||||
{
|
||||
struct in6_flowlabel_req {
|
||||
struct in6_addr flr_dst;
|
||||
__u32 flr_label;
|
||||
__be32 flr_label;
|
||||
__u8 flr_action;
|
||||
__u8 flr_share;
|
||||
__u16 flr_flags;
|
||||
@ -98,11 +93,13 @@ struct in6_flowlabel_req
|
||||
#define IPPROTO_ICMPV6 58
|
||||
#define IPPROTO_NONE 59
|
||||
#define IPPROTO_DSTOPTS 60
|
||||
#define IPPROTO_MH 135
|
||||
|
||||
#define IPV6_TLV_PAD0 0
|
||||
#define IPV6_TLV_PADN 1
|
||||
#define IPV6_TLV_ROUTERALERT 5
|
||||
#define IPV6_TLV_JUMBO 194
|
||||
#define IPV6_TLV_HAO 201
|
||||
|
||||
#define IPV6_ADDRFORM 1
|
||||
#define IPV6_2292PKTINFO 2
|
||||
@ -133,6 +130,7 @@ struct in6_flowlabel_req
|
||||
#define IPV6_PMTUDISC_DONT 0
|
||||
#define IPV6_PMTUDISC_WANT 1
|
||||
#define IPV6_PMTUDISC_DO 2
|
||||
#define IPV6_PMTUDISC_PROBE 3
|
||||
|
||||
#define IPV6_FLOWLABEL_MGR 32
|
||||
#define IPV6_FLOWINFO_SEND 33
|
||||
@ -151,8 +149,27 @@ struct in6_flowlabel_req
|
||||
#define IPV6_RTHDR 57
|
||||
#define IPV6_RECVDSTOPTS 58
|
||||
#define IPV6_DSTOPTS 59
|
||||
#define IPV6_RECVPATHMTU 60
|
||||
#define IPV6_PATHMTU 61
|
||||
#define IPV6_DONTFRAG 62
|
||||
|
||||
#define IPV6_RECVTCLASS 66
|
||||
#define IPV6_TCLASS 67
|
||||
|
||||
#define IPV6_ADDR_PREFERENCES 72
|
||||
|
||||
#define IPV6_PREFER_SRC_TMP 0x0001
|
||||
#define IPV6_PREFER_SRC_PUBLIC 0x0002
|
||||
#define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100
|
||||
#define IPV6_PREFER_SRC_COA 0x0004
|
||||
#define IPV6_PREFER_SRC_HOME 0x0400
|
||||
#define IPV6_PREFER_SRC_CGA 0x0008
|
||||
#define IPV6_PREFER_SRC_NONCGA 0x0800
|
||||
|
||||
#define IPV6_MINHOPCOUNT 73
|
||||
|
||||
#define IPV6_ORIGDSTADDR 74
|
||||
#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR
|
||||
#define IPV6_TRANSPARENT 75
|
||||
|
||||
#endif
|
||||
|
133
libc/kernel/common/linux/ipv6.h
Normal file
133
libc/kernel/common/linux/ipv6.h
Normal file
@ -0,0 +1,133 @@
|
||||
/****************************************************************************
|
||||
****************************************************************************
|
||||
***
|
||||
*** This header was automatically generated from a Linux kernel header
|
||||
*** of the same name, to make information necessary for userspace to
|
||||
*** call into the kernel available to libc. It contains only constants,
|
||||
*** structures, and macros generated from the original header, and thus,
|
||||
*** contains no copyrightable information.
|
||||
***
|
||||
****************************************************************************
|
||||
****************************************************************************/
|
||||
#ifndef _IPV6_H
|
||||
#define _IPV6_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/in6.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#define IPV6_MIN_MTU 1280
|
||||
|
||||
struct in6_pktinfo {
|
||||
struct in6_addr ipi6_addr;
|
||||
int ipi6_ifindex;
|
||||
};
|
||||
|
||||
struct ip6_mtuinfo {
|
||||
struct sockaddr_in6 ip6m_addr;
|
||||
__u32 ip6m_mtu;
|
||||
};
|
||||
|
||||
struct in6_ifreq {
|
||||
struct in6_addr ifr6_addr;
|
||||
__u32 ifr6_prefixlen;
|
||||
int ifr6_ifindex;
|
||||
};
|
||||
|
||||
#define IPV6_SRCRT_STRICT 0x01
|
||||
#define IPV6_SRCRT_TYPE_0 0
|
||||
#define IPV6_SRCRT_TYPE_2 2
|
||||
|
||||
struct ipv6_rt_hdr {
|
||||
__u8 nexthdr;
|
||||
__u8 hdrlen;
|
||||
__u8 type;
|
||||
__u8 segments_left;
|
||||
|
||||
};
|
||||
|
||||
struct ipv6_opt_hdr {
|
||||
__u8 nexthdr;
|
||||
__u8 hdrlen;
|
||||
|
||||
} __attribute__((packed));
|
||||
|
||||
#define ipv6_destopt_hdr ipv6_opt_hdr
|
||||
#define ipv6_hopopt_hdr ipv6_opt_hdr
|
||||
|
||||
struct rt0_hdr {
|
||||
struct ipv6_rt_hdr rt_hdr;
|
||||
__u32 reserved;
|
||||
struct in6_addr addr[0];
|
||||
|
||||
#define rt0_type rt_hdr.type
|
||||
};
|
||||
|
||||
struct rt2_hdr {
|
||||
struct ipv6_rt_hdr rt_hdr;
|
||||
__u32 reserved;
|
||||
struct in6_addr addr;
|
||||
|
||||
#define rt2_type rt_hdr.type
|
||||
};
|
||||
|
||||
struct ipv6_destopt_hao {
|
||||
__u8 type;
|
||||
__u8 length;
|
||||
struct in6_addr addr;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct ipv6hdr {
|
||||
#ifdef __LITTLE_ENDIAN_BITFIELD
|
||||
__u8 priority:4,
|
||||
version:4;
|
||||
#elif defined(__BIG_ENDIAN_BITFIELD)
|
||||
__u8 version:4,
|
||||
priority:4;
|
||||
#else
|
||||
#error "Please fix <asm/byteorder.h>"
|
||||
#endif
|
||||
__u8 flow_lbl[3];
|
||||
|
||||
__be16 payload_len;
|
||||
__u8 nexthdr;
|
||||
__u8 hop_limit;
|
||||
|
||||
struct in6_addr saddr;
|
||||
struct in6_addr daddr;
|
||||
};
|
||||
|
||||
enum {
|
||||
DEVCONF_FORWARDING = 0,
|
||||
DEVCONF_HOPLIMIT,
|
||||
DEVCONF_MTU6,
|
||||
DEVCONF_ACCEPT_RA,
|
||||
DEVCONF_ACCEPT_REDIRECTS,
|
||||
DEVCONF_AUTOCONF,
|
||||
DEVCONF_DAD_TRANSMITS,
|
||||
DEVCONF_RTR_SOLICITS,
|
||||
DEVCONF_RTR_SOLICIT_INTERVAL,
|
||||
DEVCONF_RTR_SOLICIT_DELAY,
|
||||
DEVCONF_USE_TEMPADDR,
|
||||
DEVCONF_TEMP_VALID_LFT,
|
||||
DEVCONF_TEMP_PREFERED_LFT,
|
||||
DEVCONF_REGEN_MAX_RETRY,
|
||||
DEVCONF_MAX_DESYNC_FACTOR,
|
||||
DEVCONF_MAX_ADDRESSES,
|
||||
DEVCONF_FORCE_MLD_VERSION,
|
||||
DEVCONF_ACCEPT_RA_DEFRTR,
|
||||
DEVCONF_ACCEPT_RA_PINFO,
|
||||
DEVCONF_ACCEPT_RA_RTR_PREF,
|
||||
DEVCONF_RTR_PROBE_INTERVAL,
|
||||
DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN,
|
||||
DEVCONF_PROXY_NDP,
|
||||
DEVCONF_OPTIMISTIC_DAD,
|
||||
DEVCONF_ACCEPT_SOURCE_ROUTE,
|
||||
DEVCONF_MC_FORWARDING,
|
||||
DEVCONF_DISABLE_IPV6,
|
||||
DEVCONF_ACCEPT_DAD,
|
||||
DEVCONF_FORCE_TLLAO,
|
||||
DEVCONF_MAX
|
||||
};
|
||||
|
||||
#endif
|
104
libc/kernel/common/linux/mroute6.h
Normal file
104
libc/kernel/common/linux/mroute6.h
Normal file
@ -0,0 +1,104 @@
|
||||
/****************************************************************************
|
||||
****************************************************************************
|
||||
***
|
||||
*** This header was automatically generated from a Linux kernel header
|
||||
*** of the same name, to make information necessary for userspace to
|
||||
*** call into the kernel available to libc. It contains only constants,
|
||||
*** structures, and macros generated from the original header, and thus,
|
||||
*** contains no copyrightable information.
|
||||
***
|
||||
****************************************************************************
|
||||
****************************************************************************/
|
||||
#ifndef __LINUX_MROUTE6_H
|
||||
#define __LINUX_MROUTE6_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/sockios.h>
|
||||
|
||||
#define MRT6_BASE 200
|
||||
#define MRT6_INIT (MRT6_BASE)
|
||||
#define MRT6_DONE (MRT6_BASE+1)
|
||||
#define MRT6_ADD_MIF (MRT6_BASE+2)
|
||||
#define MRT6_DEL_MIF (MRT6_BASE+3)
|
||||
#define MRT6_ADD_MFC (MRT6_BASE+4)
|
||||
#define MRT6_DEL_MFC (MRT6_BASE+5)
|
||||
#define MRT6_VERSION (MRT6_BASE+6)
|
||||
#define MRT6_ASSERT (MRT6_BASE+7)
|
||||
#define MRT6_PIM (MRT6_BASE+8)
|
||||
#define MRT6_TABLE (MRT6_BASE+9)
|
||||
|
||||
#define SIOCGETMIFCNT_IN6 SIOCPROTOPRIVATE
|
||||
#define SIOCGETSGCNT_IN6 (SIOCPROTOPRIVATE+1)
|
||||
#define SIOCGETRPF (SIOCPROTOPRIVATE+2)
|
||||
|
||||
#define MAXMIFS 32
|
||||
typedef unsigned long mifbitmap_t;
|
||||
typedef unsigned short mifi_t;
|
||||
#define ALL_MIFS ((mifi_t)(-1))
|
||||
|
||||
#ifndef IF_SETSIZE
|
||||
#define IF_SETSIZE 256
|
||||
#endif
|
||||
|
||||
typedef __u32 if_mask;
|
||||
#define NIFBITS (sizeof(if_mask) * 8)
|
||||
|
||||
#ifndef DIV_ROUND_UP
|
||||
#define DIV_ROUND_UP(x,y) (((x) + ((y) - 1)) / (y))
|
||||
#endif
|
||||
|
||||
typedef struct if_set {
|
||||
if_mask ifs_bits[DIV_ROUND_UP(IF_SETSIZE, NIFBITS)];
|
||||
} if_set;
|
||||
|
||||
#define IF_SET(n, p) ((p)->ifs_bits[(n)/NIFBITS] |= (1 << ((n) % NIFBITS)))
|
||||
#define IF_CLR(n, p) ((p)->ifs_bits[(n)/NIFBITS] &= ~(1 << ((n) % NIFBITS)))
|
||||
#define IF_ISSET(n, p) ((p)->ifs_bits[(n)/NIFBITS] & (1 << ((n) % NIFBITS)))
|
||||
#define IF_COPY(f, t) bcopy(f, t, sizeof(*(f)))
|
||||
#define IF_ZERO(p) bzero(p, sizeof(*(p)))
|
||||
|
||||
struct mif6ctl {
|
||||
mifi_t mif6c_mifi;
|
||||
unsigned char mif6c_flags;
|
||||
unsigned char vifc_threshold;
|
||||
__u16 mif6c_pifi;
|
||||
unsigned int vifc_rate_limit;
|
||||
};
|
||||
|
||||
#define MIFF_REGISTER 0x1
|
||||
|
||||
struct mf6cctl {
|
||||
struct sockaddr_in6 mf6cc_origin;
|
||||
struct sockaddr_in6 mf6cc_mcastgrp;
|
||||
mifi_t mf6cc_parent;
|
||||
struct if_set mf6cc_ifset;
|
||||
};
|
||||
|
||||
struct sioc_sg_req6 {
|
||||
struct sockaddr_in6 src;
|
||||
struct sockaddr_in6 grp;
|
||||
unsigned long pktcnt;
|
||||
unsigned long bytecnt;
|
||||
unsigned long wrong_if;
|
||||
};
|
||||
|
||||
struct sioc_mif_req6 {
|
||||
mifi_t mifi;
|
||||
unsigned long icount;
|
||||
unsigned long ocount;
|
||||
unsigned long ibytes;
|
||||
unsigned long obytes;
|
||||
};
|
||||
|
||||
struct mrt6msg {
|
||||
#define MRT6MSG_NOCACHE 1
|
||||
#define MRT6MSG_WRONGMIF 2
|
||||
#define MRT6MSG_WHOLEPKT 3
|
||||
__u8 im6_mbz;
|
||||
__u8 im6_msgtype;
|
||||
__u16 im6_mif;
|
||||
__u32 im6_pad;
|
||||
struct in6_addr im6_src, im6_dst;
|
||||
};
|
||||
|
||||
#endif
|
@ -52,13 +52,13 @@
|
||||
enum nf_ip6_hook_priorities {
|
||||
NF_IP6_PRI_FIRST = INT_MIN,
|
||||
NF_IP6_PRI_CONNTRACK_DEFRAG = -400,
|
||||
NF_IP6_PRI_RAW = -300,
|
||||
NF_IP6_PRI_SELINUX_FIRST = -225,
|
||||
NF_IP6_PRI_CONNTRACK = -200,
|
||||
NF_IP6_PRI_BRIDGE_SABOTAGE_FORWARD = -175,
|
||||
NF_IP6_PRI_MANGLE = -150,
|
||||
NF_IP6_PRI_NAT_DST = -100,
|
||||
NF_IP6_PRI_BRIDGE_SABOTAGE_LOCAL_OUT = -50,
|
||||
NF_IP6_PRI_FILTER = 0,
|
||||
NF_IP6_PRI_SECURITY = 50,
|
||||
NF_IP6_PRI_NAT_SRC = 100,
|
||||
NF_IP6_PRI_SELINUX_LAST = 225,
|
||||
NF_IP6_PRI_LAST = INT_MAX,
|
||||
|
Loading…
Reference in New Issue
Block a user