28#define GRN_TIMEVAL_TO_MSEC(timeval) \
29 (((timeval)->tv_sec * GRN_TIME_MSEC_PER_SEC) + \
30 ((timeval)->tv_nsec / GRN_TIME_NSEC_PER_MSEC))
32#define GRN_TIMEVAL_TO_NSEC(timeval) \
33 (((timeval)->tv_sec * GRN_TIME_NSEC_PER_SEC) + (timeval)->tv_nsec)
35#define GRN_TIME_NSEC_PER_SEC 1000000000
36#define GRN_TIME_NSEC_PER_SEC_F 1000000000.0
37#define GRN_TIME_NSEC_PER_MSEC 1000000
38#define GRN_TIME_NSEC_PER_USEC 1000
39#define GRN_TIME_NSEC_TO_USEC(nsec) ((nsec) / GRN_TIME_NSEC_PER_USEC)
40#define GRN_TIME_USEC_TO_NSEC(usec) ((usec) * GRN_TIME_NSEC_PER_USEC)
42#define GRN_TIME_MSEC_PER_SEC 1000
44#define GRN_TIME_USEC_PER_SEC 1000000
45#define GRN_TIME_USEC_PER_SEC_F 1000000.0
46#define GRN_TIME_USEC_PER_MSEC 1000
47#define GRN_TIME_USEC_TO_SEC(usec) ((usec) / GRN_TIME_USEC_PER_SEC)
49#define GRN_TIME_MSEC_TO_USEC(msec) ((msec) * GRN_TIME_USEC_PER_MSEC)
51#define GRN_TIME_PACK(sec, usec) ((int64_t)(sec) * GRN_TIME_USEC_PER_SEC + (usec))
52#define GRN_TIME_UNPACK(time_value, sec, usec) do {\
53 sec = (time_value) / GRN_TIME_USEC_PER_SEC;\
54 usec = (int32_t)((time_value) % GRN_TIME_USEC_PER_SEC);\
62#define GRN_TIME_NOW(ctx,obj) (grn_time_now((ctx), (obj)))
grn_rc
Definition groonga.h:61
#define GRN_API
Definition groonga.h:39
Definition groonga.h:3341
GRN_API void grn_time_now(grn_ctx *ctx, grn_obj *obj)
GRN_API bool grn_time_from_tm(grn_ctx *ctx, int64_t *time, struct tm *tm)
GRN_API bool grn_time_to_tm(grn_ctx *ctx, int64_t time, struct tm *tm)
GRN_API grn_rc grn_timeval_now(grn_ctx *ctx, grn_timeval *tv)
GRN_API grn_timeval grn_timeval_from_double(grn_ctx *ctx, double value)