/** * idmef_time_set_from_time: * @time: Pointer to an #idmef_time_t object. * @t: Pointer to a time_t. * * Fills @time from the information described by @t. * @time won't contain micro seconds information, since theses are not * available within @t. */ void idmef_time_set_from_time(idmef_time_t *time, const time_t *t) { long gmtoff; prelude_return_if_fail(time); prelude_return_if_fail(t); prelude_get_gmt_offset_from_time(t, &gmtoff); time->gmt_offset = (int32_t) gmtoff; time->sec = *t; }
/** * idmef_time_set_from_timeval: * @time: Pointer to an #idmef_time_t object. * @tv: Pointer to a struct timeval (see gettimeofday()). * * Fills @time object filled with information provided within the @tv structure. * * Returns: 0 on success, a negative value if an error occured. */ int idmef_time_set_from_timeval(idmef_time_t *time, const struct timeval *tv) { int ret; long gmtoff; prelude_return_val_if_fail(time, prelude_error(PRELUDE_ERROR_ASSERTION)); prelude_return_val_if_fail(tv, prelude_error(PRELUDE_ERROR_ASSERTION)); ret = prelude_get_gmt_offset_from_time((const time_t *) &tv->tv_sec, &gmtoff); if ( ret < 0 ) return ret; time->sec = tv->tv_sec; time->usec = tv->tv_usec; time->gmt_offset = (int32_t) gmtoff; return 0; }
int prelude_get_gmt_offset(long *gmtoff) { time_t t = time(NULL); return prelude_get_gmt_offset_from_time(&t, gmtoff); }