about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--linuxthreads/ChangeLog27
-rw-r--r--sysdeps/unix/sysv/linux/bits/in.h74
-rw-r--r--sysdeps/unix/sysv/linux/bits/socket.h2
4 files changed, 86 insertions, 25 deletions
diff --git a/ChangeLog b/ChangeLog
index de6027ea4e..a679ab0af5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+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.
+
 1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
 	* sysdeps/unix/sysv/linux/sys/swap.h (SWAP_FLAG_PREFER,
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 7df83c9a9a..88f5eb7c8c 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,14 +1,19 @@
-1998-09-15  David S. Miller  <davem@pierdol.cobaltmicro.com> 
- 
-	* sysdeps/sparc/sparc32/pt-machine.h (INIT_THREAD_SELF): Add nr 
-	argument. 
-	* sysdeps/sparc/sparc64/pt-machine.h (INIT_THREAD_SELF): Likewise. 
- 
-1998-09-12 14:24 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu> 
- 
-	* linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h: Add 
-	multiple inclusion guard. 
- 
+1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* semaphore.h: Include <sys/types.h> so that _pthread_descr
+	is declared.
+
+1998-09-15  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+	* sysdeps/sparc/sparc32/pt-machine.h (INIT_THREAD_SELF): Add nr
+	argument.
+	* sysdeps/sparc/sparc64/pt-machine.h (INIT_THREAD_SELF): Likewise.
+
+1998-09-12 14:24 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+	* linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h: Add
+	multiple inclusion guard.
+
 1998-09-02 11:08  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
 	* signals.c (sigaction): Check that sig is less than NSIG to avoid
diff --git a/sysdeps/unix/sysv/linux/bits/in.h b/sysdeps/unix/sysv/linux/bits/in.h
index 2e9b66fc4c..5f8d8d6fd9 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 a11c22db72..e5f4259433 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