109fe70458fa1f6aff0bf3ca1d2f2dc9cc7318bf
[oweals/gnunet.git] / src / include / gnunet_signatures.h
1 /*
2      This file is part of GNUnet.
3      Copyright (C) 2009 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 signatures
24  *
25  * @defgroup signatures  Network signature definitions
26  * @{
27  */
28
29 #ifndef GNUNET_SIGNATURES_H
30 #define GNUNET_SIGNATURES_H
31
32 #ifdef __cplusplus
33 extern "C"
34 {
35 #if 0                           /* keep Emacsens' auto-indent happy */
36 }
37 #endif
38 #endif
39
40 /**
41  * Test signature, not valid for anything other than writing
42  * a test. (Note that the signature verification code will
43  * accept this value).
44  */
45 #define GNUNET_SIGNATURE_PURPOSE_TEST 0
46
47 /**
48  * Signature for confirming that this peer uses a particular address.
49  */
50 #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN 1
51
52 /**
53  * Signature for confirming that this peer intends to disconnect.
54  */
55 #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DISCONNECT 2
56
57 /**
58  * Signature for confirming a key revocation.
59  */
60 #define GNUNET_SIGNATURE_PURPOSE_REVOCATION 3
61
62 /**
63  * Signature for a namespace/pseudonym advertisement (by
64  * the namespace owner).
65  */
66 #define GNUNET_SIGNATURE_PURPOSE_NAMESPACE_ADVERTISEMENT 4
67
68 /**
69  * Signature by which a peer affirms that it is
70  * providing a certain bit of content (used
71  * in LOCation URIs).
72  */
73 #define GNUNET_SIGNATURE_PURPOSE_PEER_PLACEMENT 5
74
75 /**
76  * Obsolete, legacy value.
77  */
78 #define GNUNET_SIGNATURE_PURPOSE_FS_KBLOCK 6
79
80 /**
81  * Obsolete, legacy value.
82  */
83 #define GNUNET_SIGNATURE_PURPOSE_FS_SBLOCK 7
84
85 /**
86  * Obsolete, legacy value.
87  */
88 #define GNUNET_SIGNATURE_PURPOSE_FS_NBLOCK 8
89
90 /**
91  * Obsolete, legacy value.
92  */
93 #define GNUNET_SIGNATURE_PURPOSE_FS_NBLOCK_KSIG 9
94
95 /**
96  *
97  */
98 #define GNUNET_SIGNATURE_PURPOSE_RESOLVER_RESPONSE 10
99
100 /**
101  * Signature of an GNUNET_DNS_Advertisement
102  */
103 #define GNUNET_SIGNATURE_PURPOSE_DNS_RECORD 11
104
105 /**
106  * Signature of a chat message.
107  */
108 #define GNUNET_SIGNATURE_PURPOSE_CHAT_MESSAGE 12
109
110 /**
111  * Signature of confirmation receipt for a chat message.
112  */
113 #define GNUNET_SIGNATURE_PURPOSE_CHAT_RECEIPT 13
114
115 /**
116  * Signature of a network size estimate message.
117  */
118 #define GNUNET_SIGNATURE_PURPOSE_NSE_SEND 14
119
120 /**
121  * Signature of a gnunet naming system record block
122  */
123 #define GNUNET_SIGNATURE_PURPOSE_GNS_RECORD_SIGN 15
124
125 /**
126  * Purpose is to set a session key.
127  */
128 #define GNUNET_SIGNATURE_PURPOSE_SET_ECC_KEY 16
129
130 /**
131  * UBlock Signature, done using DSS, not ECC
132  */
133 #define GNUNET_SIGNATURE_PURPOSE_FS_UBLOCK 17
134
135 /**
136  * Accept state in regex DFA.  Peer affirms that
137  * it offers the matching service.
138  */
139 #define GNUNET_SIGNATURE_PURPOSE_REGEX_ACCEPT 18
140
141 /**
142  * Signature of a multicast message sent by the origin.
143  */
144 #define GNUNET_SIGNATURE_PURPOSE_MULTICAST_MESSAGE 19
145
146 /**
147  * Signature of a conversation ring.
148  */
149 #define GNUNET_SIGNATURE_PURPOSE_CONVERSATION_RING 20
150
151 /**
152  * Signature for the first round of distributed key generation.
153  */
154 #define GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DKG1 21
155
156 /**
157  * Signature for the second round of distributed key generation.
158  */
159 #define GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DKG2 22
160
161 /**
162  * Signature for cooperatice decryption.
163  */
164 #define GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DECRYPTION 23
165
166 /**
167  * Signature of a multicast request sent by a member.
168  */
169 #define GNUNET_SIGNATURE_PURPOSE_MULTICAST_REQUEST 24
170
171 /**
172  * Signature for a sensor anomaly report message.
173  */
174 #define GNUNET_SIGNATURE_PURPOSE_SENSOR_ANOMALY_REPORT 25
175
176 /**
177  * Signature for a GNUid Token
178  */
179 #define GNUNET_SIGNATURE_PURPOSE_GNUID_TOKEN 26
180
181 /**
182  * Signature for a GNUid Ticket
183  */
184 #define GNUNET_SIGNATURE_PURPOSE_RECLAIM_CODE_SIGN 27
185
186 /**
187  * Signature for a GNUnet credential
188  */
189 #define GNUNET_SIGNATURE_PURPOSE_CREDENTIAL 28
190
191 /**
192  * Signature by a peer affirming that this is one of its
193  * addresses (for the given time period).
194  */
195 #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_ADDRESS 29
196
197 /**
198  * Signature by a peer affirming that the given ephemeral
199  * key is currently in use by that peer's transport service.
200  */
201 #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_EPHEMERAL 30
202
203 #if 0                           /* keep Emacsens' auto-indent happy */
204 {
205 #endif
206 #ifdef __cplusplus
207 }
208 #endif
209
210 /* ifndef GNUNET_SIGNATURES_H */
211 #endif
212
213 /** @} */  /* end of group */
214
215 /* end of gnunet_signatures.h */