]> git.saurik.com Git - apple/configd.git/blobdiff - dnsinfo/dnsinfo_create.h
configd-395.11.tar.gz
[apple/configd.git] / dnsinfo / dnsinfo_create.h
index f8d019a20e6515d83bd7e3615b9b6d1e73ac87fe..5ad526d737c2cde9926eb58098c5fb38f1f56a9f 100644 (file)
@@ -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>
 
 #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__ */