SET service: accurate results for symmetric mode
[oweals/gnunet.git] / src / include / gnunet_dht_service.h
index 31d66ccf077bb9bffff7c127b2e58c73457fa195..c5b980ba92124f0050e79f7fe388da3b1a3b93de 100644 (file)
@@ -1,6 +1,6 @@
 /*
       This file is part of GNUnet
-      (C) 2004-2013 Christian Grothoff (and other contributing authors)
+      Copyright (C) 2004-2013 Christian Grothoff (and other contributing authors)
 
       GNUnet is free software; you can redistribute it and/or modify
       it under the terms of the GNU General Public License as published
@@ -14,8 +14,8 @@
 
       You should have received a copy of the GNU General Public License
       along with GNUnet; see the file COPYING.  If not, write to the
-      Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-      Boston, MA 02111-1307, USA.
+      Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+      Boston, MA 02110-1301, USA.
  */
 
 /**
@@ -393,14 +393,31 @@ GNUNET_DHT_monitor_stop (struct GNUNET_DHT_MonitorHandle *handle);
 
 #if ENABLE_MALICIOUS
 /**
- * Turn the DHT service to act malicious depending on @a flag
+ * Type of a Malicious continuation.  You must not call
+ * #GNUNET_DHT_disconnect in this continuation.
+ *
+ * @param cls closure
+ * @param success #GNUNET_OK if the set malicious request was transmitted,
+ *                #GNUNET_NO on timeout,
+ *                #GNUNET_SYSERR on disconnect from service
+ *                after the PUT message was transmitted
+ *                (so we don't know if it was received or not)
+ */
+typedef void (*GNUNET_DHT_ActMaliciousContinuation)(void *cls,
+                                                int success);
+
+/**
+ * Turn the DHT service to act malicious
  *
  * @param handle the DHT handle
  * @param action 1 to make the service malicious; 0 to make it benign
           FIXME: perhaps make this an enum of known malicious behaviors?
  */
-void
-GNUNET_DHT_malicious (struct GNUNET_DHT_Handle *handle, unsigned int action);
+struct GNUNET_DHT_ActMaliciousHandle *
+GNUNET_DHT_act_malicious (struct GNUNET_DHT_Handle *handle, 
+                      unsigned int action, 
+                      GNUNET_DHT_PutContinuation cont,
+                      void *cont_cls);
 #endif