summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSzabolcs Nagy <nsz@port70.net>2014-05-30 14:15:48 +0200
committerRich Felker <dalias@aerifal.cx>2014-05-30 13:06:51 -0400
commitc3504686580bd93c3937e3b6d6cfa223c4cd7b74 (patch)
tree87ce8c0aa211ecc6a47b4703f7fb48afba9d9bf3 /include
parentc8ea212668425c860c8af3d85aec223dec1f1395 (diff)
downloadmusl-c3504686580bd93c3937e3b6d6cfa223c4cd7b74.tar.gz
update netinet/in.h to match the current kernel uapi
from linux/in.h and linux/in6.h uapi headers the following missing socket options were added: IP_NODEFRAG - used with customized ipv4 headers IPV6_RECVPATHMTU - for ipv6 path mtu IPV6_PATHMTU - for ipv6 path mtu IPV6_DONTFRAG - for ipv6 path mtu IPV6_ADDR_PREFERENCES - RFC5014 Source Address Selection IPV6_MINHOPCOUNT - RFC5082 Generalized TTL Security Mechanism IPV6_ORIGDSTADDR - used by tproxy IPV6_RECVORIGDSTADDR - used by tproxy IPV6_TRANSPARENT - used by tproxy IPV6_UNICAST_IF - ipv6 version of IP_UNICAST_IF and socket option values: IP_PMTUDISC_OMIT - value for IP_MTU_DISCOVER option, new in linux 3.14 IPV6_PMTUDISC_OMIT - same for IPV6_MTU_DISCOVER IPV6_PMTUDISC_INTERFACE - ipv6 version of IP_PMTUDISC_INTERFACE IPV6_PREFER_* - flags for IPV6_ADDR_PREFERENCES not added: ipv6 flow info and flow label related definitions. (it's unclear if libc should define these and namespace polluting type name is involved so they are not provided for now)
Diffstat (limited to 'include')
-rw-r--r--include/netinet/in.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/include/netinet/in.h b/include/netinet/in.h
index ee6e19fb..89188c78 100644
--- a/include/netinet/in.h
+++ b/include/netinet/in.h
@@ -198,6 +198,7 @@ uint16_t ntohs(uint16_t);
#define IP_ORIGDSTADDR 20
#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR
#define IP_MINTTL 21
+#define IP_NODEFRAG 22
#define IP_MULTICAST_IF 32
#define IP_MULTICAST_TTL 33
#define IP_MULTICAST_LOOP 34
@@ -218,6 +219,7 @@ uint16_t ntohs(uint16_t);
#define IP_PMTUDISC_DO 2
#define IP_PMTUDISC_PROBE 3
#define IP_PMTUDISC_INTERFACE 4
+#define IP_PMTUDISC_OMIT 5
#define IP_DEFAULT_MULTICAST_TTL 1
#define IP_DEFAULT_MULTICAST_LOOP 1
@@ -351,9 +353,17 @@ struct ip6_mtuinfo
#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_MINHOPCOUNT 73
+#define IPV6_ORIGDSTADDR 74
+#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR
+#define IPV6_TRANSPARENT 75
+#define IPV6_UNICAST_IF 76
#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
#define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
@@ -364,6 +374,16 @@ struct ip6_mtuinfo
#define IPV6_PMTUDISC_WANT 1
#define IPV6_PMTUDISC_DO 2
#define IPV6_PMTUDISC_PROBE 3
+#define IPV6_PMTUDISC_INTERFACE 4
+#define IPV6_PMTUDISC_OMIT 5
+
+#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_RTHDR_LOOSE 0
#define IPV6_RTHDR_STRICT 1