summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-11-14 06:58:35 +0000
committerUlrich Drepper <drepper@redhat.com>2007-11-14 06:58:35 +0000
commit773e79b3162dff01e080cb152ff77945244f5a17 (patch)
treec5b1f11c79b36c6c1d02e80b0f6e00274ea6e586 /include
parente458144c99ddc00769ffa6bd367c21d37e879d83 (diff)
downloadglibc-773e79b3162dff01e080cb152ff77945244f5a17.tar.gz
glibc-773e79b3162dff01e080cb152ff77945244f5a17.tar.xz
glibc-773e79b3162dff01e080cb152ff77945244f5a17.zip
* include/ifaddrs.h: Remove in6ai_temporary.
	(struct in6addrinfo): Add index element.
	Declare __check_native.
	* inet/Makefile (aux): Add check_native.
	* sysdeps/unix/sysv/linux/check_native.c: New file.
	* sysdeps/unix/sysv/linux/check_pf.c: No need to recognize
	IFA_F_TEMPORARY.  Pass back ifa_index.
	* sysdeps/posix/getaddrinfo.c: Remove netlink compatibility code.
	(rfc3484_sort): Add new parameter.  Implement rule 7 correctly:
	call __check_native if necessary.
	(getaddrinfo): Fill in index field.  Use qsort_r instead of qsort
	to sort addresses.  Pass information about the results.
	* posix/tst-rfc3484.c: Adjust for addition of index field and change
	of rfc3484_sort interface.
	* posix/tst-rfc3484-2.c: Likewise.
Diffstat (limited to 'include')
-rw-r--r--include/ifaddrs.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/ifaddrs.h b/include/ifaddrs.h
index 7d52dc6dc8..50e4c48e82 100644
--- a/include/ifaddrs.h
+++ b/include/ifaddrs.h
@@ -10,16 +10,19 @@ struct in6addrinfo
 {
   enum {
     in6ai_deprecated = 1,
-    in6ai_temporary = 2,
-    in6ai_homeaddress = 4
+    in6ai_homeaddress = 2
   } flags:8;
   uint8_t prefixlen;
   uint16_t :16;
+  uint32_t index;
   uint32_t addr[4];
 };
 
 extern void __check_pf (bool *seen_ipv4, bool *seen_ipv6,
 			struct in6addrinfo **in6ai, size_t *in6ailen)
   attribute_hidden;
+extern void __check_native (uint32_t a1_index, int *a1_native,
+			    uint32_t a2_index, int *a2_native)
+  attribute_hidden;
 
 #endif	/* ifaddrs.h */