X-Git-Url: https://git.saurik.com/apple/configd.git/blobdiff_plain/d6c893b2b88c79d2370e2c1a989b792a23b3e0da..af243a0d9bf37c3818926f82705eec9b22b50a4d:/dnsinfo/dnsinfo_create.h

diff --git a/dnsinfo/dnsinfo_create.h b/dnsinfo/dnsinfo_create.h
index f8d019a..5ad526d 100644
--- a/dnsinfo/dnsinfo_create.h
+++ b/dnsinfo/dnsinfo_create.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2005 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004-2006, 2008, 2009 Apple Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -28,7 +28,8 @@
  * These routines provide access to the systems DNS configuration
  */
 
-#include <AvailabilityMacros.h>
+#include <TargetConditionals.h>
+#include <Availability.h>
 #include <sys/cdefs.h>
 #include <stdint.h>
 #include <sys/types.h>
@@ -37,37 +38,112 @@
 
 #include <dnsinfo.h>
 
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
-
 typedef const struct __dns_create_config *      dns_create_config_t;
 typedef const struct __dns_create_resolver *    dns_create_resolver_t;
 
+#if	!TARGET_OS_IPHONE
+#ifndef _PATH_RESOLVER_DIR
+#define _PATH_RESOLVER_DIR "/etc/resolver"
+#endif
+#endif	/* !TARGET_OS_IPHONE */
+
 __BEGIN_DECLS
 
+/*
+ * NOTE: __private_extern__ and __OSX_AVAILABLE_STARTING() cannot be mixed
+ *       due to a "visibility" conflict
+ */
+
 /*
  * DNS configuration creation APIs
  */
-dns_create_config_t     _dns_configuration_create       ();
-void			_dns_configuration_add_resolver (dns_create_config_t *_config, dns_create_resolver_t _resolver);
-_Bool			_dns_configuration_store	(dns_create_config_t *_config);
-void			_dns_configuration_free		(dns_create_config_t *_config);
+__private_extern__
+dns_create_config_t
+_dns_configuration_create       (void)						/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
+
+__private_extern__
+void
+_dns_configuration_add_resolver (dns_create_config_t	*_config,
+				 dns_create_resolver_t	_resolver)		/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
+
+__private_extern__
+_Bool
+_dns_configuration_store	(dns_create_config_t	*_config)		/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
+
+__private_extern__
+void
+_dns_configuration_free		(dns_create_config_t	*_config)		/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
 
 /*
  * DNS [resolver] configuration creation APIs
  */
-dns_create_resolver_t   _dns_resolver_create();
-void			_dns_resolver_set_domain	(dns_create_resolver_t *_resolver, const char *domain);
-void			_dns_resolver_add_nameserver	(dns_create_resolver_t *_resolver, struct sockaddr *nameserver);
-void			_dns_resolver_set_port		(dns_create_resolver_t *_resolver, uint32_t port);	// host byte order
-void			_dns_resolver_add_search	(dns_create_resolver_t *_resolver, const char *search);
-void			_dns_resolver_add_sortaddr	(dns_create_resolver_t *_resolver, dns_sortaddr_t *sortaddr);
-void			_dns_resolver_set_options	(dns_create_resolver_t *_resolver, const char *options);
-void			_dns_resolver_set_timeout	(dns_create_resolver_t *_resolver, uint32_t timeout);
-void			_dns_resolver_set_order		(dns_create_resolver_t *_resolver, uint32_t order);
-void			_dns_resolver_free		(dns_create_resolver_t *_resolver);
+__private_extern__
+dns_create_resolver_t
+_dns_resolver_create		(void)						/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
 
-__END_DECLS
+__private_extern__
+void
+_dns_resolver_set_domain	(dns_create_resolver_t	*_resolver,
+				 const char		*domain)		/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
+
+__private_extern__
+void
+_dns_resolver_add_nameserver	(dns_create_resolver_t	*_resolver,
+				 struct sockaddr	*nameserver)		/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
+
+__private_extern__
+void
+_dns_resolver_add_search	(dns_create_resolver_t	*_resolver,
+				 const char		*search)		/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
+
+__private_extern__
+void
+_dns_resolver_add_sortaddr	(dns_create_resolver_t	*_resolver,
+				 dns_sortaddr_t		*sortaddr)		/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
 
-#endif	/* MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */
+__private_extern__
+void
+_dns_resolver_set_flags		(dns_create_resolver_t	*_resolver,
+				 uint32_t		flags)			/*__OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_4_0)*/;
+
+__private_extern__
+void
+_dns_resolver_set_if_index	(dns_create_resolver_t	*_resolver,
+				 uint32_t		if_index)		/*__OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_4_0)*/;
+
+__private_extern__
+void
+_dns_resolver_set_options	(dns_create_resolver_t	*_resolver,
+				 const char		*options)		/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
+
+__private_extern__
+void
+_dns_resolver_set_order		(dns_create_resolver_t	*_resolver,
+				 uint32_t		order)			/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
+
+__private_extern__
+void
+_dns_resolver_set_port		(dns_create_resolver_t	*_resolver,
+				 uint16_t		port)			/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;	// host byte order
+
+__private_extern__
+void
+_dns_resolver_set_timeout	(dns_create_resolver_t	*_resolver,
+				 uint32_t		timeout)		/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
+
+__private_extern__
+void
+_dns_resolver_free		(dns_create_resolver_t	*_resolver)		/*__OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_2_0)*/;
+
+#if	!TARGET_OS_IPHONE
+/*
+ * DNS [resolver] flat-file configuration creation APIs
+ */
+__private_extern__
+void
+_dnsinfo_flatfile_add_resolvers	(dns_create_config_t	*config)		/*__OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA)*/;
+#endif	// !TARGET_OS_IPHONE
+
+__END_DECLS
 
 #endif	/* __DNSINFO_CREATE_H__ */