gnunet_applications.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. /*
  2. This file is part of GNUnet.
  3. Copyright (C) 2011 Christian Grothoff (and other contributing authors)
  4. GNUnet is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published
  6. by the Free Software Foundation; either version 3, or (at your
  7. 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. General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with GNUnet; see the file COPYING. If not, write to the
  14. Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  15. Boston, MA 02110-1301, USA.
  16. */
  17. /**
  18. * @author Christian Grothoff
  19. *
  20. * @file
  21. * Constants for network applications operating on top of the CADET service
  22. *
  23. * @defgroup applications CADET application definitions
  24. * Constants for network applications operating on top of the CADET service.
  25. * @{
  26. */
  27. #ifndef GNUNET_APPLICATIONS_H
  28. #define GNUNET_APPLICATIONS_H
  29. #ifdef __cplusplus
  30. extern "C"
  31. {
  32. #if 0 /* keep Emacsens' auto-indent happy */
  33. }
  34. #endif
  35. #endif
  36. /**
  37. * End of list marker.
  38. */
  39. #define GNUNET_APPLICATION_TYPE_END 0
  40. /**
  41. * Test.
  42. */
  43. #define GNUNET_APPLICATION_TYPE_TEST 1
  44. /**
  45. * Internet DNS resolution (external DNS gateway).
  46. */
  47. #define GNUNET_APPLICATION_TYPE_INTERNET_RESOLVER 2
  48. /**
  49. * Transfer of blocks for non-anonymmous file-sharing.
  50. */
  51. #define GNUNET_APPLICATION_TYPE_FS_BLOCK_TRANSFER 3
  52. /**
  53. * Internet IPv4 gateway (any TCP/UDP/ICMP).
  54. */
  55. #define GNUNET_APPLICATION_TYPE_IPV4_GATEWAY 16
  56. /**
  57. * Internet IPv6 gateway (any TCP/UDP/ICMP).
  58. */
  59. #define GNUNET_APPLICATION_TYPE_IPV6_GATEWAY 17
  60. /**
  61. * Internet exit regex prefix. Consisting of application ID, followed by version
  62. * and padding.
  63. */
  64. #define GNUNET_APPLICATION_TYPE_EXIT_REGEX_PREFIX "GNUNET-VPN-VER-0001-"
  65. /**
  66. * Consensus.
  67. */
  68. #define GNUNET_APPLICATION_TYPE_CONSENSUS 18
  69. /**
  70. * Set. Used for two-peer set operations implemented using stream.
  71. */
  72. #define GNUNET_APPLICATION_TYPE_SET 19
  73. /**
  74. * Vectorproduct. Used for two-peer scalarproduct operations
  75. */
  76. #define GNUNET_APPLICATION_TYPE_SCALARPRODUCT 20
  77. /**
  78. * Conversation control data.
  79. */
  80. #define GNUNET_APPLICATION_TYPE_CONVERSATION_CONTROL 21
  81. /**
  82. * Conversation audio data.
  83. */
  84. #define GNUNET_APPLICATION_TYPE_CONVERSATION_AUDIO 22
  85. /**
  86. * MQTT publish-subscribe.
  87. */
  88. #define GNUNET_APPLICATION_TYPE_MQTT 23
  89. /**
  90. * Application receiving sensor measurements from peers
  91. */
  92. #define GNUNET_APPLICATION_TYPE_SENSORDASHBOARD 24
  93. /**
  94. * Application offering sensor updates
  95. */
  96. #define GNUNET_APPLICATION_TYPE_SENSORUPDATE 25
  97. /**
  98. * Multicast data.
  99. */
  100. #define GNUNET_APPLICATION_TYPE_MULTICAST 26
  101. /**
  102. * Vectorproduct, ECC variant. Used for two-peer scalarproduct operations
  103. */
  104. #define GNUNET_APPLICATION_TYPE_SCALARPRODUCT_ECC 27
  105. #if 0 /* keep Emacsens' auto-indent happy */
  106. {
  107. #endif
  108. #ifdef __cplusplus
  109. }
  110. #endif
  111. /* ifndef GNUNET_APPLICATIONS_H */
  112. #endif
  113. /** @} */ /* end of group */
  114. /* end of gnunet_applications.h */