#include "gnunet_statistics_service.h"
#include "gnunet-daemon-experimentation.h"
+
+/**
+ * Statistics handle shared between components
+ */
struct GNUNET_STATISTICS_Handle *GSE_stats;
+
+/**
+ * Configuration handle shared between components
+ */
struct GNUNET_CONFIGURATION_Handle *GSE_cfg;
+
/**
- * Task run during shutdown.
+ * Task run during shutdown to stop all submodules of the experimentation daemon.
*
* @param cls unused
* @param tc unused
}
-
/**
* Function starting all submodules of the experimentation daemon.
*
*/
#define EXP_RESPONSE_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
+
+/**
+ * Statistics handle shared between components
+ */
extern struct GNUNET_STATISTICS_Handle *GSE_stats;
+
+/**
+ * Configuration handle shared between components
+ */
extern struct GNUNET_CONFIGURATION_Handle *GSE_cfg;
+
+/**
+ * Capability value shared between components
+ */
extern uint32_t GSE_node_capabilities;
+
/**
* Capabilities a node has or an experiment requires
*/
void
GNUNET_EXPERIMENTATION_nodes_stop ();
+
+/**
+ * Print a single capability value
+ *
+ * @param cap capability value
+ * @return the string to print
+ */
+const char *
+GNUNET_EXPERIMENTATION_capability_to_str (uint32_t cap);
+
+
/**
* Are the capabilities provided?
*
* @param have bitstring containing the provided capabilities
- * @param have bitstring containing the desired capabilities
+ * @param desired bitstring containing the desired capabilities\
+ * @return GNUNET_YES or GNUNET_NO
*/
int
GNUNET_EXPERIMENTATION_capabilities_have (uint32_t have, uint32_t desired);
+
/**
* Start the detecting capabilities
*/
void
GNUNET_EXPERIMENTATION_capabilities_start ();
+
/**
* Stop the detecting capabilities
*/
int
GNUNET_EXPERIMENTATION_experiments_start ();
+
/**
* Stop experiments management
*/
*/
#define GNUNET_EXPERIMENTATION_capabilities_string {"NONE", "PLUGIN_TCP", "PLUGIN_UDP", "PLUGIN_UNIX", "PLUGIN_HTTP_CLIENT", "PLUGIN_HTTP_SERVER", "PLUGIN_HTTPS_CLIENT", "PLUGIN_HTTPS_SERVER", "PLUGIN_WLAN", "HAVE_IPV6", "BEHIND_NAT"}
+
+/**
+ * Print a single capability value
+ *
+ * @param cap capability value
+ * @return the string to print
+ */
const char *
GNUNET_EXPERIMENTATION_capability_to_str (uint32_t cap)
{
}
+
/**
* Are the capabilities provided?
*
* @param have bitstring containing the provided capabilities
- * @param have bitstring containing the desired capabilities
+ * @param desired bitstring containing the desired capabilities\
+ * @return GNUNET_YES or GNUNET_NO
*/
int
GNUNET_EXPERIMENTATION_capabilities_have (uint32_t have, uint32_t desired)
/**
* Start the detecting capabilities
- *
- * @param cfg configuration handle
*/
void
GNUNET_EXPERIMENTATION_capabilities_start ()