00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00036 #ifndef _tm_h_
00037 #define _tm_h_
00038
00039 #include "common.h"
00040
00046 #define tm_zero(t) ((t)->tv_sec == 0 && (t)->tv_usec == 0)
00047
00053 #define tm2f(t) ((double) (t)->tv_sec + (t)->tv_usec / 1000000.0)
00054
00060 #define tm2ms(t) ((t)->tv_sec * 1000 + (t)->tv_usec / 1000)
00061
00062 typedef GTimeVal tm_t;
00063
00064 void f2tm(double t, tm_t *tm);
00065 void tm_elapsed(tm_t *elapsed, const tm_t *last, const tm_t *old);
00066 void tm_sub(tm_t *tm, const tm_t *dec);
00067 void tm_add(tm_t *tm, const tm_t *inc);
00068 int tm_cmp(const tm_t *a, const tm_t *b);
00069
00070 void tm_now(tm_t *tm);
00071 void tm_now_exact(tm_t *tm);
00072 time_t tm_time(void);
00073 time_t tm_time_exact(void);
00074 gdouble tm_cputime(gdouble *user, gdouble *sys);
00075
00076 guint tm_hash(gconstpointer key);
00077 gint tm_equal(gconstpointer a, gconstpointer b);
00078
00079 #endif