about summary refs log tree commit diff
path: root/include/ifaddrs.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-04-16 21:34:32 +0000
committerUlrich Drepper <drepper@redhat.com>2006-04-16 21:34:32 +0000
commit3af48b5b3106e1bb1de4efcabb86cd1fafdff8af (patch)
tree680c8164581df5834d65b31796392173461d9325 /include/ifaddrs.h
parenta238728234a94cb8e8024e4718356ff808487a88 (diff)
downloadglibc-3af48b5b3106e1bb1de4efcabb86cd1fafdff8af.tar.gz
glibc-3af48b5b3106e1bb1de4efcabb86cd1fafdff8af.tar.xz
glibc-3af48b5b3106e1bb1de4efcabb86cd1fafdff8af.zip
* include/ifaddrs.h: Define struct in6addrinfo.
	Add two more parameters to __check_pf.
	* sysdeps/unix/sysv/linux/check_pf.c: When using the netlink
	interface, determine whether IPv6 addresses are deprecated or
	temporary.  Create array of those addresses.
	* inet/check_pf.c: Always tell caller there are no depracated
	and temporary addresses.
	* sysdeps/posix/getaddrinfo.c: Pretty printing.
	(struct sort_result): Add source_addr_flags field.
	(rfc3484_sort): Implement rule 3 and 7.
	(in6aicmp): New function.
	(getaddrinfo): Call __check_pf also when we need info about IPv6
	source addresses.  When creating array for sorting addresses,
	look up deprecated and temporary addresses returned by __check_pf
	and add flag if necessary.
Diffstat (limited to 'include/ifaddrs.h')
-rw-r--r--include/ifaddrs.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/ifaddrs.h b/include/ifaddrs.h
index aa20c35101..d41547a743 100644
--- a/include/ifaddrs.h
+++ b/include/ifaddrs.h
@@ -5,6 +5,17 @@
 libc_hidden_proto (getifaddrs)
 libc_hidden_proto (freeifaddrs)
 
-extern void __check_pf (bool *seen_ipv4, bool *seen_ipv6) attribute_hidden;
+struct in6addrinfo
+{
+  enum {
+    in6ai_deprecated = 1,
+    in6ai_temporary = 2
+  } flags;
+  uint32_t addr[4];
+};
+
+extern void __check_pf (bool *seen_ipv4, bool *seen_ipv6,
+			struct in6addrinfo **in6ai, size_t *in6ailen)
+  attribute_hidden;
 
 #endif	/* ifaddrs.h */