diff options
Diffstat (limited to 'src/include/gnunet_container_lib.h')
-rw-r--r-- | src/include/gnunet_container_lib.h | 647 |
1 files changed, 326 insertions, 321 deletions
diff --git a/src/include/gnunet_container_lib.h b/src/include/gnunet_container_lib.h index d811995ff..a119a6632 100644 --- a/src/include/gnunet_container_lib.h +++ b/src/include/gnunet_container_lib.h | |||
@@ -67,10 +67,10 @@ | |||
67 | * #GNUNET_NO if compression did not help | 67 | * #GNUNET_NO if compression did not help |
68 | */ | 68 | */ |
69 | int | 69 | int |
70 | GNUNET_try_compression(const char *data, | 70 | GNUNET_try_compression (const char *data, |
71 | size_t old_size, | 71 | size_t old_size, |
72 | char **result, | 72 | char **result, |
73 | size_t *new_size); | 73 | size_t *new_size); |
74 | 74 | ||
75 | 75 | ||
76 | /** | 76 | /** |
@@ -84,7 +84,7 @@ GNUNET_try_compression(const char *data, | |||
84 | * @return NULL on error, buffer of @a output_size decompressed bytes otherwise | 84 | * @return NULL on error, buffer of @a output_size decompressed bytes otherwise |
85 | */ | 85 | */ |
86 | char * | 86 | char * |
87 | GNUNET_decompress(const char *input, size_t input_size, size_t output_size); | 87 | GNUNET_decompress (const char *input, size_t input_size, size_t output_size); |
88 | 88 | ||
89 | 89 | ||
90 | #if HAVE_EXTRACTOR_H | 90 | #if HAVE_EXTRACTOR_H |
@@ -99,7 +99,8 @@ GNUNET_decompress(const char *input, size_t input_size, size_t output_size); | |||
99 | * Enumeration defining various sources of keywords. See also | 99 | * Enumeration defining various sources of keywords. See also |
100 | * http://dublincore.org/documents/1998/09/dces/ | 100 | * http://dublincore.org/documents/1998/09/dces/ |
101 | */ | 101 | */ |
102 | enum EXTRACTOR_MetaType { | 102 | enum EXTRACTOR_MetaType |
103 | { | ||
103 | EXTRACTOR_METATYPE_RESERVED = 0, | 104 | EXTRACTOR_METATYPE_RESERVED = 0, |
104 | EXTRACTOR_METATYPE_MIMETYPE = 1, | 105 | EXTRACTOR_METATYPE_MIMETYPE = 1, |
105 | EXTRACTOR_METATYPE_FILENAME = 2, | 106 | EXTRACTOR_METATYPE_FILENAME = 2, |
@@ -128,7 +129,8 @@ enum EXTRACTOR_MetaType { | |||
128 | /** | 129 | /** |
129 | * Format in which the extracted meta data is presented. | 130 | * Format in which the extracted meta data is presented. |
130 | */ | 131 | */ |
131 | enum EXTRACTOR_MetaFormat { | 132 | enum EXTRACTOR_MetaFormat |
133 | { | ||
132 | /** | 134 | /** |
133 | * Format is unknown. | 135 | * Format is unknown. |
134 | */ | 136 | */ |
@@ -228,9 +230,9 @@ typedef int (*GNUNET_CONTAINER_HashCodeIterator) (void *cls, | |||
228 | * @return the bloomfilter | 230 | * @return the bloomfilter |
229 | */ | 231 | */ |
230 | struct GNUNET_CONTAINER_BloomFilter * | 232 | struct GNUNET_CONTAINER_BloomFilter * |
231 | GNUNET_CONTAINER_bloomfilter_load(const char *filename, | 233 | GNUNET_CONTAINER_bloomfilter_load (const char *filename, |
232 | size_t size, | 234 | size_t size, |
233 | unsigned int k); | 235 | unsigned int k); |
234 | 236 | ||
235 | 237 | ||
236 | /** | 238 | /** |
@@ -248,9 +250,9 @@ GNUNET_CONTAINER_bloomfilter_load(const char *filename, | |||
248 | * @return the bloomfilter | 250 | * @return the bloomfilter |
249 | */ | 251 | */ |
250 | struct GNUNET_CONTAINER_BloomFilter * | 252 | struct GNUNET_CONTAINER_BloomFilter * |
251 | GNUNET_CONTAINER_bloomfilter_init(const char *data, | 253 | GNUNET_CONTAINER_bloomfilter_init (const char *data, |
252 | size_t size, | 254 | size_t size, |
253 | unsigned int k); | 255 | unsigned int k); |
254 | 256 | ||
255 | 257 | ||
256 | /** | 258 | /** |
@@ -263,7 +265,7 @@ GNUNET_CONTAINER_bloomfilter_init(const char *data, | |||
263 | * @return #GNUNET_SYSERR if the data array of the wrong size | 265 | * @return #GNUNET_SYSERR if the data array of the wrong size |
264 | */ | 266 | */ |
265 | int | 267 | int |
266 | GNUNET_CONTAINER_bloomfilter_get_raw_data( | 268 | GNUNET_CONTAINER_bloomfilter_get_raw_data ( |
267 | const struct GNUNET_CONTAINER_BloomFilter *bf, | 269 | const struct GNUNET_CONTAINER_BloomFilter *bf, |
268 | char *data, | 270 | char *data, |
269 | size_t size); | 271 | size_t size); |
@@ -278,7 +280,7 @@ GNUNET_CONTAINER_bloomfilter_get_raw_data( | |||
278 | * @return #GNUNET_YES if the element is in the filter, #GNUNET_NO if not | 280 | * @return #GNUNET_YES if the element is in the filter, #GNUNET_NO if not |
279 | */ | 281 | */ |
280 | int | 282 | int |
281 | GNUNET_CONTAINER_bloomfilter_test( | 283 | GNUNET_CONTAINER_bloomfilter_test ( |
282 | const struct GNUNET_CONTAINER_BloomFilter *bf, | 284 | const struct GNUNET_CONTAINER_BloomFilter *bf, |
283 | const struct GNUNET_HashCode *e); | 285 | const struct GNUNET_HashCode *e); |
284 | 286 | ||
@@ -291,8 +293,8 @@ GNUNET_CONTAINER_bloomfilter_test( | |||
291 | * @param e the element | 293 | * @param e the element |
292 | */ | 294 | */ |
293 | void | 295 | void |
294 | GNUNET_CONTAINER_bloomfilter_add(struct GNUNET_CONTAINER_BloomFilter *bf, | 296 | GNUNET_CONTAINER_bloomfilter_add (struct GNUNET_CONTAINER_BloomFilter *bf, |
295 | const struct GNUNET_HashCode *e); | 297 | const struct GNUNET_HashCode *e); |
296 | 298 | ||
297 | 299 | ||
298 | /** | 300 | /** |
@@ -303,8 +305,8 @@ GNUNET_CONTAINER_bloomfilter_add(struct GNUNET_CONTAINER_BloomFilter *bf, | |||
303 | * @param e the element to remove | 305 | * @param e the element to remove |
304 | */ | 306 | */ |
305 | void | 307 | void |
306 | GNUNET_CONTAINER_bloomfilter_remove(struct GNUNET_CONTAINER_BloomFilter *bf, | 308 | GNUNET_CONTAINER_bloomfilter_remove (struct GNUNET_CONTAINER_BloomFilter *bf, |
307 | const struct GNUNET_HashCode *e); | 309 | const struct GNUNET_HashCode *e); |
308 | 310 | ||
309 | 311 | ||
310 | /** | 312 | /** |
@@ -315,7 +317,7 @@ GNUNET_CONTAINER_bloomfilter_remove(struct GNUNET_CONTAINER_BloomFilter *bf, | |||
315 | * @return copy of bf | 317 | * @return copy of bf |
316 | */ | 318 | */ |
317 | struct GNUNET_CONTAINER_BloomFilter * | 319 | struct GNUNET_CONTAINER_BloomFilter * |
318 | GNUNET_CONTAINER_bloomfilter_copy( | 320 | GNUNET_CONTAINER_bloomfilter_copy ( |
319 | const struct GNUNET_CONTAINER_BloomFilter *bf); | 321 | const struct GNUNET_CONTAINER_BloomFilter *bf); |
320 | 322 | ||
321 | 323 | ||
@@ -328,7 +330,7 @@ GNUNET_CONTAINER_bloomfilter_copy( | |||
328 | * @param bf the filter | 330 | * @param bf the filter |
329 | */ | 331 | */ |
330 | void | 332 | void |
331 | GNUNET_CONTAINER_bloomfilter_free(struct GNUNET_CONTAINER_BloomFilter *bf); | 333 | GNUNET_CONTAINER_bloomfilter_free (struct GNUNET_CONTAINER_BloomFilter *bf); |
332 | 334 | ||
333 | 335 | ||
334 | /** | 336 | /** |
@@ -338,7 +340,7 @@ GNUNET_CONTAINER_bloomfilter_free(struct GNUNET_CONTAINER_BloomFilter *bf); | |||
338 | * @return addresses set per element in the bf | 340 | * @return addresses set per element in the bf |
339 | */ | 341 | */ |
340 | size_t | 342 | size_t |
341 | GNUNET_CONTAINER_bloomfilter_get_element_addresses( | 343 | GNUNET_CONTAINER_bloomfilter_get_element_addresses ( |
342 | const struct GNUNET_CONTAINER_BloomFilter *bf); | 344 | const struct GNUNET_CONTAINER_BloomFilter *bf); |
343 | 345 | ||
344 | 346 | ||
@@ -350,7 +352,7 @@ GNUNET_CONTAINER_bloomfilter_get_element_addresses( | |||
350 | * @return number of bytes used for the data of the bloom filter | 352 | * @return number of bytes used for the data of the bloom filter |
351 | */ | 353 | */ |
352 | size_t | 354 | size_t |
353 | GNUNET_CONTAINER_bloomfilter_get_size( | 355 | GNUNET_CONTAINER_bloomfilter_get_size ( |
354 | const struct GNUNET_CONTAINER_BloomFilter *bf); | 356 | const struct GNUNET_CONTAINER_BloomFilter *bf); |
355 | 357 | ||
356 | 358 | ||
@@ -361,7 +363,7 @@ GNUNET_CONTAINER_bloomfilter_get_size( | |||
361 | * @param bf the filter | 363 | * @param bf the filter |
362 | */ | 364 | */ |
363 | void | 365 | void |
364 | GNUNET_CONTAINER_bloomfilter_clear(struct GNUNET_CONTAINER_BloomFilter *bf); | 366 | GNUNET_CONTAINER_bloomfilter_clear (struct GNUNET_CONTAINER_BloomFilter *bf); |
365 | 367 | ||
366 | 368 | ||
367 | /** | 369 | /** |
@@ -377,9 +379,9 @@ GNUNET_CONTAINER_bloomfilter_clear(struct GNUNET_CONTAINER_BloomFilter *bf); | |||
377 | * @return #GNUNET_OK on success | 379 | * @return #GNUNET_OK on success |
378 | */ | 380 | */ |
379 | int | 381 | int |
380 | GNUNET_CONTAINER_bloomfilter_or(struct GNUNET_CONTAINER_BloomFilter *bf, | 382 | GNUNET_CONTAINER_bloomfilter_or (struct GNUNET_CONTAINER_BloomFilter *bf, |
381 | const char *data, | 383 | const char *data, |
382 | size_t size); | 384 | size_t size); |
383 | 385 | ||
384 | 386 | ||
385 | /** | 387 | /** |
@@ -393,7 +395,7 @@ GNUNET_CONTAINER_bloomfilter_or(struct GNUNET_CONTAINER_BloomFilter *bf, | |||
393 | * @return #GNUNET_OK on success | 395 | * @return #GNUNET_OK on success |
394 | */ | 396 | */ |
395 | int | 397 | int |
396 | GNUNET_CONTAINER_bloomfilter_or2( | 398 | GNUNET_CONTAINER_bloomfilter_or2 ( |
397 | struct GNUNET_CONTAINER_BloomFilter *bf, | 399 | struct GNUNET_CONTAINER_BloomFilter *bf, |
398 | const struct GNUNET_CONTAINER_BloomFilter *to_or); | 400 | const struct GNUNET_CONTAINER_BloomFilter *to_or); |
399 | 401 | ||
@@ -411,11 +413,11 @@ GNUNET_CONTAINER_bloomfilter_or2( | |||
411 | * @param k the new number of #GNUNET_CRYPTO_hash-function to apply per element | 413 | * @param k the new number of #GNUNET_CRYPTO_hash-function to apply per element |
412 | */ | 414 | */ |
413 | void | 415 | void |
414 | GNUNET_CONTAINER_bloomfilter_resize(struct GNUNET_CONTAINER_BloomFilter *bf, | 416 | GNUNET_CONTAINER_bloomfilter_resize (struct GNUNET_CONTAINER_BloomFilter *bf, |
415 | GNUNET_CONTAINER_HashCodeIterator iterator, | 417 | GNUNET_CONTAINER_HashCodeIterator iterator, |
416 | void *iterator_cls, | 418 | void *iterator_cls, |
417 | size_t size, | 419 | size_t size, |
418 | unsigned int k); | 420 | unsigned int k); |
419 | 421 | ||
420 | 422 | ||
421 | /* ****************** metadata ******************* */ | 423 | /* ****************** metadata ******************* */ |
@@ -434,7 +436,7 @@ struct GNUNET_CONTAINER_MetaData; | |||
434 | * @return empty meta-data container | 436 | * @return empty meta-data container |
435 | */ | 437 | */ |
436 | struct GNUNET_CONTAINER_MetaData * | 438 | struct GNUNET_CONTAINER_MetaData * |
437 | GNUNET_CONTAINER_meta_data_create(void); | 439 | GNUNET_CONTAINER_meta_data_create (void); |
438 | 440 | ||
439 | 441 | ||
440 | /** | 442 | /** |
@@ -445,7 +447,7 @@ GNUNET_CONTAINER_meta_data_create(void); | |||
445 | * @return duplicate meta-data container | 447 | * @return duplicate meta-data container |
446 | */ | 448 | */ |
447 | struct GNUNET_CONTAINER_MetaData * | 449 | struct GNUNET_CONTAINER_MetaData * |
448 | GNUNET_CONTAINER_meta_data_duplicate( | 450 | GNUNET_CONTAINER_meta_data_duplicate ( |
449 | const struct GNUNET_CONTAINER_MetaData *md); | 451 | const struct GNUNET_CONTAINER_MetaData *md); |
450 | 452 | ||
451 | 453 | ||
@@ -456,7 +458,7 @@ GNUNET_CONTAINER_meta_data_duplicate( | |||
456 | * @param md what to free | 458 | * @param md what to free |
457 | */ | 459 | */ |
458 | void | 460 | void |
459 | GNUNET_CONTAINER_meta_data_destroy(struct GNUNET_CONTAINER_MetaData *md); | 461 | GNUNET_CONTAINER_meta_data_destroy (struct GNUNET_CONTAINER_MetaData *md); |
460 | 462 | ||
461 | 463 | ||
462 | /** | 464 | /** |
@@ -471,7 +473,7 @@ GNUNET_CONTAINER_meta_data_destroy(struct GNUNET_CONTAINER_MetaData *md); | |||
471 | * @return #GNUNET_YES if they are equal | 473 | * @return #GNUNET_YES if they are equal |
472 | */ | 474 | */ |
473 | int | 475 | int |
474 | GNUNET_CONTAINER_meta_data_test_equal( | 476 | GNUNET_CONTAINER_meta_data_test_equal ( |
475 | const struct GNUNET_CONTAINER_MetaData *md1, | 477 | const struct GNUNET_CONTAINER_MetaData *md1, |
476 | const struct GNUNET_CONTAINER_MetaData *md2); | 478 | const struct GNUNET_CONTAINER_MetaData *md2); |
477 | 479 | ||
@@ -495,13 +497,13 @@ GNUNET_CONTAINER_meta_data_test_equal( | |||
495 | * data_mime_type and plugin_name are not considered for "exists" checks | 497 | * data_mime_type and plugin_name are not considered for "exists" checks |
496 | */ | 498 | */ |
497 | int | 499 | int |
498 | GNUNET_CONTAINER_meta_data_insert(struct GNUNET_CONTAINER_MetaData *md, | 500 | GNUNET_CONTAINER_meta_data_insert (struct GNUNET_CONTAINER_MetaData *md, |
499 | const char *plugin_name, | 501 | const char *plugin_name, |
500 | enum EXTRACTOR_MetaType type, | 502 | enum EXTRACTOR_MetaType type, |
501 | enum EXTRACTOR_MetaFormat format, | 503 | enum EXTRACTOR_MetaFormat format, |
502 | const char *data_mime_type, | 504 | const char *data_mime_type, |
503 | const char *data, | 505 | const char *data, |
504 | size_t data_size); | 506 | size_t data_size); |
505 | 507 | ||
506 | 508 | ||
507 | /** | 509 | /** |
@@ -513,8 +515,8 @@ GNUNET_CONTAINER_meta_data_insert(struct GNUNET_CONTAINER_MetaData *md, | |||
513 | * @param in metadata to merge | 515 | * @param in metadata to merge |
514 | */ | 516 | */ |
515 | void | 517 | void |
516 | GNUNET_CONTAINER_meta_data_merge(struct GNUNET_CONTAINER_MetaData *md, | 518 | GNUNET_CONTAINER_meta_data_merge (struct GNUNET_CONTAINER_MetaData *md, |
517 | const struct GNUNET_CONTAINER_MetaData *in); | 519 | const struct GNUNET_CONTAINER_MetaData *in); |
518 | 520 | ||
519 | 521 | ||
520 | /** | 522 | /** |
@@ -529,10 +531,10 @@ GNUNET_CONTAINER_meta_data_merge(struct GNUNET_CONTAINER_MetaData *md, | |||
529 | * @return #GNUNET_OK on success, #GNUNET_SYSERR if the item does not exist in md | 531 | * @return #GNUNET_OK on success, #GNUNET_SYSERR if the item does not exist in md |
530 | */ | 532 | */ |
531 | int | 533 | int |
532 | GNUNET_CONTAINER_meta_data_delete(struct GNUNET_CONTAINER_MetaData *md, | 534 | GNUNET_CONTAINER_meta_data_delete (struct GNUNET_CONTAINER_MetaData *md, |
533 | enum EXTRACTOR_MetaType type, | 535 | enum EXTRACTOR_MetaType type, |
534 | const char *data, | 536 | const char *data, |
535 | size_t data_size); | 537 | size_t data_size); |
536 | 538 | ||
537 | 539 | ||
538 | /** | 540 | /** |
@@ -542,7 +544,7 @@ GNUNET_CONTAINER_meta_data_delete(struct GNUNET_CONTAINER_MetaData *md, | |||
542 | * @param md metadata to manipulate | 544 | * @param md metadata to manipulate |
543 | */ | 545 | */ |
544 | void | 546 | void |
545 | GNUNET_CONTAINER_meta_data_clear(struct GNUNET_CONTAINER_MetaData *md); | 547 | GNUNET_CONTAINER_meta_data_clear (struct GNUNET_CONTAINER_MetaData *md); |
546 | 548 | ||
547 | 549 | ||
548 | /** | 550 | /** |
@@ -553,7 +555,7 @@ GNUNET_CONTAINER_meta_data_clear(struct GNUNET_CONTAINER_MetaData *md); | |||
553 | * @param md metadata to modify | 555 | * @param md metadata to modify |
554 | */ | 556 | */ |
555 | void | 557 | void |
556 | GNUNET_CONTAINER_meta_data_add_publication_date( | 558 | GNUNET_CONTAINER_meta_data_add_publication_date ( |
557 | struct GNUNET_CONTAINER_MetaData *md); | 559 | struct GNUNET_CONTAINER_MetaData *md); |
558 | 560 | ||
559 | 561 | ||
@@ -568,9 +570,9 @@ GNUNET_CONTAINER_meta_data_add_publication_date( | |||
568 | * @return number of entries | 570 | * @return number of entries |
569 | */ | 571 | */ |
570 | int | 572 | int |
571 | GNUNET_CONTAINER_meta_data_iterate(const struct GNUNET_CONTAINER_MetaData *md, | 573 | GNUNET_CONTAINER_meta_data_iterate (const struct GNUNET_CONTAINER_MetaData *md, |
572 | EXTRACTOR_MetaDataProcessor iter, | 574 | EXTRACTOR_MetaDataProcessor iter, |
573 | void *iter_cls); | 575 | void *iter_cls); |
574 | 576 | ||
575 | 577 | ||
576 | /** | 578 | /** |
@@ -585,7 +587,7 @@ GNUNET_CONTAINER_meta_data_iterate(const struct GNUNET_CONTAINER_MetaData *md, | |||
585 | * @return NULL if no entry was found | 587 | * @return NULL if no entry was found |
586 | */ | 588 | */ |
587 | char * | 589 | char * |
588 | GNUNET_CONTAINER_meta_data_get_by_type( | 590 | GNUNET_CONTAINER_meta_data_get_by_type ( |
589 | const struct GNUNET_CONTAINER_MetaData *md, | 591 | const struct GNUNET_CONTAINER_MetaData *md, |
590 | enum EXTRACTOR_MetaType type); | 592 | enum EXTRACTOR_MetaType type); |
591 | 593 | ||
@@ -603,7 +605,7 @@ GNUNET_CONTAINER_meta_data_get_by_type( | |||
603 | * otherwise client is responsible for freeing the value! | 605 | * otherwise client is responsible for freeing the value! |
604 | */ | 606 | */ |
605 | char * | 607 | char * |
606 | GNUNET_CONTAINER_meta_data_get_first_by_types( | 608 | GNUNET_CONTAINER_meta_data_get_first_by_types ( |
607 | const struct GNUNET_CONTAINER_MetaData *md, | 609 | const struct GNUNET_CONTAINER_MetaData *md, |
608 | ...); | 610 | ...); |
609 | 611 | ||
@@ -618,7 +620,7 @@ GNUNET_CONTAINER_meta_data_get_first_by_types( | |||
618 | * @return number of bytes in thumbnail, 0 if not available | 620 | * @return number of bytes in thumbnail, 0 if not available |
619 | */ | 621 | */ |
620 | size_t | 622 | size_t |
621 | GNUNET_CONTAINER_meta_data_get_thumbnail( | 623 | GNUNET_CONTAINER_meta_data_get_thumbnail ( |
622 | const struct GNUNET_CONTAINER_MetaData *md, | 624 | const struct GNUNET_CONTAINER_MetaData *md, |
623 | unsigned char **thumb); | 625 | unsigned char **thumb); |
624 | 626 | ||
@@ -627,7 +629,8 @@ GNUNET_CONTAINER_meta_data_get_thumbnail( | |||
627 | * @ingroup metadata | 629 | * @ingroup metadata |
628 | * Options for metadata serialization. | 630 | * Options for metadata serialization. |
629 | */ | 631 | */ |
630 | enum GNUNET_CONTAINER_MetaDataSerializationOptions { | 632 | enum GNUNET_CONTAINER_MetaDataSerializationOptions |
633 | { | ||
631 | /** | 634 | /** |
632 | * @ingroup metadata | 635 | * @ingroup metadata |
633 | * Serialize all of the data. | 636 | * Serialize all of the data. |
@@ -665,7 +668,7 @@ enum GNUNET_CONTAINER_MetaDataSerializationOptions { | |||
665 | * space) | 668 | * space) |
666 | */ | 669 | */ |
667 | ssize_t | 670 | ssize_t |
668 | GNUNET_CONTAINER_meta_data_serialize( | 671 | GNUNET_CONTAINER_meta_data_serialize ( |
669 | const struct GNUNET_CONTAINER_MetaData *md, | 672 | const struct GNUNET_CONTAINER_MetaData *md, |
670 | char **target, | 673 | char **target, |
671 | size_t max, | 674 | size_t max, |
@@ -680,7 +683,7 @@ GNUNET_CONTAINER_meta_data_serialize( | |||
680 | * @return number of bytes needed for serialization, -1 on error | 683 | * @return number of bytes needed for serialization, -1 on error |
681 | */ | 684 | */ |
682 | ssize_t | 685 | ssize_t |
683 | GNUNET_CONTAINER_meta_data_get_serialized_size( | 686 | GNUNET_CONTAINER_meta_data_get_serialized_size ( |
684 | const struct GNUNET_CONTAINER_MetaData *md); | 687 | const struct GNUNET_CONTAINER_MetaData *md); |
685 | 688 | ||
686 | 689 | ||
@@ -694,7 +697,7 @@ GNUNET_CONTAINER_meta_data_get_serialized_size( | |||
694 | * bad format) | 697 | * bad format) |
695 | */ | 698 | */ |
696 | struct GNUNET_CONTAINER_MetaData * | 699 | struct GNUNET_CONTAINER_MetaData * |
697 | GNUNET_CONTAINER_meta_data_deserialize(const char *input, size_t size); | 700 | GNUNET_CONTAINER_meta_data_deserialize (const char *input, size_t size); |
698 | 701 | ||
699 | 702 | ||
700 | /* ******************************* HashMap **************************** */ | 703 | /* ******************************* HashMap **************************** */ |
@@ -716,7 +719,8 @@ struct GNUNET_CONTAINER_MultiHashMapIterator; | |||
716 | * @ingroup hashmap | 719 | * @ingroup hashmap |
717 | * Options for storing values in the HashMap. | 720 | * Options for storing values in the HashMap. |
718 | */ | 721 | */ |
719 | enum GNUNET_CONTAINER_MultiHashMapOption { | 722 | enum GNUNET_CONTAINER_MultiHashMapOption |
723 | { | ||
720 | /** | 724 | /** |
721 | * @ingroup hashmap | 725 | * @ingroup hashmap |
722 | * If a value with the given key exists, replace it. Note that the | 726 | * If a value with the given key exists, replace it. Note that the |
@@ -785,7 +789,7 @@ typedef int (*GNUNET_CONTAINER_MulitHashMapIteratorCallback) ( | |||
785 | * @return NULL on error | 789 | * @return NULL on error |
786 | */ | 790 | */ |
787 | struct GNUNET_CONTAINER_MultiHashMap * | 791 | struct GNUNET_CONTAINER_MultiHashMap * |
788 | GNUNET_CONTAINER_multihashmap_create(unsigned int len, int do_not_copy_keys); | 792 | GNUNET_CONTAINER_multihashmap_create (unsigned int len, int do_not_copy_keys); |
789 | 793 | ||
790 | 794 | ||
791 | /** | 795 | /** |
@@ -796,7 +800,7 @@ GNUNET_CONTAINER_multihashmap_create(unsigned int len, int do_not_copy_keys); | |||
796 | * @param map the map | 800 | * @param map the map |
797 | */ | 801 | */ |
798 | void | 802 | void |
799 | GNUNET_CONTAINER_multihashmap_destroy( | 803 | GNUNET_CONTAINER_multihashmap_destroy ( |
800 | struct GNUNET_CONTAINER_MultiHashMap *map); | 804 | struct GNUNET_CONTAINER_MultiHashMap *map); |
801 | 805 | ||
802 | 806 | ||
@@ -812,7 +816,7 @@ GNUNET_CONTAINER_multihashmap_destroy( | |||
812 | * key-value pairs with value NULL | 816 | * key-value pairs with value NULL |
813 | */ | 817 | */ |
814 | void * | 818 | void * |
815 | GNUNET_CONTAINER_multihashmap_get( | 819 | GNUNET_CONTAINER_multihashmap_get ( |
816 | const struct GNUNET_CONTAINER_MultiHashMap *map, | 820 | const struct GNUNET_CONTAINER_MultiHashMap *map, |
817 | const struct GNUNET_HashCode *key); | 821 | const struct GNUNET_HashCode *key); |
818 | 822 | ||
@@ -830,9 +834,9 @@ GNUNET_CONTAINER_multihashmap_get( | |||
830 | * is not in the map | 834 | * is not in the map |
831 | */ | 835 | */ |
832 | int | 836 | int |
833 | GNUNET_CONTAINER_multihashmap_remove(struct GNUNET_CONTAINER_MultiHashMap *map, | 837 | GNUNET_CONTAINER_multihashmap_remove (struct GNUNET_CONTAINER_MultiHashMap *map, |
834 | const struct GNUNET_HashCode *key, | 838 | const struct GNUNET_HashCode *key, |
835 | const void *value); | 839 | const void *value); |
836 | 840 | ||
837 | /** | 841 | /** |
838 | * @ingroup hashmap | 842 | * @ingroup hashmap |
@@ -844,7 +848,7 @@ GNUNET_CONTAINER_multihashmap_remove(struct GNUNET_CONTAINER_MultiHashMap *map, | |||
844 | * @return number of values removed | 848 | * @return number of values removed |
845 | */ | 849 | */ |
846 | int | 850 | int |
847 | GNUNET_CONTAINER_multihashmap_remove_all( | 851 | GNUNET_CONTAINER_multihashmap_remove_all ( |
848 | struct GNUNET_CONTAINER_MultiHashMap *map, | 852 | struct GNUNET_CONTAINER_MultiHashMap *map, |
849 | const struct GNUNET_HashCode *key); | 853 | const struct GNUNET_HashCode *key); |
850 | 854 | ||
@@ -858,7 +862,7 @@ GNUNET_CONTAINER_multihashmap_remove_all( | |||
858 | * @return number of values removed | 862 | * @return number of values removed |
859 | */ | 863 | */ |
860 | unsigned int | 864 | unsigned int |
861 | GNUNET_CONTAINER_multihashmap_clear(struct GNUNET_CONTAINER_MultiHashMap *map); | 865 | GNUNET_CONTAINER_multihashmap_clear (struct GNUNET_CONTAINER_MultiHashMap *map); |
862 | 866 | ||
863 | 867 | ||
864 | /** | 868 | /** |
@@ -872,7 +876,7 @@ GNUNET_CONTAINER_multihashmap_clear(struct GNUNET_CONTAINER_MultiHashMap *map); | |||
872 | * #GNUNET_NO if not | 876 | * #GNUNET_NO if not |
873 | */ | 877 | */ |
874 | int | 878 | int |
875 | GNUNET_CONTAINER_multihashmap_contains( | 879 | GNUNET_CONTAINER_multihashmap_contains ( |
876 | const struct GNUNET_CONTAINER_MultiHashMap *map, | 880 | const struct GNUNET_CONTAINER_MultiHashMap *map, |
877 | const struct GNUNET_HashCode *key); | 881 | const struct GNUNET_HashCode *key); |
878 | 882 | ||
@@ -889,7 +893,7 @@ GNUNET_CONTAINER_multihashmap_contains( | |||
889 | * #GNUNET_NO if not | 893 | * #GNUNET_NO if not |
890 | */ | 894 | */ |
891 | int | 895 | int |
892 | GNUNET_CONTAINER_multihashmap_contains_value( | 896 | GNUNET_CONTAINER_multihashmap_contains_value ( |
893 | const struct GNUNET_CONTAINER_MultiHashMap *map, | 897 | const struct GNUNET_CONTAINER_MultiHashMap *map, |
894 | const struct GNUNET_HashCode *key, | 898 | const struct GNUNET_HashCode *key, |
895 | const void *value); | 899 | const void *value); |
@@ -909,7 +913,7 @@ GNUNET_CONTAINER_multihashmap_contains_value( | |||
909 | * value already exists | 913 | * value already exists |
910 | */ | 914 | */ |
911 | int | 915 | int |
912 | GNUNET_CONTAINER_multihashmap_put( | 916 | GNUNET_CONTAINER_multihashmap_put ( |
913 | struct GNUNET_CONTAINER_MultiHashMap *map, | 917 | struct GNUNET_CONTAINER_MultiHashMap *map, |
914 | const struct GNUNET_HashCode *key, | 918 | const struct GNUNET_HashCode *key, |
915 | void *value, | 919 | void *value, |
@@ -923,7 +927,7 @@ GNUNET_CONTAINER_multihashmap_put( | |||
923 | * @return the number of key value pairs | 927 | * @return the number of key value pairs |
924 | */ | 928 | */ |
925 | unsigned int | 929 | unsigned int |
926 | GNUNET_CONTAINER_multihashmap_size( | 930 | GNUNET_CONTAINER_multihashmap_size ( |
927 | const struct GNUNET_CONTAINER_MultiHashMap *map); | 931 | const struct GNUNET_CONTAINER_MultiHashMap *map); |
928 | 932 | ||
929 | 933 | ||
@@ -938,7 +942,7 @@ GNUNET_CONTAINER_multihashmap_size( | |||
938 | * #GNUNET_SYSERR if it aborted iteration | 942 | * #GNUNET_SYSERR if it aborted iteration |
939 | */ | 943 | */ |
940 | int | 944 | int |
941 | GNUNET_CONTAINER_multihashmap_iterate( | 945 | GNUNET_CONTAINER_multihashmap_iterate ( |
942 | struct GNUNET_CONTAINER_MultiHashMap *map, | 946 | struct GNUNET_CONTAINER_MultiHashMap *map, |
943 | GNUNET_CONTAINER_MulitHashMapIteratorCallback it, | 947 | GNUNET_CONTAINER_MulitHashMapIteratorCallback it, |
944 | void *it_cls); | 948 | void *it_cls); |
@@ -958,7 +962,7 @@ GNUNET_CONTAINER_multihashmap_iterate( | |||
958 | * @return an iterator over the given multihashmap @a map | 962 | * @return an iterator over the given multihashmap @a map |
959 | */ | 963 | */ |
960 | struct GNUNET_CONTAINER_MultiHashMapIterator * | 964 | struct GNUNET_CONTAINER_MultiHashMapIterator * |
961 | GNUNET_CONTAINER_multihashmap_iterator_create( | 965 | GNUNET_CONTAINER_multihashmap_iterator_create ( |
962 | const struct GNUNET_CONTAINER_MultiHashMap *map); | 966 | const struct GNUNET_CONTAINER_MultiHashMap *map); |
963 | 967 | ||
964 | 968 | ||
@@ -978,7 +982,7 @@ GNUNET_CONTAINER_multihashmap_iterator_create( | |||
978 | * #GNUNET_NO if we are out of elements | 982 | * #GNUNET_NO if we are out of elements |
979 | */ | 983 | */ |
980 | int | 984 | int |
981 | GNUNET_CONTAINER_multihashmap_iterator_next( | 985 | GNUNET_CONTAINER_multihashmap_iterator_next ( |
982 | struct GNUNET_CONTAINER_MultiHashMapIterator *iter, | 986 | struct GNUNET_CONTAINER_MultiHashMapIterator *iter, |
983 | struct GNUNET_HashCode *key, | 987 | struct GNUNET_HashCode *key, |
984 | const void **value); | 988 | const void **value); |
@@ -991,7 +995,7 @@ GNUNET_CONTAINER_multihashmap_iterator_next( | |||
991 | * @param iter the iterator to destroy | 995 | * @param iter the iterator to destroy |
992 | */ | 996 | */ |
993 | void | 997 | void |
994 | GNUNET_CONTAINER_multihashmap_iterator_destroy( | 998 | GNUNET_CONTAINER_multihashmap_iterator_destroy ( |
995 | struct GNUNET_CONTAINER_MultiHashMapIterator *iter); | 999 | struct GNUNET_CONTAINER_MultiHashMapIterator *iter); |
996 | 1000 | ||
997 | 1001 | ||
@@ -1007,7 +1011,7 @@ GNUNET_CONTAINER_multihashmap_iterator_destroy( | |||
1007 | * #GNUNET_SYSERR if it aborted iteration | 1011 | * #GNUNET_SYSERR if it aborted iteration |
1008 | */ | 1012 | */ |
1009 | int | 1013 | int |
1010 | GNUNET_CONTAINER_multihashmap_get_multiple( | 1014 | GNUNET_CONTAINER_multihashmap_get_multiple ( |
1011 | struct GNUNET_CONTAINER_MultiHashMap *map, | 1015 | struct GNUNET_CONTAINER_MultiHashMap *map, |
1012 | const struct GNUNET_HashCode *key, | 1016 | const struct GNUNET_HashCode *key, |
1013 | GNUNET_CONTAINER_MulitHashMapIteratorCallback it, | 1017 | GNUNET_CONTAINER_MulitHashMapIteratorCallback it, |
@@ -1026,7 +1030,7 @@ GNUNET_CONTAINER_multihashmap_get_multiple( | |||
1026 | * @return the number of key value pairs processed, zero or one. | 1030 | * @return the number of key value pairs processed, zero or one. |
1027 | */ | 1031 | */ |
1028 | unsigned int | 1032 | unsigned int |
1029 | GNUNET_CONTAINER_multihashmap_get_random( | 1033 | GNUNET_CONTAINER_multihashmap_get_random ( |
1030 | const struct GNUNET_CONTAINER_MultiHashMap *map, | 1034 | const struct GNUNET_CONTAINER_MultiHashMap *map, |
1031 | GNUNET_CONTAINER_MulitHashMapIteratorCallback it, | 1035 | GNUNET_CONTAINER_MulitHashMapIteratorCallback it, |
1032 | void *it_cls); | 1036 | void *it_cls); |
@@ -1074,7 +1078,7 @@ struct GNUNET_CONTAINER_MultiPeerMap; | |||
1074 | * @return NULL on error | 1078 | * @return NULL on error |
1075 | */ | 1079 | */ |
1076 | struct GNUNET_CONTAINER_MultiPeerMap * | 1080 | struct GNUNET_CONTAINER_MultiPeerMap * |
1077 | GNUNET_CONTAINER_multipeermap_create(unsigned int len, int do_not_copy_keys); | 1081 | GNUNET_CONTAINER_multipeermap_create (unsigned int len, int do_not_copy_keys); |
1078 | 1082 | ||
1079 | 1083 | ||
1080 | /** | 1084 | /** |
@@ -1085,7 +1089,7 @@ GNUNET_CONTAINER_multipeermap_create(unsigned int len, int do_not_copy_keys); | |||
1085 | * @param map the map | 1089 | * @param map the map |
1086 | */ | 1090 | */ |
1087 | void | 1091 | void |
1088 | GNUNET_CONTAINER_multipeermap_destroy( | 1092 | GNUNET_CONTAINER_multipeermap_destroy ( |
1089 | struct GNUNET_CONTAINER_MultiPeerMap *map); | 1093 | struct GNUNET_CONTAINER_MultiPeerMap *map); |
1090 | 1094 | ||
1091 | 1095 | ||
@@ -1101,7 +1105,7 @@ GNUNET_CONTAINER_multipeermap_destroy( | |||
1101 | * key-value pairs with value NULL | 1105 | * key-value pairs with value NULL |
1102 | */ | 1106 | */ |
1103 | void * | 1107 | void * |
1104 | GNUNET_CONTAINER_multipeermap_get( | 1108 | GNUNET_CONTAINER_multipeermap_get ( |
1105 | const struct GNUNET_CONTAINER_MultiPeerMap *map, | 1109 | const struct GNUNET_CONTAINER_MultiPeerMap *map, |
1106 | const struct GNUNET_PeerIdentity *key); | 1110 | const struct GNUNET_PeerIdentity *key); |
1107 | 1111 | ||
@@ -1119,9 +1123,9 @@ GNUNET_CONTAINER_multipeermap_get( | |||
1119 | * is not in the map | 1123 | * is not in the map |
1120 | */ | 1124 | */ |
1121 | int | 1125 | int |
1122 | GNUNET_CONTAINER_multipeermap_remove(struct GNUNET_CONTAINER_MultiPeerMap *map, | 1126 | GNUNET_CONTAINER_multipeermap_remove (struct GNUNET_CONTAINER_MultiPeerMap *map, |
1123 | const struct GNUNET_PeerIdentity *key, | 1127 | const struct GNUNET_PeerIdentity *key, |
1124 | const void *value); | 1128 | const void *value); |
1125 | 1129 | ||
1126 | /** | 1130 | /** |
1127 | * @ingroup hashmap | 1131 | * @ingroup hashmap |
@@ -1133,7 +1137,7 @@ GNUNET_CONTAINER_multipeermap_remove(struct GNUNET_CONTAINER_MultiPeerMap *map, | |||
1133 | * @return number of values removed | 1137 | * @return number of values removed |
1134 | */ | 1138 | */ |
1135 | int | 1139 | int |
1136 | GNUNET_CONTAINER_multipeermap_remove_all( | 1140 | GNUNET_CONTAINER_multipeermap_remove_all ( |
1137 | struct GNUNET_CONTAINER_MultiPeerMap *map, | 1141 | struct GNUNET_CONTAINER_MultiPeerMap *map, |
1138 | const struct GNUNET_PeerIdentity *key); | 1142 | const struct GNUNET_PeerIdentity *key); |
1139 | 1143 | ||
@@ -1149,7 +1153,7 @@ GNUNET_CONTAINER_multipeermap_remove_all( | |||
1149 | * #GNUNET_NO if not | 1153 | * #GNUNET_NO if not |
1150 | */ | 1154 | */ |
1151 | int | 1155 | int |
1152 | GNUNET_CONTAINER_multipeermap_contains( | 1156 | GNUNET_CONTAINER_multipeermap_contains ( |
1153 | const struct GNUNET_CONTAINER_MultiPeerMap *map, | 1157 | const struct GNUNET_CONTAINER_MultiPeerMap *map, |
1154 | const struct GNUNET_PeerIdentity *key); | 1158 | const struct GNUNET_PeerIdentity *key); |
1155 | 1159 | ||
@@ -1166,7 +1170,7 @@ GNUNET_CONTAINER_multipeermap_contains( | |||
1166 | * #GNUNET_NO if not | 1170 | * #GNUNET_NO if not |
1167 | */ | 1171 | */ |
1168 | int | 1172 | int |
1169 | GNUNET_CONTAINER_multipeermap_contains_value( | 1173 | GNUNET_CONTAINER_multipeermap_contains_value ( |
1170 | const struct GNUNET_CONTAINER_MultiPeerMap *map, | 1174 | const struct GNUNET_CONTAINER_MultiPeerMap *map, |
1171 | const struct GNUNET_PeerIdentity *key, | 1175 | const struct GNUNET_PeerIdentity *key, |
1172 | const void *value); | 1176 | const void *value); |
@@ -1186,7 +1190,7 @@ GNUNET_CONTAINER_multipeermap_contains_value( | |||
1186 | * value already exists | 1190 | * value already exists |
1187 | */ | 1191 | */ |
1188 | int | 1192 | int |
1189 | GNUNET_CONTAINER_multipeermap_put( | 1193 | GNUNET_CONTAINER_multipeermap_put ( |
1190 | struct GNUNET_CONTAINER_MultiPeerMap *map, | 1194 | struct GNUNET_CONTAINER_MultiPeerMap *map, |
1191 | const struct GNUNET_PeerIdentity *key, | 1195 | const struct GNUNET_PeerIdentity *key, |
1192 | void *value, | 1196 | void *value, |
@@ -1201,7 +1205,7 @@ GNUNET_CONTAINER_multipeermap_put( | |||
1201 | * @return the number of key value pairs | 1205 | * @return the number of key value pairs |
1202 | */ | 1206 | */ |
1203 | unsigned int | 1207 | unsigned int |
1204 | GNUNET_CONTAINER_multipeermap_size( | 1208 | GNUNET_CONTAINER_multipeermap_size ( |
1205 | const struct GNUNET_CONTAINER_MultiPeerMap *map); | 1209 | const struct GNUNET_CONTAINER_MultiPeerMap *map); |
1206 | 1210 | ||
1207 | 1211 | ||
@@ -1216,7 +1220,7 @@ GNUNET_CONTAINER_multipeermap_size( | |||
1216 | * #GNUNET_SYSERR if it aborted iteration | 1220 | * #GNUNET_SYSERR if it aborted iteration |
1217 | */ | 1221 | */ |
1218 | int | 1222 | int |
1219 | GNUNET_CONTAINER_multipeermap_iterate( | 1223 | GNUNET_CONTAINER_multipeermap_iterate ( |
1220 | struct GNUNET_CONTAINER_MultiPeerMap *map, | 1224 | struct GNUNET_CONTAINER_MultiPeerMap *map, |
1221 | GNUNET_CONTAINER_PeerMapIterator it, | 1225 | GNUNET_CONTAINER_PeerMapIterator it, |
1222 | void *it_cls); | 1226 | void *it_cls); |
@@ -1237,7 +1241,7 @@ struct GNUNET_CONTAINER_MultiPeerMapIterator; | |||
1237 | * @return an iterator over the given multihashmap @a map | 1241 | * @return an iterator over the given multihashmap @a map |
1238 | */ | 1242 | */ |
1239 | struct GNUNET_CONTAINER_MultiPeerMapIterator * | 1243 | struct GNUNET_CONTAINER_MultiPeerMapIterator * |
1240 | GNUNET_CONTAINER_multipeermap_iterator_create( | 1244 | GNUNET_CONTAINER_multipeermap_iterator_create ( |
1241 | const struct GNUNET_CONTAINER_MultiPeerMap *map); | 1245 | const struct GNUNET_CONTAINER_MultiPeerMap *map); |
1242 | 1246 | ||
1243 | 1247 | ||
@@ -1257,7 +1261,7 @@ GNUNET_CONTAINER_multipeermap_iterator_create( | |||
1257 | * #GNUNET_NO if we are out of elements | 1261 | * #GNUNET_NO if we are out of elements |
1258 | */ | 1262 | */ |
1259 | int | 1263 | int |
1260 | GNUNET_CONTAINER_multipeermap_iterator_next( | 1264 | GNUNET_CONTAINER_multipeermap_iterator_next ( |
1261 | struct GNUNET_CONTAINER_MultiPeerMapIterator *iter, | 1265 | struct GNUNET_CONTAINER_MultiPeerMapIterator *iter, |
1262 | struct GNUNET_PeerIdentity *key, | 1266 | struct GNUNET_PeerIdentity *key, |
1263 | const void **value); | 1267 | const void **value); |
@@ -1270,7 +1274,7 @@ GNUNET_CONTAINER_multipeermap_iterator_next( | |||
1270 | * @param iter the iterator to destroy | 1274 | * @param iter the iterator to destroy |
1271 | */ | 1275 | */ |
1272 | void | 1276 | void |
1273 | GNUNET_CONTAINER_multipeermap_iterator_destroy( | 1277 | GNUNET_CONTAINER_multipeermap_iterator_destroy ( |
1274 | struct GNUNET_CONTAINER_MultiPeerMapIterator *iter); | 1278 | struct GNUNET_CONTAINER_MultiPeerMapIterator *iter); |
1275 | 1279 | ||
1276 | 1280 | ||
@@ -1286,7 +1290,7 @@ GNUNET_CONTAINER_multipeermap_iterator_destroy( | |||
1286 | * #GNUNET_SYSERR if it aborted iteration | 1290 | * #GNUNET_SYSERR if it aborted iteration |
1287 | */ | 1291 | */ |
1288 | int | 1292 | int |
1289 | GNUNET_CONTAINER_multipeermap_get_multiple( | 1293 | GNUNET_CONTAINER_multipeermap_get_multiple ( |
1290 | struct GNUNET_CONTAINER_MultiPeerMap *map, | 1294 | struct GNUNET_CONTAINER_MultiPeerMap *map, |
1291 | const struct GNUNET_PeerIdentity *key, | 1295 | const struct GNUNET_PeerIdentity *key, |
1292 | GNUNET_CONTAINER_PeerMapIterator it, | 1296 | GNUNET_CONTAINER_PeerMapIterator it, |
@@ -1305,7 +1309,7 @@ GNUNET_CONTAINER_multipeermap_get_multiple( | |||
1305 | * @return the number of key value pairs processed, zero or one. | 1309 | * @return the number of key value pairs processed, zero or one. |
1306 | */ | 1310 | */ |
1307 | unsigned int | 1311 | unsigned int |
1308 | GNUNET_CONTAINER_multipeermap_get_random( | 1312 | GNUNET_CONTAINER_multipeermap_get_random ( |
1309 | const struct GNUNET_CONTAINER_MultiPeerMap *map, | 1313 | const struct GNUNET_CONTAINER_MultiPeerMap *map, |
1310 | GNUNET_CONTAINER_PeerMapIterator it, | 1314 | GNUNET_CONTAINER_PeerMapIterator it, |
1311 | void *it_cls); | 1315 | void *it_cls); |
@@ -1353,7 +1357,7 @@ struct GNUNET_CONTAINER_MultiShortmap; | |||
1353 | * @return NULL on error | 1357 | * @return NULL on error |
1354 | */ | 1358 | */ |
1355 | struct GNUNET_CONTAINER_MultiShortmap * | 1359 | struct GNUNET_CONTAINER_MultiShortmap * |
1356 | GNUNET_CONTAINER_multishortmap_create(unsigned int len, int do_not_copy_keys); | 1360 | GNUNET_CONTAINER_multishortmap_create (unsigned int len, int do_not_copy_keys); |
1357 | 1361 | ||
1358 | 1362 | ||
1359 | /** | 1363 | /** |
@@ -1364,7 +1368,7 @@ GNUNET_CONTAINER_multishortmap_create(unsigned int len, int do_not_copy_keys); | |||
1364 | * @param map the map | 1368 | * @param map the map |
1365 | */ | 1369 | */ |
1366 | void | 1370 | void |
1367 | GNUNET_CONTAINER_multishortmap_destroy( | 1371 | GNUNET_CONTAINER_multishortmap_destroy ( |
1368 | struct GNUNET_CONTAINER_MultiShortmap *map); | 1372 | struct GNUNET_CONTAINER_MultiShortmap *map); |
1369 | 1373 | ||
1370 | 1374 | ||
@@ -1380,7 +1384,7 @@ GNUNET_CONTAINER_multishortmap_destroy( | |||
1380 | * key-value pairs with value NULL | 1384 | * key-value pairs with value NULL |
1381 | */ | 1385 | */ |
1382 | void * | 1386 | void * |
1383 | GNUNET_CONTAINER_multishortmap_get( | 1387 | GNUNET_CONTAINER_multishortmap_get ( |
1384 | const struct GNUNET_CONTAINER_MultiShortmap *map, | 1388 | const struct GNUNET_CONTAINER_MultiShortmap *map, |
1385 | const struct GNUNET_ShortHashCode *key); | 1389 | const struct GNUNET_ShortHashCode *key); |
1386 | 1390 | ||
@@ -1398,7 +1402,7 @@ GNUNET_CONTAINER_multishortmap_get( | |||
1398 | * is not in the map | 1402 | * is not in the map |
1399 | */ | 1403 | */ |
1400 | int | 1404 | int |
1401 | GNUNET_CONTAINER_multishortmap_remove( | 1405 | GNUNET_CONTAINER_multishortmap_remove ( |
1402 | struct GNUNET_CONTAINER_MultiShortmap *map, | 1406 | struct GNUNET_CONTAINER_MultiShortmap *map, |
1403 | const struct GNUNET_ShortHashCode *key, | 1407 | const struct GNUNET_ShortHashCode *key, |
1404 | const void *value); | 1408 | const void *value); |
@@ -1413,7 +1417,7 @@ GNUNET_CONTAINER_multishortmap_remove( | |||
1413 | * @return number of values removed | 1417 | * @return number of values removed |
1414 | */ | 1418 | */ |
1415 | int | 1419 | int |
1416 | GNUNET_CONTAINER_multishortmap_remove_all( | 1420 | GNUNET_CONTAINER_multishortmap_remove_all ( |
1417 | struct GNUNET_CONTAINER_MultiShortmap *map, | 1421 | struct GNUNET_CONTAINER_MultiShortmap *map, |
1418 | const struct GNUNET_ShortHashCode *key); | 1422 | const struct GNUNET_ShortHashCode *key); |
1419 | 1423 | ||
@@ -1429,7 +1433,7 @@ GNUNET_CONTAINER_multishortmap_remove_all( | |||
1429 | * #GNUNET_NO if not | 1433 | * #GNUNET_NO if not |
1430 | */ | 1434 | */ |
1431 | int | 1435 | int |
1432 | GNUNET_CONTAINER_multishortmap_contains( | 1436 | GNUNET_CONTAINER_multishortmap_contains ( |
1433 | const struct GNUNET_CONTAINER_MultiShortmap *map, | 1437 | const struct GNUNET_CONTAINER_MultiShortmap *map, |
1434 | const struct GNUNET_ShortHashCode *key); | 1438 | const struct GNUNET_ShortHashCode *key); |
1435 | 1439 | ||
@@ -1446,7 +1450,7 @@ GNUNET_CONTAINER_multishortmap_contains( | |||
1446 | * #GNUNET_NO if not | 1450 | * #GNUNET_NO if not |
1447 | */ | 1451 | */ |
1448 | int | 1452 | int |
1449 | GNUNET_CONTAINER_multishortmap_contains_value( | 1453 | GNUNET_CONTAINER_multishortmap_contains_value ( |
1450 | const struct GNUNET_CONTAINER_MultiShortmap *map, | 1454 | const struct GNUNET_CONTAINER_MultiShortmap *map, |
1451 | const struct GNUNET_ShortHashCode *key, | 1455 | const struct GNUNET_ShortHashCode *key, |
1452 | const void *value); | 1456 | const void *value); |
@@ -1466,7 +1470,7 @@ GNUNET_CONTAINER_multishortmap_contains_value( | |||
1466 | * value already exists | 1470 | * value already exists |
1467 | */ | 1471 | */ |
1468 | int | 1472 | int |
1469 | GNUNET_CONTAINER_multishortmap_put( | 1473 | GNUNET_CONTAINER_multishortmap_put ( |
1470 | struct GNUNET_CONTAINER_MultiShortmap *map, | 1474 | struct GNUNET_CONTAINER_MultiShortmap *map, |
1471 | const struct GNUNET_ShortHashCode *key, | 1475 | const struct GNUNET_ShortHashCode *key, |
1472 | void *value, | 1476 | void *value, |
@@ -1481,7 +1485,7 @@ GNUNET_CONTAINER_multishortmap_put( | |||
1481 | * @return the number of key value pairs | 1485 | * @return the number of key value pairs |
1482 | */ | 1486 | */ |
1483 | unsigned int | 1487 | unsigned int |
1484 | GNUNET_CONTAINER_multishortmap_size( | 1488 | GNUNET_CONTAINER_multishortmap_size ( |
1485 | const struct GNUNET_CONTAINER_MultiShortmap *map); | 1489 | const struct GNUNET_CONTAINER_MultiShortmap *map); |
1486 | 1490 | ||
1487 | 1491 | ||
@@ -1496,7 +1500,7 @@ GNUNET_CONTAINER_multishortmap_size( | |||
1496 | * #GNUNET_SYSERR if it aborted iteration | 1500 | * #GNUNET_SYSERR if it aborted iteration |
1497 | */ | 1501 | */ |
1498 | int | 1502 | int |
1499 | GNUNET_CONTAINER_multishortmap_iterate( | 1503 | GNUNET_CONTAINER_multishortmap_iterate ( |
1500 | struct GNUNET_CONTAINER_MultiShortmap *map, | 1504 | struct GNUNET_CONTAINER_MultiShortmap *map, |
1501 | GNUNET_CONTAINER_ShortmapIterator it, | 1505 | GNUNET_CONTAINER_ShortmapIterator it, |
1502 | void *it_cls); | 1506 | void *it_cls); |
@@ -1519,7 +1523,7 @@ struct GNUNET_CONTAINER_MultiShortmapIterator; | |||
1519 | * @return an iterator over the given multihashmap @a map | 1523 | * @return an iterator over the given multihashmap @a map |
1520 | */ | 1524 | */ |
1521 | struct GNUNET_CONTAINER_MultiShortmapIterator * | 1525 | struct GNUNET_CONTAINER_MultiShortmapIterator * |
1522 | GNUNET_CONTAINER_multishortmap_iterator_create( | 1526 | GNUNET_CONTAINER_multishortmap_iterator_create ( |
1523 | const struct GNUNET_CONTAINER_MultiShortmap *map); | 1527 | const struct GNUNET_CONTAINER_MultiShortmap *map); |
1524 | 1528 | ||
1525 | 1529 | ||
@@ -1539,7 +1543,7 @@ GNUNET_CONTAINER_multishortmap_iterator_create( | |||
1539 | * #GNUNET_NO if we are out of elements | 1543 | * #GNUNET_NO if we are out of elements |
1540 | */ | 1544 | */ |
1541 | int | 1545 | int |
1542 | GNUNET_CONTAINER_multishortmap_iterator_next( | 1546 | GNUNET_CONTAINER_multishortmap_iterator_next ( |
1543 | struct GNUNET_CONTAINER_MultiShortmapIterator *iter, | 1547 | struct GNUNET_CONTAINER_MultiShortmapIterator *iter, |
1544 | struct GNUNET_ShortHashCode *key, | 1548 | struct GNUNET_ShortHashCode *key, |
1545 | const void **value); | 1549 | const void **value); |
@@ -1552,7 +1556,7 @@ GNUNET_CONTAINER_multishortmap_iterator_next( | |||
1552 | * @param iter the iterator to destroy | 1556 | * @param iter the iterator to destroy |
1553 | */ | 1557 | */ |
1554 | void | 1558 | void |
1555 | GNUNET_CONTAINER_multishortmap_iterator_destroy( | 1559 | GNUNET_CONTAINER_multishortmap_iterator_destroy ( |
1556 | struct GNUNET_CONTAINER_MultiShortmapIterator *iter); | 1560 | struct GNUNET_CONTAINER_MultiShortmapIterator *iter); |
1557 | 1561 | ||
1558 | 1562 | ||
@@ -1568,7 +1572,7 @@ GNUNET_CONTAINER_multishortmap_iterator_destroy( | |||
1568 | * #GNUNET_SYSERR if it aborted iteration | 1572 | * #GNUNET_SYSERR if it aborted iteration |
1569 | */ | 1573 | */ |
1570 | int | 1574 | int |
1571 | GNUNET_CONTAINER_multishortmap_get_multiple( | 1575 | GNUNET_CONTAINER_multishortmap_get_multiple ( |
1572 | struct GNUNET_CONTAINER_MultiShortmap *map, | 1576 | struct GNUNET_CONTAINER_MultiShortmap *map, |
1573 | const struct GNUNET_ShortHashCode *key, | 1577 | const struct GNUNET_ShortHashCode *key, |
1574 | GNUNET_CONTAINER_ShortmapIterator it, | 1578 | GNUNET_CONTAINER_ShortmapIterator it, |
@@ -1587,7 +1591,7 @@ GNUNET_CONTAINER_multishortmap_get_multiple( | |||
1587 | * @return the number of key value pairs processed, zero or one. | 1591 | * @return the number of key value pairs processed, zero or one. |
1588 | */ | 1592 | */ |
1589 | unsigned int | 1593 | unsigned int |
1590 | GNUNET_CONTAINER_multishortmap_get_random( | 1594 | GNUNET_CONTAINER_multishortmap_get_random ( |
1591 | const struct GNUNET_CONTAINER_MultiShortmap *map, | 1595 | const struct GNUNET_CONTAINER_MultiShortmap *map, |
1592 | GNUNET_CONTAINER_ShortmapIterator it, | 1596 | GNUNET_CONTAINER_ShortmapIterator it, |
1593 | void *it_cls); | 1597 | void *it_cls); |
@@ -1636,7 +1640,7 @@ struct GNUNET_CONTAINER_MultiUuidmap; | |||
1636 | * @return NULL on error | 1640 | * @return NULL on error |
1637 | */ | 1641 | */ |
1638 | struct GNUNET_CONTAINER_MultiUuidmap * | 1642 | struct GNUNET_CONTAINER_MultiUuidmap * |
1639 | GNUNET_CONTAINER_multiuuidmap_create(unsigned int len, int do_not_copy_keys); | 1643 | GNUNET_CONTAINER_multiuuidmap_create (unsigned int len, int do_not_copy_keys); |
1640 | 1644 | ||
1641 | 1645 | ||
1642 | /** | 1646 | /** |
@@ -1647,7 +1651,7 @@ GNUNET_CONTAINER_multiuuidmap_create(unsigned int len, int do_not_copy_keys); | |||
1647 | * @param map the map | 1651 | * @param map the map |
1648 | */ | 1652 | */ |
1649 | void | 1653 | void |
1650 | GNUNET_CONTAINER_multiuuidmap_destroy( | 1654 | GNUNET_CONTAINER_multiuuidmap_destroy ( |
1651 | struct GNUNET_CONTAINER_MultiUuidmap *map); | 1655 | struct GNUNET_CONTAINER_MultiUuidmap *map); |
1652 | 1656 | ||
1653 | 1657 | ||
@@ -1663,7 +1667,7 @@ GNUNET_CONTAINER_multiuuidmap_destroy( | |||
1663 | * key-value pairs with value NULL | 1667 | * key-value pairs with value NULL |
1664 | */ | 1668 | */ |
1665 | void * | 1669 | void * |
1666 | GNUNET_CONTAINER_multiuuidmap_get( | 1670 | GNUNET_CONTAINER_multiuuidmap_get ( |
1667 | const struct GNUNET_CONTAINER_MultiUuidmap *map, | 1671 | const struct GNUNET_CONTAINER_MultiUuidmap *map, |
1668 | const struct GNUNET_Uuid *key); | 1672 | const struct GNUNET_Uuid *key); |
1669 | 1673 | ||
@@ -1681,9 +1685,9 @@ GNUNET_CONTAINER_multiuuidmap_get( | |||
1681 | * is not in the map | 1685 | * is not in the map |
1682 | */ | 1686 | */ |
1683 | int | 1687 | int |
1684 | GNUNET_CONTAINER_multiuuidmap_remove(struct GNUNET_CONTAINER_MultiUuidmap *map, | 1688 | GNUNET_CONTAINER_multiuuidmap_remove (struct GNUNET_CONTAINER_MultiUuidmap *map, |
1685 | const struct GNUNET_Uuid *key, | 1689 | const struct GNUNET_Uuid *key, |
1686 | const void *value); | 1690 | const void *value); |
1687 | 1691 | ||
1688 | /** | 1692 | /** |
1689 | * @ingroup hashmap | 1693 | * @ingroup hashmap |
@@ -1695,7 +1699,7 @@ GNUNET_CONTAINER_multiuuidmap_remove(struct GNUNET_CONTAINER_MultiUuidmap *map, | |||
1695 | * @return number of values removed | 1699 | * @return number of values removed |
1696 | */ | 1700 | */ |
1697 | int | 1701 | int |
1698 | GNUNET_CONTAINER_multiuuidmap_remove_all( | 1702 | GNUNET_CONTAINER_multiuuidmap_remove_all ( |
1699 | struct GNUNET_CONTAINER_MultiUuidmap *map, | 1703 | struct GNUNET_CONTAINER_MultiUuidmap *map, |
1700 | const struct GNUNET_Uuid *key); | 1704 | const struct GNUNET_Uuid *key); |
1701 | 1705 | ||
@@ -1711,7 +1715,7 @@ GNUNET_CONTAINER_multiuuidmap_remove_all( | |||
1711 | * #GNUNET_NO if not | 1715 | * #GNUNET_NO if not |
1712 | */ | 1716 | */ |
1713 | int | 1717 | int |
1714 | GNUNET_CONTAINER_multiuuidmap_contains( | 1718 | GNUNET_CONTAINER_multiuuidmap_contains ( |
1715 | const struct GNUNET_CONTAINER_MultiUuidmap *map, | 1719 | const struct GNUNET_CONTAINER_MultiUuidmap *map, |
1716 | const struct GNUNET_Uuid *key); | 1720 | const struct GNUNET_Uuid *key); |
1717 | 1721 | ||
@@ -1728,7 +1732,7 @@ GNUNET_CONTAINER_multiuuidmap_contains( | |||
1728 | * #GNUNET_NO if not | 1732 | * #GNUNET_NO if not |
1729 | */ | 1733 | */ |
1730 | int | 1734 | int |
1731 | GNUNET_CONTAINER_multiuuidmap_contains_value( | 1735 | GNUNET_CONTAINER_multiuuidmap_contains_value ( |
1732 | const struct GNUNET_CONTAINER_MultiUuidmap *map, | 1736 | const struct GNUNET_CONTAINER_MultiUuidmap *map, |
1733 | const struct GNUNET_Uuid *key, | 1737 | const struct GNUNET_Uuid *key, |
1734 | const void *value); | 1738 | const void *value); |
@@ -1748,7 +1752,7 @@ GNUNET_CONTAINER_multiuuidmap_contains_value( | |||
1748 | * value already exists | 1752 | * value already exists |
1749 | */ | 1753 | */ |
1750 | int | 1754 | int |
1751 | GNUNET_CONTAINER_multiuuidmap_put( | 1755 | GNUNET_CONTAINER_multiuuidmap_put ( |
1752 | struct GNUNET_CONTAINER_MultiUuidmap *map, | 1756 | struct GNUNET_CONTAINER_MultiUuidmap *map, |
1753 | const struct GNUNET_Uuid *key, | 1757 | const struct GNUNET_Uuid *key, |
1754 | void *value, | 1758 | void *value, |
@@ -1763,7 +1767,7 @@ GNUNET_CONTAINER_multiuuidmap_put( | |||
1763 | * @return the number of key value pairs | 1767 | * @return the number of key value pairs |
1764 | */ | 1768 | */ |
1765 | unsigned int | 1769 | unsigned int |
1766 | GNUNET_CONTAINER_multiuuidmap_size( | 1770 | GNUNET_CONTAINER_multiuuidmap_size ( |
1767 | const struct GNUNET_CONTAINER_MultiUuidmap *map); | 1771 | const struct GNUNET_CONTAINER_MultiUuidmap *map); |
1768 | 1772 | ||
1769 | 1773 | ||
@@ -1778,7 +1782,7 @@ GNUNET_CONTAINER_multiuuidmap_size( | |||
1778 | * #GNUNET_SYSERR if it aborted iteration | 1782 | * #GNUNET_SYSERR if it aborted iteration |
1779 | */ | 1783 | */ |
1780 | int | 1784 | int |
1781 | GNUNET_CONTAINER_multiuuidmap_iterate( | 1785 | GNUNET_CONTAINER_multiuuidmap_iterate ( |
1782 | struct GNUNET_CONTAINER_MultiUuidmap *map, | 1786 | struct GNUNET_CONTAINER_MultiUuidmap *map, |
1783 | GNUNET_CONTAINER_MultiUuidmapIteratorCallback it, | 1787 | GNUNET_CONTAINER_MultiUuidmapIteratorCallback it, |
1784 | void *it_cls); | 1788 | void *it_cls); |
@@ -1801,7 +1805,7 @@ struct GNUNET_CONTAINER_MultiUuidmapIterator; | |||
1801 | * @return an iterator over the given multihashmap @a map | 1805 | * @return an iterator over the given multihashmap @a map |
1802 | */ | 1806 | */ |
1803 | struct GNUNET_CONTAINER_MultiUuidmapIterator * | 1807 | struct GNUNET_CONTAINER_MultiUuidmapIterator * |
1804 | GNUNET_CONTAINER_multiuuidmap_iterator_create( | 1808 | GNUNET_CONTAINER_multiuuidmap_iterator_create ( |
1805 | const struct GNUNET_CONTAINER_MultiUuidmap *map); | 1809 | const struct GNUNET_CONTAINER_MultiUuidmap *map); |
1806 | 1810 | ||
1807 | 1811 | ||
@@ -1821,7 +1825,7 @@ GNUNET_CONTAINER_multiuuidmap_iterator_create( | |||
1821 | * #GNUNET_NO if we are out of elements | 1825 | * #GNUNET_NO if we are out of elements |
1822 | */ | 1826 | */ |
1823 | int | 1827 | int |
1824 | GNUNET_CONTAINER_multiuuidmap_iterator_next( | 1828 | GNUNET_CONTAINER_multiuuidmap_iterator_next ( |
1825 | struct GNUNET_CONTAINER_MultiUuidmapIterator *iter, | 1829 | struct GNUNET_CONTAINER_MultiUuidmapIterator *iter, |
1826 | struct GNUNET_Uuid *key, | 1830 | struct GNUNET_Uuid *key, |
1827 | const void **value); | 1831 | const void **value); |
@@ -1834,7 +1838,7 @@ GNUNET_CONTAINER_multiuuidmap_iterator_next( | |||
1834 | * @param iter the iterator to destroy | 1838 | * @param iter the iterator to destroy |
1835 | */ | 1839 | */ |
1836 | void | 1840 | void |
1837 | GNUNET_CONTAINER_multiuuidmap_iterator_destroy( | 1841 | GNUNET_CONTAINER_multiuuidmap_iterator_destroy ( |
1838 | struct GNUNET_CONTAINER_MultiUuidmapIterator *iter); | 1842 | struct GNUNET_CONTAINER_MultiUuidmapIterator *iter); |
1839 | 1843 | ||
1840 | 1844 | ||
@@ -1850,7 +1854,7 @@ GNUNET_CONTAINER_multiuuidmap_iterator_destroy( | |||
1850 | * #GNUNET_SYSERR if it aborted iteration | 1854 | * #GNUNET_SYSERR if it aborted iteration |
1851 | */ | 1855 | */ |
1852 | int | 1856 | int |
1853 | GNUNET_CONTAINER_multiuuidmap_get_multiple( | 1857 | GNUNET_CONTAINER_multiuuidmap_get_multiple ( |
1854 | struct GNUNET_CONTAINER_MultiUuidmap *map, | 1858 | struct GNUNET_CONTAINER_MultiUuidmap *map, |
1855 | const struct GNUNET_Uuid *key, | 1859 | const struct GNUNET_Uuid *key, |
1856 | GNUNET_CONTAINER_MultiUuidmapIteratorCallback it, | 1860 | GNUNET_CONTAINER_MultiUuidmapIteratorCallback it, |
@@ -1869,7 +1873,7 @@ GNUNET_CONTAINER_multiuuidmap_get_multiple( | |||
1869 | * @return the number of key value pairs processed, zero or one. | 1873 | * @return the number of key value pairs processed, zero or one. |
1870 | */ | 1874 | */ |
1871 | unsigned int | 1875 | unsigned int |
1872 | GNUNET_CONTAINER_multiuuidmap_get_random( | 1876 | GNUNET_CONTAINER_multiuuidmap_get_random ( |
1873 | const struct GNUNET_CONTAINER_MultiUuidmap *map, | 1877 | const struct GNUNET_CONTAINER_MultiUuidmap *map, |
1874 | GNUNET_CONTAINER_MultiUuidmapIteratorCallback it, | 1878 | GNUNET_CONTAINER_MultiUuidmapIteratorCallback it, |
1875 | void *it_cls); | 1879 | void *it_cls); |
@@ -1916,7 +1920,7 @@ typedef int (*GNUNET_CONTAINER_MulitHashMapIterator32Callback) (void *cls, | |||
1916 | * @return NULL on error | 1920 | * @return NULL on error |
1917 | */ | 1921 | */ |
1918 | struct GNUNET_CONTAINER_MultiHashMap32 * | 1922 | struct GNUNET_CONTAINER_MultiHashMap32 * |
1919 | GNUNET_CONTAINER_multihashmap32_create(unsigned int len); | 1923 | GNUNET_CONTAINER_multihashmap32_create (unsigned int len); |
1920 | 1924 | ||
1921 | 1925 | ||
1922 | /** | 1926 | /** |
@@ -1927,7 +1931,7 @@ GNUNET_CONTAINER_multihashmap32_create(unsigned int len); | |||
1927 | * @param map the map | 1931 | * @param map the map |
1928 | */ | 1932 | */ |
1929 | void | 1933 | void |
1930 | GNUNET_CONTAINER_multihashmap32_destroy( | 1934 | GNUNET_CONTAINER_multihashmap32_destroy ( |
1931 | struct GNUNET_CONTAINER_MultiHashMap32 *map); | 1935 | struct GNUNET_CONTAINER_MultiHashMap32 *map); |
1932 | 1936 | ||
1933 | 1937 | ||
@@ -1939,7 +1943,7 @@ GNUNET_CONTAINER_multihashmap32_destroy( | |||
1939 | * @return the number of key value pairs | 1943 | * @return the number of key value pairs |
1940 | */ | 1944 | */ |
1941 | unsigned int | 1945 | unsigned int |
1942 | GNUNET_CONTAINER_multihashmap32_size( | 1946 | GNUNET_CONTAINER_multihashmap32_size ( |
1943 | const struct GNUNET_CONTAINER_MultiHashMap32 *map); | 1947 | const struct GNUNET_CONTAINER_MultiHashMap32 *map); |
1944 | 1948 | ||
1945 | 1949 | ||
@@ -1955,7 +1959,7 @@ GNUNET_CONTAINER_multihashmap32_size( | |||
1955 | * key-value pairs with value NULL | 1959 | * key-value pairs with value NULL |
1956 | */ | 1960 | */ |
1957 | void * | 1961 | void * |
1958 | GNUNET_CONTAINER_multihashmap32_get( | 1962 | GNUNET_CONTAINER_multihashmap32_get ( |
1959 | const struct GNUNET_CONTAINER_MultiHashMap32 *map, | 1963 | const struct GNUNET_CONTAINER_MultiHashMap32 *map, |
1960 | uint32_t key); | 1964 | uint32_t key); |
1961 | 1965 | ||
@@ -1971,7 +1975,7 @@ GNUNET_CONTAINER_multihashmap32_get( | |||
1971 | * #GNUNET_SYSERR if it aborted iteration | 1975 | * #GNUNET_SYSERR if it aborted iteration |
1972 | */ | 1976 | */ |
1973 | int | 1977 | int |
1974 | GNUNET_CONTAINER_multihashmap32_iterate( | 1978 | GNUNET_CONTAINER_multihashmap32_iterate ( |
1975 | struct GNUNET_CONTAINER_MultiHashMap32 *map, | 1979 | struct GNUNET_CONTAINER_MultiHashMap32 *map, |
1976 | GNUNET_CONTAINER_MulitHashMapIterator32Callback it, | 1980 | GNUNET_CONTAINER_MulitHashMapIterator32Callback it, |
1977 | void *it_cls); | 1981 | void *it_cls); |
@@ -1990,7 +1994,7 @@ GNUNET_CONTAINER_multihashmap32_iterate( | |||
1990 | * is not in the map | 1994 | * is not in the map |
1991 | */ | 1995 | */ |
1992 | int | 1996 | int |
1993 | GNUNET_CONTAINER_multihashmap32_remove( | 1997 | GNUNET_CONTAINER_multihashmap32_remove ( |
1994 | struct GNUNET_CONTAINER_MultiHashMap32 *map, | 1998 | struct GNUNET_CONTAINER_MultiHashMap32 *map, |
1995 | uint32_t key, | 1999 | uint32_t key, |
1996 | const void *value); | 2000 | const void *value); |
@@ -2006,7 +2010,7 @@ GNUNET_CONTAINER_multihashmap32_remove( | |||
2006 | * @return number of values removed | 2010 | * @return number of values removed |
2007 | */ | 2011 | */ |
2008 | int | 2012 | int |
2009 | GNUNET_CONTAINER_multihashmap32_remove_all( | 2013 | GNUNET_CONTAINER_multihashmap32_remove_all ( |
2010 | struct GNUNET_CONTAINER_MultiHashMap32 *map, | 2014 | struct GNUNET_CONTAINER_MultiHashMap32 *map, |
2011 | uint32_t key); | 2015 | uint32_t key); |
2012 | 2016 | ||
@@ -2022,7 +2026,7 @@ GNUNET_CONTAINER_multihashmap32_remove_all( | |||
2022 | * #GNUNET_NO if not | 2026 | * #GNUNET_NO if not |
2023 | */ | 2027 | */ |
2024 | int | 2028 | int |
2025 | GNUNET_CONTAINER_multihashmap32_contains( | 2029 | GNUNET_CONTAINER_multihashmap32_contains ( |
2026 | const struct GNUNET_CONTAINER_MultiHashMap32 *map, | 2030 | const struct GNUNET_CONTAINER_MultiHashMap32 *map, |
2027 | uint32_t key); | 2031 | uint32_t key); |
2028 | 2032 | ||
@@ -2039,7 +2043,7 @@ GNUNET_CONTAINER_multihashmap32_contains( | |||
2039 | * #GNUNET_NO if not | 2043 | * #GNUNET_NO if not |
2040 | */ | 2044 | */ |
2041 | int | 2045 | int |
2042 | GNUNET_CONTAINER_multihashmap32_contains_value( | 2046 | GNUNET_CONTAINER_multihashmap32_contains_value ( |
2043 | const struct GNUNET_CONTAINER_MultiHashMap32 *map, | 2047 | const struct GNUNET_CONTAINER_MultiHashMap32 *map, |
2044 | uint32_t key, | 2048 | uint32_t key, |
2045 | const void *value); | 2049 | const void *value); |
@@ -2059,7 +2063,7 @@ GNUNET_CONTAINER_multihashmap32_contains_value( | |||
2059 | * value already exists | 2063 | * value already exists |
2060 | */ | 2064 | */ |
2061 | int | 2065 | int |
2062 | GNUNET_CONTAINER_multihashmap32_put( | 2066 | GNUNET_CONTAINER_multihashmap32_put ( |
2063 | struct GNUNET_CONTAINER_MultiHashMap32 *map, | 2067 | struct GNUNET_CONTAINER_MultiHashMap32 *map, |
2064 | uint32_t key, | 2068 | uint32_t key, |
2065 | void *value, | 2069 | void *value, |
@@ -2078,7 +2082,7 @@ GNUNET_CONTAINER_multihashmap32_put( | |||
2078 | * #GNUNET_SYSERR if it aborted iteration | 2082 | * #GNUNET_SYSERR if it aborted iteration |
2079 | */ | 2083 | */ |
2080 | int | 2084 | int |
2081 | GNUNET_CONTAINER_multihashmap32_get_multiple( | 2085 | GNUNET_CONTAINER_multihashmap32_get_multiple ( |
2082 | struct GNUNET_CONTAINER_MultiHashMap32 *map, | 2086 | struct GNUNET_CONTAINER_MultiHashMap32 *map, |
2083 | uint32_t key, | 2087 | uint32_t key, |
2084 | GNUNET_CONTAINER_MulitHashMapIterator32Callback it, | 2088 | GNUNET_CONTAINER_MulitHashMapIterator32Callback it, |
@@ -2098,7 +2102,7 @@ GNUNET_CONTAINER_multihashmap32_get_multiple( | |||
2098 | * @return an iterator over the given multihashmap map | 2102 | * @return an iterator over the given multihashmap map |
2099 | */ | 2103 | */ |
2100 | struct GNUNET_CONTAINER_MultiHashMap32Iterator * | 2104 | struct GNUNET_CONTAINER_MultiHashMap32Iterator * |
2101 | GNUNET_CONTAINER_multihashmap32_iterator_create( | 2105 | GNUNET_CONTAINER_multihashmap32_iterator_create ( |
2102 | const struct GNUNET_CONTAINER_MultiHashMap32 *map); | 2106 | const struct GNUNET_CONTAINER_MultiHashMap32 *map); |
2103 | 2107 | ||
2104 | 2108 | ||
@@ -2117,7 +2121,7 @@ GNUNET_CONTAINER_multihashmap32_iterator_create( | |||
2117 | * #GNUNET_NO if we are out of elements | 2121 | * #GNUNET_NO if we are out of elements |
2118 | */ | 2122 | */ |
2119 | int | 2123 | int |
2120 | GNUNET_CONTAINER_multihashmap32_iterator_next( | 2124 | GNUNET_CONTAINER_multihashmap32_iterator_next ( |
2121 | struct GNUNET_CONTAINER_MultiHashMap32Iterator *iter, | 2125 | struct GNUNET_CONTAINER_MultiHashMap32Iterator *iter, |
2122 | uint32_t *key, | 2126 | uint32_t *key, |
2123 | const void **value); | 2127 | const void **value); |
@@ -2129,7 +2133,7 @@ GNUNET_CONTAINER_multihashmap32_iterator_next( | |||
2129 | * @param iter the iterator to destroy | 2133 | * @param iter the iterator to destroy |
2130 | */ | 2134 | */ |
2131 | void | 2135 | void |
2132 | GNUNET_CONTAINER_multihashmap32_iterator_destroy( | 2136 | GNUNET_CONTAINER_multihashmap32_iterator_destroy ( |
2133 | struct GNUNET_CONTAINER_MultiHashMapIterator *iter); | 2137 | struct GNUNET_CONTAINER_MultiHashMapIterator *iter); |
2134 | 2138 | ||
2135 | 2139 | ||
@@ -2147,17 +2151,17 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy( | |||
2147 | */ | 2151 | */ |
2148 | #define GNUNET_CONTAINER_DLL_insert(head, tail, element) \ | 2152 | #define GNUNET_CONTAINER_DLL_insert(head, tail, element) \ |
2149 | do \ | 2153 | do \ |
2150 | { \ | 2154 | { \ |
2151 | GNUNET_assert(((element)->prev == NULL) && ((head) != (element))); \ | 2155 | GNUNET_assert (((element)->prev == NULL) && ((head) != (element))); \ |
2152 | GNUNET_assert(((element)->next == NULL) && ((tail) != (element))); \ | 2156 | GNUNET_assert (((element)->next == NULL) && ((tail) != (element))); \ |
2153 | (element)->next = (head); \ | 2157 | (element)->next = (head); \ |
2154 | (element)->prev = NULL; \ | 2158 | (element)->prev = NULL; \ |
2155 | if ((tail) == NULL) \ | 2159 | if ((tail) == NULL) \ |
2156 | (tail) = element; \ | 2160 | (tail) = element; \ |
2157 | else \ | 2161 | else \ |
2158 | (head) ->prev = element; \ | 2162 | (head)->prev = element; \ |
2159 | (head) = (element); \ | 2163 | (head) = (element); \ |
2160 | } while (0) | 2164 | } while (0) |
2161 | 2165 | ||
2162 | 2166 | ||
2163 | /** | 2167 | /** |
@@ -2171,17 +2175,17 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy( | |||
2171 | */ | 2175 | */ |
2172 | #define GNUNET_CONTAINER_DLL_insert_tail(head, tail, element) \ | 2176 | #define GNUNET_CONTAINER_DLL_insert_tail(head, tail, element) \ |
2173 | do \ | 2177 | do \ |
2174 | { \ | 2178 | { \ |
2175 | GNUNET_assert(((element)->prev == NULL) && ((head) != (element))); \ | 2179 | GNUNET_assert (((element)->prev == NULL) && ((head) != (element))); \ |
2176 | GNUNET_assert(((element)->next == NULL) && ((tail) != (element))); \ | 2180 | GNUNET_assert (((element)->next == NULL) && ((tail) != (element))); \ |
2177 | (element)->prev = (tail); \ | 2181 | (element)->prev = (tail); \ |
2178 | (element)->next = NULL; \ | 2182 | (element)->next = NULL; \ |
2179 | if ((head) == NULL) \ | 2183 | if ((head) == NULL) \ |
2180 | (head) = element; \ | 2184 | (head) = element; \ |
2181 | else \ | 2185 | else \ |
2182 | (tail) ->next = element; \ | 2186 | (tail)->next = element; \ |
2183 | (tail) = (element); \ | 2187 | (tail) = (element); \ |
2184 | } while (0) | 2188 | } while (0) |
2185 | 2189 | ||
2186 | 2190 | ||
2187 | /** | 2191 | /** |
@@ -2196,25 +2200,25 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy( | |||
2196 | */ | 2200 | */ |
2197 | #define GNUNET_CONTAINER_DLL_insert_after(head, tail, other, element) \ | 2201 | #define GNUNET_CONTAINER_DLL_insert_after(head, tail, other, element) \ |
2198 | do \ | 2202 | do \ |
2199 | { \ | 2203 | { \ |
2200 | GNUNET_assert(((element)->prev == NULL) && ((head) != (element))); \ | 2204 | GNUNET_assert (((element)->prev == NULL) && ((head) != (element))); \ |
2201 | GNUNET_assert(((element)->next == NULL) && ((tail) != (element))); \ | 2205 | GNUNET_assert (((element)->next == NULL) && ((tail) != (element))); \ |
2202 | (element)->prev = (other); \ | 2206 | (element)->prev = (other); \ |
2203 | if (NULL == other) \ | 2207 | if (NULL == other) \ |
2204 | { \ | 2208 | { \ |
2205 | (element)->next = (head); \ | 2209 | (element)->next = (head); \ |
2206 | (head) = (element); \ | 2210 | (head) = (element); \ |
2207 | } \ | 2211 | } \ |
2208 | else \ | 2212 | else \ |
2209 | { \ | 2213 | { \ |
2210 | (element)->next = (other)->next; \ | 2214 | (element)->next = (other)->next; \ |
2211 | (other)->next = (element); \ | 2215 | (other)->next = (element); \ |
2212 | } \ | 2216 | } \ |
2213 | if (NULL == (element)->next) \ | 2217 | if (NULL == (element)->next) \ |
2214 | (tail) = (element); \ | 2218 | (tail) = (element); \ |
2215 | else \ | 2219 | else \ |
2216 | (element) ->next->prev = (element); \ | 2220 | (element)->next->prev = (element); \ |
2217 | } while (0) | 2221 | } while (0) |
2218 | 2222 | ||
2219 | 2223 | ||
2220 | /** | 2224 | /** |
@@ -2229,25 +2233,25 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy( | |||
2229 | */ | 2233 | */ |
2230 | #define GNUNET_CONTAINER_DLL_insert_before(head, tail, other, element) \ | 2234 | #define GNUNET_CONTAINER_DLL_insert_before(head, tail, other, element) \ |
2231 | do \ | 2235 | do \ |
2232 | { \ | 2236 | { \ |
2233 | GNUNET_assert(((element)->prev == NULL) && ((head) != (element))); \ | 2237 | GNUNET_assert (((element)->prev == NULL) && ((head) != (element))); \ |
2234 | GNUNET_assert(((element)->next == NULL) && ((tail) != (element))); \ | 2238 | GNUNET_assert (((element)->next == NULL) && ((tail) != (element))); \ |
2235 | (element)->next = (other); \ | 2239 | (element)->next = (other); \ |
2236 | if (NULL == other) \ | 2240 | if (NULL == other) \ |
2237 | { \ | 2241 | { \ |
2238 | (element)->prev = (tail); \ | 2242 | (element)->prev = (tail); \ |
2239 | (tail) = (element); \ | 2243 | (tail) = (element); \ |
2240 | } \ | 2244 | } \ |
2241 | else \ | 2245 | else \ |
2242 | { \ | 2246 | { \ |
2243 | (element)->prev = (other)->prev; \ | 2247 | (element)->prev = (other)->prev; \ |
2244 | (other)->prev = (element); \ | 2248 | (other)->prev = (element); \ |
2245 | } \ | 2249 | } \ |
2246 | if (NULL == (element)->prev) \ | 2250 | if (NULL == (element)->prev) \ |
2247 | (head) = (element); \ | 2251 | (head) = (element); \ |
2248 | else \ | 2252 | else \ |
2249 | (element) ->prev->next = (element); \ | 2253 | (element)->prev->next = (element); \ |
2250 | } while (0) | 2254 | } while (0) |
2251 | 2255 | ||
2252 | 2256 | ||
2253 | /** | 2257 | /** |
@@ -2266,20 +2270,20 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy( | |||
2266 | */ | 2270 | */ |
2267 | #define GNUNET_CONTAINER_DLL_remove(head, tail, element) \ | 2271 | #define GNUNET_CONTAINER_DLL_remove(head, tail, element) \ |
2268 | do \ | 2272 | do \ |
2269 | { \ | 2273 | { \ |
2270 | GNUNET_assert(((element)->prev != NULL) || ((head) == (element))); \ | 2274 | GNUNET_assert (((element)->prev != NULL) || ((head) == (element))); \ |
2271 | GNUNET_assert(((element)->next != NULL) || ((tail) == (element))); \ | 2275 | GNUNET_assert (((element)->next != NULL) || ((tail) == (element))); \ |
2272 | if ((element)->prev == NULL) \ | 2276 | if ((element)->prev == NULL) \ |
2273 | (head) = (element)->next; \ | 2277 | (head) = (element)->next; \ |
2274 | else \ | 2278 | else \ |
2275 | (element) ->prev->next = (element)->next; \ | 2279 | (element)->prev->next = (element)->next; \ |
2276 | if ((element)->next == NULL) \ | 2280 | if ((element)->next == NULL) \ |
2277 | (tail) = (element)->prev; \ | 2281 | (tail) = (element)->prev; \ |
2278 | else \ | 2282 | else \ |
2279 | (element) ->next->prev = (element)->prev; \ | 2283 | (element)->next->prev = (element)->prev; \ |
2280 | (element)->next = NULL; \ | 2284 | (element)->next = NULL; \ |
2281 | (element)->prev = NULL; \ | 2285 | (element)->prev = NULL; \ |
2282 | } while (0) | 2286 | } while (0) |
2283 | 2287 | ||
2284 | 2288 | ||
2285 | /* ************ Multi-DLL interface, allows DLL elements to be | 2289 | /* ************ Multi-DLL interface, allows DLL elements to be |
@@ -2297,17 +2301,17 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy( | |||
2297 | */ | 2301 | */ |
2298 | #define GNUNET_CONTAINER_MDLL_insert(mdll, head, tail, element) \ | 2302 | #define GNUNET_CONTAINER_MDLL_insert(mdll, head, tail, element) \ |
2299 | do \ | 2303 | do \ |
2300 | { \ | 2304 | { \ |
2301 | GNUNET_assert(((element)->prev_ ## mdll == NULL) && ((head) != (element))); \ | 2305 | GNUNET_assert (((element)->prev_ ## mdll == NULL) && ((head) != (element))); \ |
2302 | GNUNET_assert(((element)->next_ ## mdll == NULL) && ((tail) != (element))); \ | 2306 | GNUNET_assert (((element)->next_ ## mdll == NULL) && ((tail) != (element))); \ |
2303 | (element)->next_ ## mdll = (head); \ | 2307 | (element)->next_ ## mdll = (head); \ |
2304 | (element)->prev_ ## mdll = NULL; \ | 2308 | (element)->prev_ ## mdll = NULL; \ |
2305 | if ((tail) == NULL) \ | 2309 | if ((tail) == NULL) \ |
2306 | (tail) = element; \ | 2310 | (tail) = element; \ |
2307 | else \ | 2311 | else \ |
2308 | (head) ->prev_ ## mdll = element; \ | 2312 | (head)->prev_ ## mdll = element; \ |
2309 | (head) = (element); \ | 2313 | (head) = (element); \ |
2310 | } while (0) | 2314 | } while (0) |
2311 | 2315 | ||
2312 | 2316 | ||
2313 | /** | 2317 | /** |
@@ -2322,17 +2326,17 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy( | |||
2322 | */ | 2326 | */ |
2323 | #define GNUNET_CONTAINER_MDLL_insert_tail(mdll, head, tail, element) \ | 2327 | #define GNUNET_CONTAINER_MDLL_insert_tail(mdll, head, tail, element) \ |
2324 | do \ | 2328 | do \ |
2325 | { \ | 2329 | { \ |
2326 | GNUNET_assert(((element)->prev_ ## mdll == NULL) && ((head) != (element))); \ | 2330 | GNUNET_assert (((element)->prev_ ## mdll == NULL) && ((head) != (element))); \ |
2327 | GNUNET_assert(((element)->next_ ## mdll == NULL) && ((tail) != (element))); \ | 2331 | GNUNET_assert (((element)->next_ ## mdll == NULL) && ((tail) != (element))); \ |
2328 | (element)->prev_ ## mdll = (tail); \ | 2332 | (element)->prev_ ## mdll = (tail); \ |
2329 | (element)->next_ ## mdll = NULL; \ | 2333 | (element)->next_ ## mdll = NULL; \ |
2330 | if ((head) == NULL) \ | 2334 | if ((head) == NULL) \ |
2331 | (head) = element; \ | 2335 | (head) = element; \ |
2332 | else \ | 2336 | else \ |
2333 | (tail) ->next_ ## mdll = element; \ | 2337 | (tail)->next_ ## mdll = element; \ |
2334 | (tail) = (element); \ | 2338 | (tail) = (element); \ |
2335 | } while (0) | 2339 | } while (0) |
2336 | 2340 | ||
2337 | 2341 | ||
2338 | /** | 2342 | /** |
@@ -2348,25 +2352,25 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy( | |||
2348 | */ | 2352 | */ |
2349 | #define GNUNET_CONTAINER_MDLL_insert_after(mdll, head, tail, other, element) \ | 2353 | #define GNUNET_CONTAINER_MDLL_insert_after(mdll, head, tail, other, element) \ |
2350 | do \ | 2354 | do \ |
2351 | { \ | 2355 | { \ |
2352 | GNUNET_assert(((element)->prev_ ## mdll == NULL) && ((head) != (element))); \ | 2356 | GNUNET_assert (((element)->prev_ ## mdll == NULL) && ((head) != (element))); \ |
2353 | GNUNET_assert(((element)->next_ ## mdll == NULL) && ((tail) != (element))); \ | 2357 | GNUNET_assert (((element)->next_ ## mdll == NULL) && ((tail) != (element))); \ |
2354 | (element)->prev_ ## mdll = (other); \ | 2358 | (element)->prev_ ## mdll = (other); \ |
2355 | if (NULL == other) \ | 2359 | if (NULL == other) \ |
2356 | { \ | 2360 | { \ |
2357 | (element)->next_ ## mdll = (head); \ | 2361 | (element)->next_ ## mdll = (head); \ |
2358 | (head) = (element); \ | 2362 | (head) = (element); \ |
2359 | } \ | 2363 | } \ |
2360 | else \ | 2364 | else \ |
2361 | { \ | 2365 | { \ |
2362 | (element)->next_ ## mdll = (other)->next_ ## mdll; \ | 2366 | (element)->next_ ## mdll = (other)->next_ ## mdll; \ |
2363 | (other)->next_ ## mdll = (element); \ | 2367 | (other)->next_ ## mdll = (element); \ |
2364 | } \ | 2368 | } \ |
2365 | if (NULL == (element)->next_ ## mdll) \ | 2369 | if (NULL == (element)->next_ ## mdll) \ |
2366 | (tail) = (element); \ | 2370 | (tail) = (element); \ |
2367 | else \ | 2371 | else \ |
2368 | (element) ->next_ ## mdll->prev_ ## mdll = (element); \ | 2372 | (element)->next_ ## mdll->prev_ ## mdll = (element); \ |
2369 | } while (0) | 2373 | } while (0) |
2370 | 2374 | ||
2371 | 2375 | ||
2372 | /** | 2376 | /** |
@@ -2382,25 +2386,25 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy( | |||
2382 | */ | 2386 | */ |
2383 | #define GNUNET_CONTAINER_MDLL_insert_before(mdll, head, tail, other, element) \ | 2387 | #define GNUNET_CONTAINER_MDLL_insert_before(mdll, head, tail, other, element) \ |
2384 | do \ | 2388 | do \ |
2385 | { \ | 2389 | { \ |
2386 | GNUNET_assert(((element)->prev_ ## mdll == NULL) && ((head) != (element))); \ | 2390 | GNUNET_assert (((element)->prev_ ## mdll == NULL) && ((head) != (element))); \ |
2387 | GNUNET_assert(((element)->next_ ## mdll == NULL) && ((tail) != (element))); \ | 2391 | GNUNET_assert (((element)->next_ ## mdll == NULL) && ((tail) != (element))); \ |
2388 | (element)->next_ ## mdll = (other); \ | 2392 | (element)->next_ ## mdll = (other); \ |
2389 | if (NULL == other) \ | 2393 | if (NULL == other) \ |
2390 | { \ | 2394 | { \ |
2391 | (element)->prev = (tail); \ | 2395 | (element)->prev = (tail); \ |
2392 | (tail) = (element); \ | 2396 | (tail) = (element); \ |
2393 | } \ | 2397 | } \ |
2394 | else \ | 2398 | else \ |
2395 | { \ | 2399 | { \ |
2396 | (element)->prev_ ## mdll = (other)->prev_ ## mdll; \ | 2400 | (element)->prev_ ## mdll = (other)->prev_ ## mdll; \ |
2397 | (other)->prev_ ## mdll = (element); \ | 2401 | (other)->prev_ ## mdll = (element); \ |
2398 | } \ | 2402 | } \ |
2399 | if (NULL == (element)->prev_ ## mdll) \ | 2403 | if (NULL == (element)->prev_ ## mdll) \ |
2400 | (head) = (element); \ | 2404 | (head) = (element); \ |
2401 | else \ | 2405 | else \ |
2402 | (element) ->prev_ ## mdll->next_ ## mdll = (element); \ | 2406 | (element)->prev_ ## mdll->next_ ## mdll = (element); \ |
2403 | } while (0) | 2407 | } while (0) |
2404 | 2408 | ||
2405 | 2409 | ||
2406 | /** | 2410 | /** |
@@ -2416,20 +2420,20 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy( | |||
2416 | */ | 2420 | */ |
2417 | #define GNUNET_CONTAINER_MDLL_remove(mdll, head, tail, element) \ | 2421 | #define GNUNET_CONTAINER_MDLL_remove(mdll, head, tail, element) \ |
2418 | do \ | 2422 | do \ |
2419 | { \ | 2423 | { \ |
2420 | GNUNET_assert(((element)->prev_ ## mdll != NULL) || ((head) == (element))); \ | 2424 | GNUNET_assert (((element)->prev_ ## mdll != NULL) || ((head) == (element))); \ |
2421 | GNUNET_assert(((element)->next_ ## mdll != NULL) || ((tail) == (element))); \ | 2425 | GNUNET_assert (((element)->next_ ## mdll != NULL) || ((tail) == (element))); \ |
2422 | if ((element)->prev_ ## mdll == NULL) \ | 2426 | if ((element)->prev_ ## mdll == NULL) \ |
2423 | (head) = (element)->next_ ## mdll; \ | 2427 | (head) = (element)->next_ ## mdll; \ |
2424 | else \ | 2428 | else \ |
2425 | (element) ->prev_ ## mdll->next_ ## mdll = (element)->next_ ## mdll; \ | 2429 | (element)->prev_ ## mdll->next_ ## mdll = (element)->next_ ## mdll; \ |
2426 | if ((element)->next_ ## mdll == NULL) \ | 2430 | if ((element)->next_ ## mdll == NULL) \ |
2427 | (tail) = (element)->prev_ ## mdll; \ | 2431 | (tail) = (element)->prev_ ## mdll; \ |
2428 | else \ | 2432 | else \ |
2429 | (element) ->next_ ## mdll->prev_ ## mdll = (element)->prev_ ## mdll; \ | 2433 | (element)->next_ ## mdll->prev_ ## mdll = (element)->prev_ ## mdll; \ |
2430 | (element)->next_ ## mdll = NULL; \ | 2434 | (element)->next_ ## mdll = NULL; \ |
2431 | (element)->prev_ ## mdll = NULL; \ | 2435 | (element)->prev_ ## mdll = NULL; \ |
2432 | } while (0) | 2436 | } while (0) |
2433 | 2437 | ||
2434 | 2438 | ||
2435 | /** | 2439 | /** |
@@ -2452,29 +2456,29 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy( | |||
2452 | tail, \ | 2456 | tail, \ |
2453 | element) \ | 2457 | element) \ |
2454 | do \ | 2458 | do \ |
2455 | { \ | 2459 | { \ |
2456 | if ((NULL == head) || (0 < comparator(comparator_cls, element, head))) \ | 2460 | if ((NULL == head) || (0 < comparator (comparator_cls, element, head))) \ |
2457 | { \ | 2461 | { \ |
2458 | /* insert at head, element < head */ \ | 2462 | /* insert at head, element < head */ \ |
2459 | GNUNET_CONTAINER_DLL_insert(head, tail, element); \ | 2463 | GNUNET_CONTAINER_DLL_insert (head, tail, element); \ |
2460 | } \ | 2464 | } \ |
2461 | else \ | 2465 | else \ |
2462 | { \ | 2466 | { \ |
2463 | TYPE *pos; \ | 2467 | TYPE *pos; \ |
2464 | \ | 2468 | \ |
2465 | for (pos = head; NULL != pos; pos = pos->next) \ | 2469 | for (pos = head; NULL != pos; pos = pos->next) \ |
2466 | if (0 < comparator(comparator_cls, element, pos)) \ | 2470 | if (0 < comparator (comparator_cls, element, pos)) \ |
2467 | break; /* element < pos */ \ | 2471 | break; /* element < pos */ \ |
2468 | if (NULL == pos) /* => element > tail */ \ | 2472 | if (NULL == pos) /* => element > tail */ \ |
2469 | { \ | 2473 | { \ |
2470 | GNUNET_CONTAINER_DLL_insert_tail(head, tail, element); \ | 2474 | GNUNET_CONTAINER_DLL_insert_tail (head, tail, element); \ |
2471 | } \ | 2475 | } \ |
2472 | else /* prev < element < pos */ \ | 2476 | else /* prev < element < pos */ \ |
2473 | { \ | 2477 | { \ |
2474 | GNUNET_CONTAINER_DLL_insert_after(head, tail, pos->prev, element); \ | 2478 | GNUNET_CONTAINER_DLL_insert_after (head, tail, pos->prev, element); \ |
2475 | } \ | 2479 | } \ |
2476 | } \ | 2480 | } \ |
2477 | } while (0) | 2481 | } while (0) |
2478 | 2482 | ||
2479 | 2483 | ||
2480 | /* ******************** Heap *************** */ | 2484 | /* ******************** Heap *************** */ |
@@ -2491,7 +2495,8 @@ typedef uint64_t GNUNET_CONTAINER_HeapCostType; | |||
2491 | * @ingroup heap | 2495 | * @ingroup heap |
2492 | * Heap type, either max or min. | 2496 | * Heap type, either max or min. |
2493 | */ | 2497 | */ |
2494 | enum GNUNET_CONTAINER_HeapOrder { | 2498 | enum GNUNET_CONTAINER_HeapOrder |
2499 | { | ||
2495 | /** | 2500 | /** |
2496 | * @ingroup heap | 2501 | * @ingroup heap |
2497 | * Heap with the maximum cost at the root. | 2502 | * Heap with the maximum cost at the root. |
@@ -2528,7 +2533,7 @@ struct GNUNET_CONTAINER_HeapNode; | |||
2528 | * @return handle to the heap | 2533 | * @return handle to the heap |
2529 | */ | 2534 | */ |
2530 | struct GNUNET_CONTAINER_Heap * | 2535 | struct GNUNET_CONTAINER_Heap * |
2531 | GNUNET_CONTAINER_heap_create(enum GNUNET_CONTAINER_HeapOrder order); | 2536 | GNUNET_CONTAINER_heap_create (enum GNUNET_CONTAINER_HeapOrder order); |
2532 | 2537 | ||
2533 | 2538 | ||
2534 | /** | 2539 | /** |
@@ -2539,7 +2544,7 @@ GNUNET_CONTAINER_heap_create(enum GNUNET_CONTAINER_HeapOrder order); | |||
2539 | * @param heap heap to destroy | 2544 | * @param heap heap to destroy |
2540 | */ | 2545 | */ |
2541 | void | 2546 | void |
2542 | GNUNET_CONTAINER_heap_destroy(struct GNUNET_CONTAINER_Heap *heap); | 2547 | GNUNET_CONTAINER_heap_destroy (struct GNUNET_CONTAINER_Heap *heap); |
2543 | 2548 | ||
2544 | 2549 | ||
2545 | /** | 2550 | /** |
@@ -2550,7 +2555,7 @@ GNUNET_CONTAINER_heap_destroy(struct GNUNET_CONTAINER_Heap *heap); | |||
2550 | * @return Element at the root, or NULL if heap is empty. | 2555 | * @return Element at the root, or NULL if heap is empty. |
2551 | */ | 2556 | */ |
2552 | void * | 2557 | void * |
2553 | GNUNET_CONTAINER_heap_peek(const struct GNUNET_CONTAINER_Heap *heap); | 2558 | GNUNET_CONTAINER_heap_peek (const struct GNUNET_CONTAINER_Heap *heap); |
2554 | 2559 | ||
2555 | 2560 | ||
2556 | /** | 2561 | /** |
@@ -2563,9 +2568,9 @@ GNUNET_CONTAINER_heap_peek(const struct GNUNET_CONTAINER_Heap *heap); | |||
2563 | * #GNUNET_NO if the heap is empty. | 2568 | * #GNUNET_NO if the heap is empty. |
2564 | */ | 2569 | */ |
2565 | int | 2570 | int |
2566 | GNUNET_CONTAINER_heap_peek2(const struct GNUNET_CONTAINER_Heap *heap, | 2571 | GNUNET_CONTAINER_heap_peek2 (const struct GNUNET_CONTAINER_Heap *heap, |
2567 | void **element, | 2572 | void **element, |
2568 | GNUNET_CONTAINER_HeapCostType *cost); | 2573 | GNUNET_CONTAINER_HeapCostType *cost); |
2569 | 2574 | ||
2570 | 2575 | ||
2571 | /** | 2576 | /** |
@@ -2576,7 +2581,7 @@ GNUNET_CONTAINER_heap_peek2(const struct GNUNET_CONTAINER_Heap *heap, | |||
2576 | * @return number of elements stored | 2581 | * @return number of elements stored |
2577 | */ | 2582 | */ |
2578 | unsigned int | 2583 | unsigned int |
2579 | GNUNET_CONTAINER_heap_get_size(const struct GNUNET_CONTAINER_Heap *heap); | 2584 | GNUNET_CONTAINER_heap_get_size (const struct GNUNET_CONTAINER_Heap *heap); |
2580 | 2585 | ||
2581 | 2586 | ||
2582 | /** | 2587 | /** |
@@ -2587,7 +2592,7 @@ GNUNET_CONTAINER_heap_get_size(const struct GNUNET_CONTAINER_Heap *heap); | |||
2587 | * @return cost of the node | 2592 | * @return cost of the node |
2588 | */ | 2593 | */ |
2589 | GNUNET_CONTAINER_HeapCostType | 2594 | GNUNET_CONTAINER_HeapCostType |
2590 | GNUNET_CONTAINER_heap_node_get_cost( | 2595 | GNUNET_CONTAINER_heap_node_get_cost ( |
2591 | const struct GNUNET_CONTAINER_HeapNode *node); | 2596 | const struct GNUNET_CONTAINER_HeapNode *node); |
2592 | 2597 | ||
2593 | 2598 | ||
@@ -2618,9 +2623,9 @@ typedef int (*GNUNET_CONTAINER_HeapIterator) ( | |||
2618 | * @param iterator_cls closure for @a iterator | 2623 | * @param iterator_cls closure for @a iterator |
2619 | */ | 2624 | */ |
2620 | void | 2625 | void |
2621 | GNUNET_CONTAINER_heap_iterate(const struct GNUNET_CONTAINER_Heap *heap, | 2626 | GNUNET_CONTAINER_heap_iterate (const struct GNUNET_CONTAINER_Heap *heap, |
2622 | GNUNET_CONTAINER_HeapIterator iterator, | 2627 | GNUNET_CONTAINER_HeapIterator iterator, |
2623 | void *iterator_cls); | 2628 | void *iterator_cls); |
2624 | 2629 | ||
2625 | /** | 2630 | /** |
2626 | * @ingroup heap | 2631 | * @ingroup heap |
@@ -2635,7 +2640,7 @@ GNUNET_CONTAINER_heap_iterate(const struct GNUNET_CONTAINER_Heap *heap, | |||
2635 | * NULL if the tree is empty. | 2640 | * NULL if the tree is empty. |
2636 | */ | 2641 | */ |
2637 | void * | 2642 | void * |
2638 | GNUNET_CONTAINER_heap_walk_get_next(struct GNUNET_CONTAINER_Heap *heap); | 2643 | GNUNET_CONTAINER_heap_walk_get_next (struct GNUNET_CONTAINER_Heap *heap); |
2639 | 2644 | ||
2640 | 2645 | ||
2641 | /** | 2646 | /** |
@@ -2648,9 +2653,9 @@ GNUNET_CONTAINER_heap_walk_get_next(struct GNUNET_CONTAINER_Heap *heap); | |||
2648 | * @return node for the new element | 2653 | * @return node for the new element |
2649 | */ | 2654 | */ |
2650 | struct GNUNET_CONTAINER_HeapNode * | 2655 | struct GNUNET_CONTAINER_HeapNode * |
2651 | GNUNET_CONTAINER_heap_insert(struct GNUNET_CONTAINER_Heap *heap, | 2656 | GNUNET_CONTAINER_heap_insert (struct GNUNET_CONTAINER_Heap *heap, |
2652 | void *element, | 2657 | void *element, |
2653 | GNUNET_CONTAINER_HeapCostType cost); | 2658 | GNUNET_CONTAINER_HeapCostType cost); |
2654 | 2659 | ||
2655 | 2660 | ||
2656 | /** | 2661 | /** |
@@ -2661,7 +2666,7 @@ GNUNET_CONTAINER_heap_insert(struct GNUNET_CONTAINER_Heap *heap, | |||
2661 | * @return element data stored at the root node | 2666 | * @return element data stored at the root node |
2662 | */ | 2667 | */ |
2663 | void * | 2668 | void * |
2664 | GNUNET_CONTAINER_heap_remove_root(struct GNUNET_CONTAINER_Heap *heap); | 2669 | GNUNET_CONTAINER_heap_remove_root (struct GNUNET_CONTAINER_Heap *heap); |
2665 | 2670 | ||
2666 | 2671 | ||
2667 | /** | 2672 | /** |
@@ -2672,7 +2677,7 @@ GNUNET_CONTAINER_heap_remove_root(struct GNUNET_CONTAINER_Heap *heap); | |||
2672 | * @return element data stored at the node, NULL if heap is empty | 2677 | * @return element data stored at the node, NULL if heap is empty |
2673 | */ | 2678 | */ |
2674 | void * | 2679 | void * |
2675 | GNUNET_CONTAINER_heap_remove_node(struct GNUNET_CONTAINER_HeapNode *node); | 2680 | GNUNET_CONTAINER_heap_remove_node (struct GNUNET_CONTAINER_HeapNode *node); |
2676 | 2681 | ||
2677 | 2682 | ||
2678 | /** | 2683 | /** |
@@ -2683,8 +2688,8 @@ GNUNET_CONTAINER_heap_remove_node(struct GNUNET_CONTAINER_HeapNode *node); | |||
2683 | * @param new_cost new cost for the node | 2688 | * @param new_cost new cost for the node |
2684 | */ | 2689 | */ |
2685 | void | 2690 | void |
2686 | GNUNET_CONTAINER_heap_update_cost(struct GNUNET_CONTAINER_HeapNode *node, | 2691 | GNUNET_CONTAINER_heap_update_cost (struct GNUNET_CONTAINER_HeapNode *node, |
2687 | GNUNET_CONTAINER_HeapCostType new_cost); | 2692 | GNUNET_CONTAINER_HeapCostType new_cost); |
2688 | 2693 | ||
2689 | 2694 | ||
2690 | #if 0 /* keep Emacsens' auto-indent happy */ | 2695 | #if 0 /* keep Emacsens' auto-indent happy */ |