about summary refs log tree commit diff
path: root/inet/netinet/ip6.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-05-25 04:50:06 +0000
committerUlrich Drepper <drepper@redhat.com>2006-05-25 04:50:06 +0000
commit07bfff20c78f861cb0cca78e4d26b9c662d21248 (patch)
treeb4f0f0ab095d024f3f02dee0c8552e1b1b959ff0 /inet/netinet/ip6.h
parentaec6b246ee12824b8423885c9c445c869d86876e (diff)
downloadglibc-07bfff20c78f861cb0cca78e4d26b9c662d21248.tar.gz
glibc-07bfff20c78f861cb0cca78e4d26b9c662d21248.tar.xz
glibc-07bfff20c78f861cb0cca78e4d26b9c662d21248.zip
[BZ #2693]
	* inet/Makefile (routines): Add inet6_opt and inet6_rth.
	* inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
	inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
	inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
	inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
	and inet6_rth_getaddr.
	* inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
	array.
	* inet/netinet/in.h (struct ip6_mtuinfo): Define.
	Mark inet6_option_* interfaces as deprecated.
	Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
	inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
	inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
	inet6_rth_segments, and inet6_rth_getaddr.
	* inet/inet6_opt.c: New file.
	* inet/inet6_rth.c: New file.

	* inet/netinet/icmp6.h: Pretty printing.
Diffstat (limited to 'inet/netinet/ip6.h')
-rw-r--r--inet/netinet/ip6.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/inet/netinet/ip6.h b/inet/netinet/ip6.h
index 0ad62f8980..bef2af2f5a 100644
--- a/inet/netinet/ip6.h
+++ b/inet/netinet/ip6.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1997, 2001, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1997, 2001, 2003, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -89,7 +89,8 @@ struct ip6_rthdr0
     uint8_t  ip6r0_segleft;	/* segments left */
     uint8_t  ip6r0_reserved;	/* reserved field */
     uint8_t  ip6r0_slmap[3];	/* strict/loose bit map */
-    struct in6_addr  ip6r0_addr[1];  /* up to 23 addresses */
+    /* followed by up to 127 struct in6_addr */
+    struct in6_addr ip6r0_addr[0];
   };
 
 /* Fragment header */
@@ -101,14 +102,14 @@ struct ip6_frag
     uint32_t  ip6f_ident;	/* identification */
   };
 
-#if     BYTE_ORDER == BIG_ENDIAN
-#define IP6F_OFF_MASK       0xfff8  /* mask out offset from _offlg */
-#define IP6F_RESERVED_MASK  0x0006  /* reserved bits in ip6f_offlg */
-#define IP6F_MORE_FRAG      0x0001  /* more-fragments flag */
+#if BYTE_ORDER == BIG_ENDIAN
+# define IP6F_OFF_MASK       0xfff8  /* mask out offset from _offlg */
+# define IP6F_RESERVED_MASK  0x0006  /* reserved bits in ip6f_offlg */
+# define IP6F_MORE_FRAG      0x0001  /* more-fragments flag */
 #else   /* BYTE_ORDER == LITTLE_ENDIAN */
-#define IP6F_OFF_MASK       0xf8ff  /* mask out offset from _offlg */
-#define IP6F_RESERVED_MASK  0x0600  /* reserved bits in ip6f_offlg */
-#define IP6F_MORE_FRAG      0x0100  /* more-fragments flag */
+# define IP6F_OFF_MASK       0xf8ff  /* mask out offset from _offlg */
+# define IP6F_RESERVED_MASK  0x0600  /* reserved bits in ip6f_offlg */
+# define IP6F_MORE_FRAG      0x0100  /* more-fragments flag */
 #endif
 
 /* IPv6 options */
@@ -175,7 +176,7 @@ struct ip6_opt_router
   };
 
 /* Router alert values (in network byte order) */
-#if     BYTE_ORDER == BIG_ENDIAN
+#if BYTE_ORDER == BIG_ENDIAN
 # define IP6_ALERT_MLD	0x0000
 # define IP6_ALERT_RSVP	0x0001
 # define IP6_ALERT_AN	0x0002