fix
[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-helper-testbed process
25  * @author Sree Harsha Totakura <sreeharsha@totakura.in>
26  */
27
28 #ifndef TESTBED_HELPER_H
29 #define TESTBED_HELPER_H
30
31 GNUNET_NETWORK_STRUCT_BEGIN
32
33 /**
34  * Initialization message for gnunet-helper-testbed to start testbed service
35  */
36 struct GNUNET_TESTBED_HelperInit
37 {
38   /**
39    * Type is GNUNET_MESSAGE_TYPE_TESTBED_HELPER_INIT
40    */
41   struct GNUNET_MessageHeader header;
42
43   /**
44    * The controller hostname size excluding the NULL termination character -
45    * strlen (hostname); cannot be zero
46    */
47   uint16_t cname_size GNUNET_PACKED;
48
49   /**
50    * The hostname size excluding the NULL termination character - strlen
51    * (hostname); cannot be zero
52    */
53   uint16_t hostname_size GNUNET_PACKED;
54
55   /**
56    * The size of the uncompressed configuration
57    */
58   uint16_t config_size GNUNET_PACKED;
59
60   /* Followed by NULL terminated controller hostname */
61
62   /* Followed by hostname of the machine on which helper runs. This is not NULL
63      terminated */
64
65   /* Followed by serialized and compressed configuration which should be
66    * config_size long when un-compressed */
67 };
68
69 /**
70  * Reply message from helper process
71  */
72 struct GNUNET_TESTBED_HelperReply
73 {
74   /**
75    * Type is GNUNET_MESSAGE_TYPE_TESTBED_HELPER_REPLY
76    */
77   struct GNUNET_MessageHeader header;
78
79   /**
80    * Size of the uncompressed configuration
81    */
82   uint16_t config_size GNUNET_PACKED;
83
84   /* Followed by compressed configuration which should be config_size long when
85    * un-compressed */
86 };
87
88 GNUNET_NETWORK_STRUCT_END
89
90 #endif
91
92 /* end of testbed_helper.h */