aboutsummaryrefslogtreecommitdiff
path: root/src/reclaim/reclaim.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/reclaim/reclaim.h')
-rw-r--r--src/reclaim/reclaim.h82
1 files changed, 72 insertions, 10 deletions
diff --git a/src/reclaim/reclaim.h b/src/reclaim/reclaim.h
index ff953a096..7b5d7ab19 100644
--- a/src/reclaim/reclaim.h
+++ b/src/reclaim/reclaim.h
@@ -139,6 +139,11 @@ struct AttributeResultMessage
139 uint16_t attr_len GNUNET_PACKED; 139 uint16_t attr_len GNUNET_PACKED;
140 140
141 /** 141 /**
142 * Length of serialized attestation data
143 */
144 uint16_t attestation_len GNUNET_PACKED;
145
146 /**
142 * always zero (for alignment) 147 * always zero (for alignment)
143 */ 148 */
144 uint16_t reserved GNUNET_PACKED; 149 uint16_t reserved GNUNET_PACKED;
@@ -154,9 +159,9 @@ struct AttributeResultMessage
154}; 159};
155 160
156/** 161/**
157 * Reference plus Attestation is returned from the idp. 162 * Attestation is returned from the idp.
158 */ 163 */
159struct ReferenceResultMessage 164struct AttestationResultMessage
160{ 165{
161 /** 166 /**
162 * Message header 167 * Message header
@@ -169,14 +174,9 @@ struct ReferenceResultMessage
169 uint32_t id GNUNET_PACKED; 174 uint32_t id GNUNET_PACKED;
170 175
171 /** 176 /**
172 * Length of serialized attestation data 177 * Length of serialized attribute data
173 */
174 uint16_t attest_len GNUNET_PACKED;
175
176 /**
177 * Length of serialized reference data
178 */ 178 */
179 uint16_t ref_len GNUNET_PACKED; 179 uint16_t attestation_len GNUNET_PACKED;
180 180
181 /** 181 /**
182 * always zero (for alignment) 182 * always zero (for alignment)
@@ -189,10 +189,11 @@ struct ReferenceResultMessage
189 struct GNUNET_CRYPTO_EcdsaPublicKey identity; 189 struct GNUNET_CRYPTO_EcdsaPublicKey identity;
190 190
191 /* followed by: 191 /* followed by:
192 * serialized reference data + attestation data 192 * serialized attestation data
193 */ 193 */
194}; 194};
195 195
196
196/** 197/**
197 * Start a attribute iteration for the given identity 198 * Start a attribute iteration for the given identity
198 */ 199 */
@@ -233,6 +234,62 @@ struct AttributeIterationNextMessage
233 234
234 235
235/** 236/**
237 * Start a attestation iteration for the given identity
238 */
239struct AttestationIterationStartMessage
240{
241 /**
242 * Message
243 */
244 struct GNUNET_MessageHeader header;
245
246 /**
247 * Unique identifier for this request (for key collisions).
248 */
249 uint32_t id GNUNET_PACKED;
250
251 /**
252 * Identity.
253 */
254 struct GNUNET_CRYPTO_EcdsaPrivateKey identity;
255};
256
257
258/**
259 * Ask for next result of attestation iteration for the given operation
260 */
261struct AttestationIterationNextMessage
262{
263 /**
264 * Type will be #GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_ITERATION_NEXT
265 */
266 struct GNUNET_MessageHeader header;
267
268 /**
269 * Unique identifier for this request (for key collisions).
270 */
271 uint32_t id GNUNET_PACKED;
272};
273
274
275/**
276 * Stop attestation iteration for the given operation
277 */
278struct AttestationIterationStopMessage
279{
280 /**
281 * Type will be #GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_ITERATION_STOP
282 */
283 struct GNUNET_MessageHeader header;
284
285 /**
286 * Unique identifier for this request (for key collisions).
287 */
288 uint32_t id GNUNET_PACKED;
289};
290
291
292/**
236 * Stop attribute iteration for the given operation 293 * Stop attribute iteration for the given operation
237 */ 294 */
238struct AttributeIterationStopMessage 295struct AttributeIterationStopMessage
@@ -463,6 +520,11 @@ struct ConsumeTicketResultMessage
463 uint16_t attrs_len GNUNET_PACKED; 520 uint16_t attrs_len GNUNET_PACKED;
464 521
465 /** 522 /**
523 * Length of attestation data
524 */
525 uint16_t attestations_len;
526
527 /**
466 * always zero (for alignment) 528 * always zero (for alignment)
467 */ 529 */
468 uint16_t reserved GNUNET_PACKED; 530 uint16_t reserved GNUNET_PACKED;