Using regex for exit/vpn
[oweals/gnunet.git] / src / include / gnunet_dv_service.h
index f7367cd80be870b1938dabbd045a245d84c9d98b..3454ebc24bed0f5603946d751bf660ca47b35f2b 100644 (file)
@@ -4,7 +4,7 @@
 
       GNUnet is free software; you can redistribute it and/or modify
       it under the terms of the GNU General Public License as published
-      by the Free Software Foundation; either version 2, or (at your
+      by the Free Software Foundation; either version 3, or (at your
       option) any later version.
 
       GNUnet is distributed in the hope that it will be useful, but
@@ -40,6 +40,7 @@ extern "C"
 #include "gnunet_common.h"
 #include "gnunet_configuration_lib.h"
 #include "gnunet_scheduler_lib.h"
+#include "gnunet_transport_plugin.h"
 
 /**
  * Version of the dv API.
@@ -51,15 +52,29 @@ extern "C"
  */
 struct GNUNET_DV_Handle;
 
-
-int GNUNET_DV_send (struct GNUNET_DV_Handle *dv_handle,
-                    const struct GNUNET_PeerIdentity *target,
-                    const char *msgbuf,
-                    size_t msgbuf_size,
-                    unsigned int priority,
-                    struct GNUNET_TIME_Relative timeout,
-                    const void *addr,
-                    size_t addrlen);
+/**
+ * Send a message from the plugin to the DV service indicating that
+ * a message should be sent via DV to some peer.
+ *
+ * @param dv_handle the handle to the DV api
+ * @param target the final target of the message
+ * @param msgbuf the msg(s) to send
+ * @param msgbuf_size the size of msgbuf
+ * @param priority priority to pass on to core when sending the message
+ * @param timeout how long can this message be delayed (pass through to core)
+ * @param addr the address of this peer (internally known to DV)
+ * @param addrlen the length of the peer address
+ * @param cont continuation to call once the message has been sent (or failed)
+ * @param cont_cls closure for continuation
+ *
+ */
+int
+GNUNET_DV_send (struct GNUNET_DV_Handle *dv_handle,
+                const struct GNUNET_PeerIdentity *target, const char *msgbuf,
+                size_t msgbuf_size, unsigned int priority,
+                struct GNUNET_TIME_Relative timeout, const void *addr,
+                size_t addrlen, GNUNET_TRANSPORT_TransmitContinuation cont,
+                void *cont_cls);