fixing major issue with how IP addresses go over the network (previously ill-defined...
[oweals/gnunet.git] / src / transport / plugin_transport_template.c
index 6ad555a51378bc0ee007030b9aec87748e400396..1ca4d018f9098333af92047620e85c6fef6149b6 100644 (file)
@@ -139,6 +139,7 @@ struct Plugin
  * @param msgbuf the message to transmit
  * @param msgbuf_size number of bytes in 'msgbuf'
  * @param timeout when should we time out 
+ * @param session which session must be used (or NULL for "any")
  * @param addr the address to use (can be NULL if the plugin
  *                is "on its own" (i.e. re-use existing TCP connection))
  * @param addrlen length of the address in bytes
@@ -162,6 +163,7 @@ template_plugin_send (void *cls,
                       size_t msgbuf_size,
                       unsigned int priority,
                       struct GNUNET_TIME_Relative timeout,
+                     struct Session *session,
                       const void *addr,
                       size_t addrlen,
                       int force_address,
@@ -245,6 +247,29 @@ template_plugin_address_suggested (void *cls,
 }
 
 
+/**
+ * Function called for a quick conversion of the binary address to
+ * a numeric address.  Note that the caller must not free the 
+ * address and that the next call to this function is allowed
+ * to override the address again.
+ *
+ * @param cls closure
+ * @param addr binary address
+ * @param addr_len length of the address
+ * @return string representing the same address 
+ */
+static const char* 
+template_plugin_address_to_string (void *cls,
+                                  const void *addr,
+                                  size_t addrlen)
+{
+  GNUNET_break (0);
+  return NULL;
+}
+
+
+
+
 /**
  * Entry point for the plugin.
  */
@@ -264,6 +289,7 @@ gnunet_plugin_transport_template_init (void *cls)
   api->disconnect = &template_plugin_disconnect;
   api->address_pretty_printer = &template_plugin_address_pretty_printer;
   api->check_address = &template_plugin_address_suggested;
+  api->address_to_string = &template_plugin_address_to_string;
   return api;
 }