10 #ifndef PCMK__CRM_COMMON_ISO8601__H    11 #  define PCMK__CRM_COMMON_ISO8601__H    60 #define crm_time_log(level, prefix, dt, flags)  \    61     crm_time_log_alias(level, __FILE__, __func__, __LINE__, prefix, dt, flags)    64                         int line, 
const char *prefix,
    67 #  define crm_time_log_date          0x001    68 #  define crm_time_log_timeofday     0x002    69 #  define crm_time_log_with_timezone 0x004    70 #  define crm_time_log_duration      0x008    72 #  define crm_time_ordinal           0x010    73 #  define crm_time_weeks             0x020    74 #  define crm_time_seconds           0x100    75 #  define crm_time_epoch             0x200    76 #  define crm_time_usecs             0x400 crm_time_t * crm_time_new_undefined(void)
Allocate memory for an uninitialized time object. 
 
void crm_time_add_years(crm_time_t *dt, int value)
 
int crm_time_get_isoweek(const crm_time_t *dt, uint32_t *y, uint32_t *w, uint32_t *d)
 
void crm_time_add_seconds(crm_time_t *dt, int value)
Add a given number of seconds to a date/time or duration. 
 
crm_time_t * crm_time_add(const crm_time_t *dt, const crm_time_t *value)
 
bool crm_time_is_defined(const crm_time_t *t)
Check whether a time object has been initialized yet. 
 
struct crm_time_s crm_time_t
 
crm_time_period_t * crm_time_parse_period(const char *period_str)
Parse a time period from an ISO 8601 interval specification. 
 
int crm_time_weeks_in_year(int year)
 
crm_time_t * pcmk_copy_time(const crm_time_t *source)
 
crm_time_t * crm_time_parse_duration(const char *duration_str)
Parse a time duration from an ISO 8601 duration specification. 
 
int crm_time_get_ordinal(const crm_time_t *dt, uint32_t *y, uint32_t *d)
 
void crm_time_add_hours(crm_time_t *dt, int value)
 
bool crm_time_check(const crm_time_t *dt)
Check whether a time object represents a sensible date/time. 
 
char * crm_time_as_string(const crm_time_t *dt, int flags)
Get a string representation of a crm_time_t object. 
 
int crm_time_get_timezone(const crm_time_t *dt, uint32_t *h, uint32_t *m)
 
void crm_time_set_timet(crm_time_t *target, const time_t *source)
 
void crm_time_set(crm_time_t *target, const crm_time_t *source)
 
void crm_time_add_weeks(crm_time_t *dt, int value)
 
bool crm_time_leapyear(int year)
 
void crm_time_add_months(crm_time_t *dt, int value)
 
void crm_time_free_period(crm_time_period_t *period)
Free a dynamically allocated time period object. 
 
void crm_time_add_minutes(crm_time_t *dt, int value)
 
crm_time_t * crm_time_calculate_duration(const crm_time_t *dt, const crm_time_t *value)
 
int crm_time_january1_weekday(int year)
 
int crm_time_get_gregorian(const crm_time_t *dt, uint32_t *y, uint32_t *m, uint32_t *d)
 
long long crm_time_get_seconds(const crm_time_t *dt)
 
long long crm_time_get_seconds_since_epoch(const crm_time_t *dt)
 
int crm_time_compare(const crm_time_t *a, const crm_time_t *b)
 
struct crm_time_period_s crm_time_period_t
 
crm_time_t * crm_time_new(const char *string)
 
void crm_time_log_alias(int log_level, const char *file, const char *function, int line, const char *prefix, const crm_time_t *date_time, int flags)
 
crm_time_t * crm_time_subtract(const crm_time_t *dt, const crm_time_t *value)
 
int crm_time_get_timeofday(const crm_time_t *dt, uint32_t *h, uint32_t *m, uint32_t *s)
 
void crm_time_add_days(crm_time_t *dt, int value)
 
int crm_time_days_in_month(int month, int year)
Return number of days in given month of given year. 
 
void crm_time_free(crm_time_t *dt)