1 /* xbt/xbt_os_timer.h -- system dependency on time functions */
3 /* Copyright (c) 2007-2022. The SimGrid Team. All rights reserved. */
5 /* This program is free software; you can redistribute it and/or modify it
6 * under the terms of the license (GNU LGPL) which comes with this package. */
11 #include <xbt/misc.h> /* XBT_PUBLIC */
12 #include <stddef.h> /* size_t */
16 /** @brief get time in seconds
18 * gives the number of seconds since the Epoch (00:00:00 UTC, January 1, 1970).
20 XBT_PUBLIC double xbt_os_time(void);
21 XBT_PUBLIC void xbt_os_sleep(double sec);
23 typedef struct s_xbt_os_timer *xbt_os_timer_t;
24 typedef const struct s_xbt_os_timer* const_xbt_os_timer_t;
26 XBT_PUBLIC xbt_os_timer_t xbt_os_timer_new(void);
27 XBT_PUBLIC void xbt_os_timer_free(xbt_os_timer_t timer);
28 XBT_PUBLIC double xbt_os_timer_elapsed(const_xbt_os_timer_t timer);
29 XBT_PUBLIC size_t xbt_os_timer_size(void);
31 XBT_PUBLIC void xbt_os_walltimer_start(xbt_os_timer_t timer);
32 XBT_PUBLIC void xbt_os_walltimer_resume(xbt_os_timer_t timer);
33 XBT_PUBLIC void xbt_os_walltimer_stop(xbt_os_timer_t timer);
35 XBT_PUBLIC void xbt_os_cputimer_start(xbt_os_timer_t timer);
36 XBT_PUBLIC void xbt_os_cputimer_resume(xbt_os_timer_t timer);
37 XBT_PUBLIC void xbt_os_cputimer_stop(xbt_os_timer_t timer);
39 XBT_PUBLIC void xbt_os_threadtimer_start(xbt_os_timer_t timer);
40 XBT_PUBLIC void xbt_os_threadtimer_resume(xbt_os_timer_t timer);
41 XBT_PUBLIC void xbt_os_threadtimer_stop(xbt_os_timer_t timer);