aboutsummaryrefslogtreecommitdiff
path: root/src/util/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/time.c')
-rw-r--r--src/util/time.c41
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
473bool
474GNUNET_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
480bool
481GNUNET_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
487struct GNUNET_TIME_Absolute
488GNUNET_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
501struct GNUNET_TIME_Absolute
502GNUNET_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
473struct GNUNET_TIME_Absolute 514struct GNUNET_TIME_Absolute
474GNUNET_TIME_absolute_ntoh (struct GNUNET_TIME_AbsoluteNBO a) 515GNUNET_TIME_absolute_ntoh (struct GNUNET_TIME_AbsoluteNBO a)
475{ 516{