controller hostname in init
[oweals/gnunet.git] / src / testbed / testbed_helper.h
1 /*
2       This file is part of GNUnet
3       (C) 2012 Christian Grothoff (and other contributing authors)
4
5       GNUnet is free software; you can redistribute it and/or modify
6       it under the terms of the GNU General Public License as published
7       by the Free Software Foundation; either version 3, or (at your
8       option) any later version.
9
10       GNUnet is distributed in the hope that it will be useful, but
11       WITHOUT ANY WARRANTY; without even the implied warranty of
12       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13       General Public License for more details.
14
15       You should have received a copy of the GNU General Public License
16       along with GNUnet; see the file COPYING.  If not, write to the
17       Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18       Boston, MA 02111-1307, USA.
19  */
20
21 /**
22  * @file testbed/testbed_helper.h
23  * @brief Message formats for communication between testbed api and
24  *          gnunet-testbed-helper process
25  * @author Sree Harsha Totakura <sreeharsha@totakura.in> 
26  */
27
28 #ifndef TESTBED_HELPER_H
29 #define TESTBED_HELPER_H
30
31 /**
32  * Initialization message for gnunet-testbed-helper to start testbed service
33  */
34 struct GNUNET_TESTBED_HelperInit
35 {
36   /**
37    * Type is GNUNET_MESSAGE_TYPE_TESTBED_HELPER_INIT
38    */
39   struct GNUNET_MessageHeader header;
40
41   /**
42    * The controller hostname size excluding the NULL termination character -
43    * strlen (hostname); cannot be zero 
44    */
45   uint16_t cname_size GNUNET_PACKED;
46
47   /**
48    * The size of the uncompressed configuration
49    */
50   uint16_t config_size GNUNET_PACKED;
51
52   /* Followed by NULL terminated controller hostname */
53   
54   /* Followed by serialized and compressed configuration which should be
55      config_size long when un-compressed */
56 };
57
58 /**
59  * Reply message from helper process
60  */
61 struct GNUNET_TESTBED_HelperReply
62 {
63   /**
64    * Type is GNUNET_MESSAGE_TYPE_TESTBED_HELPER_REPLY
65    */
66   struct GNUNET_MessageHeader header;
67
68   /**
69    * Size of the uncompressed configuration
70    */
71   uint16_t config_size GNUNET_PACKED;
72
73   /* Followed by compressed configuration which should be config_size long when
74      un-compressed */
75 };
76
77 #endif