b9c596178608386010a143b13e0b8cf78698e87b
[oweals/gnunet.git] / src / include / gnunet_applications.h
1 /*
2      This file is part of GNUnet.
3      Copyright (C) 2011, 2016 GNUnet e.V.
4
5      GNUnet is free software: you can redistribute it and/or modify it
6      under the terms of the GNU Affero General Public License as published
7      by the Free Software Foundation, either version 3 of the License,
8      or (at your 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      Affero General Public License for more details.
14     
15      You should have received a copy of the GNU Affero General Public License
16      along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19 /**
20  * @author Christian Grothoff
21  *
22  * @file
23  * Constants for network applications operating on top of the CADET service
24  *
25  * @defgroup applications  CADET application definitions
26  * Constants for network applications operating on top of the CADET service.
27  * @{
28  */
29
30 #ifndef GNUNET_APPLICATIONS_H
31 #define GNUNET_APPLICATIONS_H
32
33 #ifdef __cplusplus
34 extern "C"
35 {
36 #if 0                           /* keep Emacsens' auto-indent happy */
37 }
38 #endif
39 #endif
40
41 /**
42  * End of list marker.
43  */
44 #define GNUNET_APPLICATION_TYPE_END 0
45
46 /**
47  * Test.
48  */
49 #define GNUNET_APPLICATION_TYPE_TEST 1
50
51 /**
52  * Transfer of blocks for non-anonymmous file-sharing.
53  */
54 #define GNUNET_APPLICATION_PORT_FS_BLOCK_TRANSFER "fs-block"
55
56 /**
57  * Transfer of blocks for random peer sampling.
58  */
59 #define GNUNET_APPLICATION_PORT_RPS "rps"
60
61 /**
62  * Internet DNS resolution (external DNS gateway).  This is a "well-known"
63  * service a peer may offer over CADET where the port is the hash of this
64  * string.
65  */
66 #define GNUNET_APPLICATION_PORT_INTERNET_RESOLVER "exit-dns"
67
68 /**
69  * Internet IPv4 gateway (any TCP/UDP/ICMP).
70  */
71 #define GNUNET_APPLICATION_PORT_IPV4_GATEWAY "exit-ipv4"
72
73 /**
74  * Internet IPv6 gateway (any TCP/UDP/ICMP).
75  */
76 #define GNUNET_APPLICATION_PORT_IPV6_GATEWAY "exit-ipv6"
77
78 /**
79  * Internet exit regex prefix. Consisting of application ID, followed
80  * by version and padding.
81  */
82 #define GNUNET_APPLICATION_TYPE_EXIT_REGEX_PREFIX "GNUNET-VPN-VER-0001-"
83
84 /**
85  * Consensus.
86  *
87  * @deprecated
88  */
89 #define GNUNET_APPLICATION_TYPE_CONSENSUS 18
90
91 /**
92  * Set. Used for two-peer set operations implemented using stream.
93  * @deprecated
94  */
95 #define GNUNET_APPLICATION_TYPE_SET 19
96
97 /**
98  * Conversation control data.
99  * @deprecated
100  */
101 #define GNUNET_APPLICATION_TYPE_CONVERSATION_CONTROL 21
102
103 /**
104  * Conversation audio data.
105  * @deprecated
106  */
107 #define GNUNET_APPLICATION_TYPE_CONVERSATION_AUDIO 22
108
109 /**
110  * MQTT publish-subscribe.
111  * @deprecated
112  */
113 #define GNUNET_APPLICATION_TYPE_MQTT 23
114
115 /**
116  * Multicast data.
117  * @deprecated
118  */
119 #define GNUNET_APPLICATION_TYPE_MULTICAST 26
120
121
122 #if 0                           /* keep Emacsens' auto-indent happy */
123 {
124 #endif
125 #ifdef __cplusplus
126 }
127 #endif
128
129 /* ifndef GNUNET_APPLICATIONS_H */
130 #endif
131
132 /** @} */  /* end of group */
133
134 /* end of gnunet_applications.h */