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