diff options
Diffstat (limited to 'src/util/time.c')
-rw-r--r-- | src/util/time.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/util/time.c b/src/util/time.c index 456ee660b..15a4160e2 100644 --- a/src/util/time.c +++ b/src/util/time.c | |||
@@ -470,6 +470,47 @@ GNUNET_TIME_absolute_hton (struct GNUNET_TIME_Absolute a) | |||
470 | } | 470 | } |
471 | 471 | ||
472 | 472 | ||
473 | bool | ||
474 | GNUNET_TIME_absolute_is_never (struct GNUNET_TIME_Absolute abs) | ||
475 | { | ||
476 | return abs.abs_value_us == GNUNET_TIME_UNIT_FOREVER_ABS.abs_value_us; | ||
477 | } | ||
478 | |||
479 | |||
480 | bool | ||
481 | GNUNET_TIME_relative_is_forever (struct GNUNET_TIME_Relative rel) | ||
482 | { | ||
483 | return rel.rel_value_us == GNUNET_TIME_UNIT_FOREVER_REL.rel_value_us; | ||
484 | } | ||
485 | |||
486 | |||
487 | struct GNUNET_TIME_Absolute | ||
488 | GNUNET_TIME_absolute_from_ms (uint64_t ms_after_epoch) | ||
489 | { | ||
490 | struct GNUNET_TIME_Absolute ret; | ||
491 | |||
492 | ret.abs_value_us = GNUNET_TIME_UNIT_MILLISECONDS.rel_value_us | ||
493 | * ms_after_epoch; | ||
494 | if (ret.abs_value_us / GNUNET_TIME_UNIT_MILLISECONDS.rel_value_us != | ||
495 | ms_after_epoch) | ||
496 | ret = GNUNET_TIME_UNIT_FOREVER_ABS; | ||
497 | return ret; | ||
498 | } | ||
499 | |||
500 | |||
501 | struct GNUNET_TIME_Absolute | ||
502 | GNUNET_TIME_absolute_from_s (uint64_t s_after_epoch) | ||
503 | { | ||
504 | struct GNUNET_TIME_Absolute ret; | ||
505 | |||
506 | ret.abs_value_us = GNUNET_TIME_UNIT_SECONDS.rel_value_us * s_after_epoch; | ||
507 | if (ret.abs_value_us / GNUNET_TIME_UNIT_SECONDS.rel_value_us != | ||
508 | s_after_epoch) | ||
509 | ret = GNUNET_TIME_UNIT_FOREVER_ABS; | ||
510 | return ret; | ||
511 | } | ||
512 | |||
513 | |||
473 | struct GNUNET_TIME_Absolute | 514 | struct GNUNET_TIME_Absolute |
474 | GNUNET_TIME_absolute_ntoh (struct GNUNET_TIME_AbsoluteNBO a) | 515 | GNUNET_TIME_absolute_ntoh (struct GNUNET_TIME_AbsoluteNBO a) |
475 | { | 516 | { |