aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-10-05 13:43:16 +0000
committerUlrich Drepper <drepper@redhat.com>1998-10-05 13:43:16 +0000
commitc10bb7956d1e3be11133d592154970a50afb6e53 (patch)
tree5dd0603cbc9275a04005819a210a797bf7948414 /sysdeps
parent8325d82cf3910aec38b9182face1fc3d524f676b (diff)
downloadglibc-c10bb7956d1e3be11133d592154970a50afb6e53.zip
glibc-c10bb7956d1e3be11133d592154970a50afb6e53.tar.gz
glibc-c10bb7956d1e3be11133d592154970a50afb6e53.tar.bz2
Update.
1998-10-05 Philip Blundell <philb@gnu.org> * sysdeps/unix/sysv/linux/bits/in.h: Add various new structures and constants. Tidy up formatting a little. * sysdeps/unix/sysv/linux/bits/socket.h (SOL_IPV6, SOL_ICMPV6): Move definitions to in.h.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/bits/in.h74
-rw-r--r--sysdeps/unix/sysv/linux/bits/socket.h2
2 files changed, 62 insertions, 14 deletions
diff --git a/sysdeps/unix/sysv/linux/bits/in.h b/sysdeps/unix/sysv/linux/bits/in.h
index 2e9b66f..5f8d8d6 100644
--- a/sysdeps/unix/sysv/linux/bits/in.h
+++ b/sysdeps/unix/sysv/linux/bits/in.h
@@ -25,19 +25,41 @@
/* Options for use with `getsockopt' and `setsockopt' at the IP level.
The first word in the comment at the right is the data type used;
"bool" means a boolean value stored in an `int'. */
-#define IP_TOS 1 /* int; IP type of service and precedence. */
-#define IP_TTL 2 /* int; IP time to live. */
-#define IP_HDRINCL 3 /* int; Header is included with data. */
-#define IP_OPTIONS 4 /* ip_opts; IP per-packet options. */
+#define IP_TOS 1 /* int; IP type of service and precedence. */
+#define IP_TTL 2 /* int; IP time to live. */
+#define IP_HDRINCL 3 /* int; Header is included with data. */
+#define IP_OPTIONS 4 /* ip_opts; IP per-packet options. */
+#define IP_ROUTER_ALERT 5 /* bool */
+#define IP_RECVOPTS 6 /* bool */
+#define IP_RETOPTS 7 /* bool */
+#define IP_PKTINFO 8 /* bool */
+#define IP_PKTOPTIONS 9
+#define IP_PMTUDISC 10 /* obsolete name? */
+#define IP_MTU_DISCOVER 10 /* int; see below */
+#define IP_RECVERR 11 /* bool */
+#define IP_RECVTTL 12 /* bool */
+#define IP_RECVTOS 13 /* bool */
#define IP_MULTICAST_IF 32 /* in_addr; set/get IP multicast i/f */
#define IP_MULTICAST_TTL 33 /* u_char; set/get IP multicast ttl */
#define IP_MULTICAST_LOOP 34 /* i_char; set/get IP multicast loopback */
#define IP_ADD_MEMBERSHIP 35 /* ip_mreq; add an IP group membership */
#define IP_DROP_MEMBERSHIP 36 /* ip_mreq; drop an IP group membership */
+/* For BSD compatibility. */
+#define IP_RECVRETOPTS IP_RETOPTS
+
+/* IP_MTU_DISCOVER arguments. */
+#define IP_PMTUDISC_DONT 0 /* Never send DF frames. */
+#define IP_PMTUDISC_WANT 1 /* Use per route hints. */
+#define IP_PMTUDISC_DO 2 /* Always DF. */
+
/* To select the IP level. */
#define SOL_IP 0
+#define IP_DEFAULT_MULTICAST_TTL 1
+#define IP_DEFAULT_MULTICAST_LOOP 1
+#define IP_MAX_MEMBERSHIPS 20
+
/* Structure used to describe IP options for IP_OPTIONS. The `ip_dst'
field is used for the first-hop gateway when using a source route
(this gets put into the header proper). */
@@ -54,20 +76,34 @@ struct ip_mreq
struct in_addr imr_interface; /* local IP address of interface */
};
-/* IPV6 socket options. */
+/* As above but including interface specification by index. */
+struct ip_mreqn
+ {
+ struct in_addr imr_multiaddr; /* IP multicast address of group */
+ struct in_addr imr_address; /* local IP address of interface */
+ int imr_ifindex; /* Interface index */
+ };
+
+/* As above but for IPv6. */
+struct ipv6_mreq
+ {
+ struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast address of group */
+ int ipv6mr_ifindex; /* local IPv6 address of interface */
+ };
+
+/* Options for use with `getsockopt' and `setsockopt' at the IPv6 level.
+ The first word in the comment at the right is the data type used;
+ "bool" means a boolean value stored in an `int'. */
#define IPV6_ADDRFORM 1
#define IPV6_PKTINFO 2
-#define IPV6_RXHOPOPTS 3 /* obsolete name */
-#define IPV6_RXDSTOPTS 4 /* obsolete name */
-#define IPV6_HOPOPTS IPV6_RXHOPOPTS /* new name */
-#define IPV6_DSTOPTS IPV6_RXDSTOPTS /* new name */
+#define IPV6_HOPOPTS 3
+#define IPV6_DSTOPTS 4
#define IPV6_RXSRCRT 5
#define IPV6_PKTOPTIONS 6
#define IPV6_CHECKSUM 7
#define IPV6_HOPLIMIT 8
-
-#define SCM_SRCRT IPV6_RXSRCRT
-
+#define IPV6_NEXTHOP 9
+#define IPV6_AUTHHDR 10
#define IPV6_UNICAST_HOPS 16
#define IPV6_MULTICAST_IF 17
#define IPV6_MULTICAST_HOPS 18
@@ -75,3 +111,17 @@ struct ip_mreq
#define IPV6_ADD_MEMBERSHIP 20
#define IPV6_DROP_MEMBERSHIP 21
#define IPV6_ROUTER_ALERT 22
+
+#define SCM_SRCRT IPV6_RXSRCRT
+
+#define IPV6_RXHOPOPTS IPV6_HOPOPTS /* obsolete name */
+#define IPV6_RXDSTOPTS IPV6_DSTOPTS /* obsolete name */
+
+/* IPV6_MTU_DISCOVER values. */
+#define IPV6_PMTUDISC_DONT 0 /* Never send DF frames. */
+#define IPV6_PMTUDISC_WANT 1 /* Use per route hints. */
+#define IPV6_PMTUDISC_DO 2 /* Always DF. */
+
+/* Socket level values for IPv6. */
+#define SOL_IPV6 41
+#define SOL_ICMPV6 58
diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h
index a11c22d..e5f4259 100644
--- a/sysdeps/unix/sysv/linux/bits/socket.h
+++ b/sysdeps/unix/sysv/linux/bits/socket.h
@@ -115,8 +115,6 @@ enum __socket_type
XXX These definitions also should go into the appropriate headers as
far as they are available. */
-#define SOL_IPV6 41
-#define SOL_ICMPV6 58
#define SOL_RAW 255
#define SOL_DECNET 261
#define SOL_X25 262