/*
This file is part of GNUnet
- (C) 2008--2013 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2008--2013 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
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.
*/
/**
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_ADD_HOST
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_ADD_HOST
*/
struct GNUNET_MessageHeader header;
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS
*/
struct GNUNET_MessageHeader header;
*/
struct GNUNET_TESTBED_ControllerLinkResponse
{
-
+
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS_RESULT
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS_RESULT
*/
struct GNUNET_MessageHeader header;
uint16_t config_size GNUNET_PACKED;
/**
- * Set to GNUNET_YES to signify SUCCESS; GNUNET_NO to signify failure
+ * Set to #GNUNET_YES to signify SUCCESS; #GNUNET_NO to signify failure
*/
uint16_t success GNUNET_PACKED;
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_CREATE_PEER
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_CREATE_PEER
*/
struct GNUNET_MessageHeader header;
/**
* To be followed by the HELLO message of A
*/
- struct GNUNET_MessageHeader hello[0];
+ struct GNUNET_MessageHeader hello[0];
// FIXME: we usually do not use this gcc-hack as some
// compilers / tools really get messed up by it...
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_PEER_CONNECT_EVENT
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_PEER_CONNECT_EVENT
*/
struct GNUNET_MessageHeader header;
/**
* 'enum GNUNET_TESTBED_EventType' (in NBO);
- * either GNUNET_TESTBED_ET_CONNECT or GNUNET_TESTBED_ET_DISCONNECT.
+ * either #GNUNET_TESTBED_ET_CONNECT or #GNUNET_TESTBED_ET_DISCONNECT.
*/
int32_t event_type GNUNET_PACKED;
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_OPERATION_FAIL_EVENT
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_OPERATION_FAIL_EVENT
*/
struct GNUNET_MessageHeader header;
/**
* 'enum GNUNET_TESTBED_EventType' (in NBO);
- * GNUNET_TESTBED_ET_OPERATION_FINISHED.
+ * #GNUNET_TESTBED_ET_OPERATION_FINISHED.
*/
int32_t event_type GNUNET_PACKED;
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_CREATE_PEER_SUCCESS
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_CREATE_PEER_SUCCESS
*/
struct GNUNET_MessageHeader header;
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_GENERIC_OPERATION_SUCCESS
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_GENERIC_OPERATION_SUCCESS
*/
struct GNUNET_MessageHeader header;
/**
* 'enum GNUNET_TESTBED_EventType' (in NBO);
- * GNUNET_TESTBED_ET_OPERATION_FINISHED.
+ * #GNUNET_TESTBED_ET_OPERATION_FINISHED.
*/
int32_t event_type GNUNET_PACKED;
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_GET_PEER_INFORMATION
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_GET_PEER_INFORMATION
*/
struct GNUNET_MessageHeader header;
/**
* Identity of the peer.
*/
- struct GNUNET_PeerIdentity peer_identity GNUNET_PACKED;
+ struct GNUNET_PeerIdentity peer_identity;
/**
* The size of configuration when uncompressed
struct GNUNET_TESTBED_SlaveGetConfigurationMessage
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_GET_SLAVE_CONFIGURATION
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_GET_SLAVE_CONFIGURATION
*/
struct GNUNET_MessageHeader header;
/**
- * Reply to #GNUNET_MESSAGE_TYPE_TESTBED_GET_SLAVE_CONFIG message
+ * Reply to #GNUNET_MESSAGE_TYPE_TESTBED_GET_SLAVE_CONFIGURATION message
*/
struct GNUNET_TESTBED_SlaveConfiguration
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_SLAVE_CONFIGURATION
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_SLAVE_CONFIGURATION
*/
struct GNUNET_MessageHeader header;
struct GNUNET_TESTBED_ShutdownPeersMessage
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_SHUTDOWN_PEERS
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_SHUTDOWN_PEERS
*/
struct GNUNET_MessageHeader header;
struct GNUNET_TESTBED_ManagePeerServiceMessage
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_SHUTDOWN_PEERS
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_SHUTDOWN_PEERS
*/
struct GNUNET_MessageHeader header;
* set this to 1 to start the service; 0 to stop the service
*/
uint8_t start;
-
+
/**
* The NULL-terminated name of the service to start/stop follows here
*/
};
+/**
+ * Message to send underlay link model of a peer. This message will be
+ * forwarded to the controller running the peer.
+ */
+struct GNUNET_TESTBED_UnderlayLinkModelMsg
+{
+ /**
+ * Type is #GNUNET_MESSAGE_TYPE_UNDERLAYLINKMODELMSG
+ */
+ struct GNUNET_MessageHeader header;
+
+ /**
+ * The number of peer entries contained in this message
+ */
+ uint32_t nentries GNUNET_PACKED;
+
+ /**
+ * The number of link properties contained in this message
+ */
+ uint32_t nprops GNUNET_PACKED;
+
+ /**
+ * Array of ids of peers to be in the blacklist/whitelist. Each id is of type
+ * uint32_t. Number of ids should be equal to nentries.
+ */
+
+ /**
+ * Array of link properties. Each link property is to be arraged in a
+ * sequence of four integers of type uint32_t: peer_id, latency, loss and
+ * bandwidth.
+ */
+
+};
+
+
/**************************************/
/* Barriers IPC messages and protocol */
/**************************************/
struct GNUNET_TESTBED_BarrierInit
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_INIT
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_INIT
*/
struct GNUNET_MessageHeader header;
struct GNUNET_TESTBED_BarrierCancel
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_CANCEL
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_CANCEL
*/
struct GNUNET_MessageHeader header;
struct GNUNET_TESTBED_BarrierStatusMsg
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_STATUS
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_STATUS
*/
struct GNUNET_MessageHeader header;
-
+
/**
* status. Use enumerated values of enum BarrierStatus
*/
* strlen of the barrier name
*/
uint16_t name_len GNUNET_PACKED;
-
+
/**
- * the barrier name (NULL terminated) concatenated with an error message (NULL
- * terminated) if the status were to indicate an error
+ * the barrier name (0-terminated) concatenated with an error message
+ * (0-terminated) if the status were to indicate an error
*/
char data[0];
};
struct GNUNET_TESTBED_BarrierWait
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_WAIT
+ * Type is #GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_WAIT
*/
struct GNUNET_MessageHeader header;