-fix double free, linker issue
[oweals/gnunet.git] / src / include / gnunet_resolver_service.h
index 6ffcc94551448a065559f193b250b2412894985f..498400dc3e96be2bb75ebaba223140844c562100 100644 (file)
@@ -48,7 +48,7 @@ extern "C"
  * @param addrlen length of the address
  */
 typedef void (*GNUNET_RESOLVER_AddressCallback) (void *cls,
-                                                 const struct sockaddr *addr,
+                                                 const struct sockaddr * addr,
                                                  socklen_t addrlen);
 
 
@@ -58,40 +58,50 @@ typedef void (*GNUNET_RESOLVER_AddressCallback) (void *cls,
  */
 struct GNUNET_RESOLVER_RequestHandle;
 
+/**
+ * Create the connection to the resolver service.
+ *
+ * @param cfg configuration to use
+ */
+void
+GNUNET_RESOLVER_connect (const struct GNUNET_CONFIGURATION_Handle *cfg);
+
+
+/**
+ * Destroy the connection to the resolver service.
+ */
+void
+GNUNET_RESOLVER_disconnect (void);
+
 
 /**
  * Convert a string to one or more IP addresses.
  *
- * @param cfg configuration to use
  * @param hostname the hostname to resolve
- * @param domain AF_INET or AF_INET6; use AF_UNSPEC for "any"
+ * @param af AF_INET or AF_INET6; use AF_UNSPEC for "any"
  * @param callback function to call with addresses
  * @param callback_cls closure for callback
  * @param timeout how long to try resolving
  * @return handle that can be used to cancel the request, NULL on error
  */
 struct GNUNET_RESOLVER_RequestHandle *
-GNUNET_RESOLVER_ip_get (const struct GNUNET_CONFIGURATION_Handle *cfg,
-                        const char *hostname,
-                        int domain,
+GNUNET_RESOLVER_ip_get (const char *hostname, int af,
                         struct GNUNET_TIME_Relative timeout,
-                        GNUNET_RESOLVER_AddressCallback callback, 
-                       void *callback_cls);
+                        GNUNET_RESOLVER_AddressCallback callback,
+                        void *callback_cls);
 
 
 /**
  * Resolve our hostname to an IP address.
  *
- * @param cfg configuration to use
- * @param domain AF_INET or AF_INET6; use AF_UNSPEC for "any"
+ * @param af AF_INET or AF_INET6; use AF_UNSPEC for "any"
  * @param callback function to call with addresses
  * @param cls closure for callback
  * @param timeout how long to try resolving
  * @return handle that can be used to cancel the request, NULL on error
  */
 struct GNUNET_RESOLVER_RequestHandle *
-GNUNET_RESOLVER_hostname_resolve (const struct GNUNET_CONFIGURATION_Handle *cfg,
-                                  int domain,
+GNUNET_RESOLVER_hostname_resolve (int af,
                                   struct GNUNET_TIME_Relative timeout,
                                   GNUNET_RESOLVER_AddressCallback callback,
                                   void *cls);
@@ -113,13 +123,12 @@ typedef void (*GNUNET_RESOLVER_HostnameCallback) (void *cls,
  * @return local hostname, caller must free
  */
 char *
-GNUNET_RESOLVER_local_fqdn_get ( void );
+GNUNET_RESOLVER_local_fqdn_get (void);
 
 
 /**
  * Perform a reverse DNS lookup.
  *
- * @param cfg configuration to use
  * @param sa host address
  * @param salen length of host address
  * @param do_resolve use GNUNET_NO to return numeric hostname
@@ -128,14 +137,12 @@ GNUNET_RESOLVER_local_fqdn_get ( void );
  * @param cls closure for callback
  * @return handle that can be used to cancel the request, NULL on error
  */
-struct GNUNET_RESOLVER_RequestHandle * 
-GNUNET_RESOLVER_hostname_get (const struct GNUNET_CONFIGURATION_Handle *cfg,
-                             const struct sockaddr *sa,
-                             socklen_t salen,
-                             int do_resolve,
-                             struct GNUNET_TIME_Relative timeout,
-                             GNUNET_RESOLVER_HostnameCallback callback,
-                             void *cls);
+struct GNUNET_RESOLVER_RequestHandle *
+GNUNET_RESOLVER_hostname_get (const struct sockaddr *sa, socklen_t salen,
+                              int do_resolve,
+                              struct GNUNET_TIME_Relative timeout,
+                              GNUNET_RESOLVER_HostnameCallback callback,
+                              void *cls);
 
 
 /**
@@ -144,10 +151,10 @@ GNUNET_RESOLVER_hostname_get (const struct GNUNET_CONFIGURATION_Handle *cfg,
  * been completed (i.e, the callback has been called to
  * signal timeout or the final result).
  *
- * @param h handle of request to cancel
+ * @param rh handle of request to cancel
  */
 void
-GNUNET_RESOLVER_request_cancel (struct GNUNET_RESOLVER_RequestHandle *h);
+GNUNET_RESOLVER_request_cancel (struct GNUNET_RESOLVER_RequestHandle *rh);
 
 
 #if 0                           /* keep Emacsens' auto-indent happy */