Check that you are not present in trail twice
[oweals/gnunet.git] / src / transport / plugin_transport_http_common.h
index c3fa1bba4619438dfefe76d8e04f7a4322a29263..1fb1bd1ed306d581d8f90b0f72c22ceab323748b 100644 (file)
      Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      Boston, MA 02111-1307, USA.
 */
-
 /**
  * @file transport/plugin_transport_http_common.c
  * @brief functionality shared by http client and server transport service plugin
  * @author Matthias Wachs
  */
-
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_transport_plugin.h"
@@ -86,10 +84,25 @@ struct HttpAddress
 
 GNUNET_NETWORK_STRUCT_END
 
-struct SplittedHTTPAddress;
+/**
+ * Representation of HTTP URL split into its components.
+ */
+struct SplittedHTTPAddress
+{
+  char *protocol;
+  char *host;
+  char *path;
+  int port;
+};
+
 
+/**
+ * Split an HTTP address into protocol, hostname, port
+ * and path components.
+ */
 struct SplittedHTTPAddress *
-http_split_address (const char * addr);
+http_split_address (const char *addr);
+
 
 /**
  * Convert the transports address to a nice, human-readable
@@ -106,12 +119,14 @@ http_split_address (const char * addr);
  * @param asc_cls closure for @a asc
  */
 void
-http_common_plugin_address_pretty_printer (void *cls, const char *type,
-                                           const void *addr, size_t addrlen,
+http_common_plugin_address_pretty_printer (void *cls,
+                                           const char *type,
+                                           const void *addr,
+                                           size_t addrlen,
                                            int numeric,
                                            struct GNUNET_TIME_Relative timeout,
-                                           GNUNET_TRANSPORT_AddressStringCallback
-                                           asc, void *asc_cls);
+                                           GNUNET_TRANSPORT_AddressStringCallback asc,
+                                           void *asc_cls);
 
 
 /**
@@ -120,15 +135,13 @@ http_common_plugin_address_pretty_printer (void *cls, const char *type,
  * address and that the next call to this function is allowed
  * to override the address again.
  *
- * @param cls closure
- * @param plugin the plugin
+ * @param plugin name of the plugin
  * @param addr binary address
- * @param addrlen length of the address
+ * @param addrlen length of @a addr
  * @return string representing the same address
  */
 const char *
-http_common_plugin_address_to_string (void *cls,
-                                      const char *plugin,
+http_common_plugin_address_to_string (const char *plugin,
                                       const void *addr,
                                       size_t addrlen);
 
@@ -204,9 +217,9 @@ http_common_address_get_size (const struct HttpAddress * addr);
  * Compare addr1 to addr2
  *
  * @param addr1 address1
- * @param addrlen1 address 1 length
+ * @param addrlen1 length of @a address1
  * @param addr2 address2
- * @param addrlen2 address 2 length
+ * @param addrlen2 length of @a address2
  * @return #GNUNET_YES if equal, #GNUNET_NO else
  */
 size_t