30 #ifndef CRM_COMMON_ISO8601
31 # define CRM_COMMON_ISO8601
66 # define crm_time_log(level, prefix, dt, flags) crm_time_log_alias(level, __FILE__, __FUNCTION__, __LINE__, prefix, dt, flags)
67 void crm_time_log_alias(
int log_level,
const char *file,
const char *
function,
int line,
70 # define crm_time_log_date 0x001
71 # define crm_time_log_timeofday 0x002
72 # define crm_time_log_with_timezone 0x004
73 # define crm_time_log_duration 0x008
75 # define crm_time_ordinal 0x010
76 # define crm_time_weeks 0x020
77 # define crm_time_seconds 0x100
78 # define crm_time_epoch 0x200
void crm_time_add_years(crm_time_t *dt, int value)
void crm_time_add_seconds(crm_time_t *dt, int value)
void crm_time_add_weekdays(crm_time_t *dt, int value)
struct crm_time_s crm_time_t
crm_time_period_t * crm_time_parse_period(const char *period_str)
int crm_time_weeks_in_year(int year)
int crm_time_get_timezone(crm_time_t *dt, uint32_t *h, uint32_t *m)
int crm_time_get_ordinal(crm_time_t *dt, uint32_t *y, uint32_t *d)
crm_time_t * crm_time_parse_duration(const char *duration_str)
void crm_time_add_hours(crm_time_t *dt, int value)
void crm_time_add_weekyears(crm_time_t *dt, int value)
void crm_time_add_weeks(crm_time_t *dt, int value)
bool crm_time_leapyear(int year)
crm_time_t * crm_time_calculate_duration(crm_time_t *dt, crm_time_t *value)
void crm_time_add_months(crm_time_t *dt, int value)
void crm_time_set_timet(crm_time_t *target, time_t *source)
void crm_time_add_ordinalyears(crm_time_t *dt, int value)
long long int crm_time_get_seconds_since_epoch(crm_time_t *dt)
void crm_time_add_minutes(crm_time_t *dt, int value)
int crm_time_january1_weekday(int year)
struct crm_time_period_s crm_time_period_t
long long int crm_time_get_seconds(crm_time_t *dt)
crm_time_t * crm_time_add(crm_time_t *dt, crm_time_t *value)
int crm_time_get_gregorian(crm_time_t *dt, uint32_t *y, uint32_t *m, uint32_t *d)
int crm_time_get_timeofday(crm_time_t *dt, uint32_t *h, uint32_t *m, uint32_t *s)
void crm_time_set(crm_time_t *target, crm_time_t *source)
void crm_time_log_alias(int log_level, const char *file, const char *function, int line, const char *prefix, crm_time_t *date_time, int flags)
crm_time_t * crm_time_new(const char *string)
int crm_time_compare(crm_time_t *dt, crm_time_t *rhs)
bool crm_time_check(crm_time_t *dt)
crm_time_t * crm_time_subtract(crm_time_t *dt, crm_time_t *value)
char * crm_time_as_string(crm_time_t *dt, int flags)
int crm_time_get_isoweek(crm_time_t *dt, uint32_t *y, uint32_t *w, uint32_t *d)
void crm_time_add_days(crm_time_t *dt, int value)
int crm_time_days_in_month(int month, int year)
void crm_time_free(crm_time_t *dt)