testbed_helper.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /*
  2. This file is part of GNUnet
  3. Copyright (C) 2008--2013 GNUnet e.V.
  4. GNUnet is free software: you can redistribute it and/or modify it
  5. under the terms of the GNU Affero General Public License as published
  6. by the Free Software Foundation, either version 3 of the License,
  7. or (at your option) any later version.
  8. GNUnet is distributed in the hope that it will be useful, but
  9. WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. Affero General Public License for more details.
  12. You should have received a copy of the GNU Affero General Public License
  13. along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. SPDX-License-Identifier: AGPL3.0-or-later
  15. */
  16. /**
  17. * @file testbed/testbed_helper.h
  18. * @brief Message formats for communication between testbed api and
  19. * gnunet-helper-testbed process
  20. * @author Sree Harsha Totakura <sreeharsha@totakura.in>
  21. */
  22. #ifndef TESTBED_HELPER_H
  23. #define TESTBED_HELPER_H
  24. GNUNET_NETWORK_STRUCT_BEGIN
  25. /**
  26. * Initialization message for gnunet-helper-testbed to start testbed service
  27. */
  28. struct GNUNET_TESTBED_HelperInit
  29. {
  30. /**
  31. * Type is GNUNET_MESSAGE_TYPE_TESTBED_HELPER_INIT
  32. */
  33. struct GNUNET_MessageHeader header;
  34. /**
  35. * The controller hostname size excluding the NULL termination character -
  36. * strlen (hostname); cannot be zero
  37. */
  38. uint16_t trusted_ip_size GNUNET_PACKED;
  39. /**
  40. * The hostname size excluding the NULL termination character - strlen
  41. * (hostname); cannot be zero
  42. */
  43. uint16_t hostname_size GNUNET_PACKED;
  44. /**
  45. * The size of the uncompressed configuration
  46. */
  47. uint16_t config_size GNUNET_PACKED;
  48. /* Followed by NULL terminated trusted ip */
  49. /* Followed by hostname of the machine on which helper runs. This is not NULL
  50. * terminated */
  51. /* Followed by serialized and compressed configuration which should be
  52. * config_size long when un-compressed */
  53. };
  54. /**
  55. * Reply message from helper process
  56. */
  57. struct GNUNET_TESTBED_HelperReply
  58. {
  59. /**
  60. * Type is GNUNET_MESSAGE_TYPE_TESTBED_HELPER_REPLY
  61. */
  62. struct GNUNET_MessageHeader header;
  63. /**
  64. * Size of the uncompressed configuration
  65. */
  66. uint16_t config_size GNUNET_PACKED;
  67. /* Followed by compressed configuration which should be config_size long when
  68. * un-compressed */
  69. };
  70. GNUNET_NETWORK_STRUCT_END
  71. #endif
  72. /* end of testbed_helper.h */