pacemaker  1.1.18-7fdfbbe
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
iso8601.c File Reference
#include <crm_internal.h>
#include <crm/crm.h>
#include <time.h>
#include <ctype.h>
#include <crm/common/iso8601.h>
#include <crm/common/iso8601_internal.h>
Include dependency graph for iso8601.c:

Go to the source code of this file.

Macros

#define GMTOFF(tm)   (-timezone+daylight)
 
#define EPOCH_SECONDS   62135596800ULL /* Calculated using crm_time_get_seconds() */
 
#define DATE_MAX   128
 
#define do_cmp_field(l, r, field)
 

Functions

char * crm_time_as_string (crm_time_t *date_time, int flags)
 
crm_time_tparse_date (const char *date_str)
 
gboolean check_for_ordinal (const char *str)
 
crm_time_tcrm_time_new (const char *date_time)
 
void crm_time_free (crm_time_t *dt)
 
int crm_time_january1_weekday (int year)
 
int crm_time_weeks_in_year (int year)
 
int crm_time_days_in_month (int month, int year)
 
bool crm_time_leapyear (int year)
 
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)
 
int crm_time_get_timeofday (crm_time_t *dt, uint *h, uint *m, uint *s)
 
int crm_time_get_timezone (crm_time_t *dt, uint *h, uint *m)
 
long long crm_time_get_seconds (crm_time_t *dt)
 
long long crm_time_get_seconds_since_epoch (crm_time_t *dt)
 
int crm_time_get_gregorian (crm_time_t *dt, uint *y, uint *m, uint *d)
 
int crm_time_get_ordinal (crm_time_t *dt, uint *y, uint *d)
 
int crm_time_get_isoweek (crm_time_t *dt, uint *y, uint *w, uint *d)
 
crm_time_tcrm_time_parse_duration (const char *interval_str)
 
crm_time_period_tcrm_time_parse_period (const char *period_str)
 
void crm_time_set (crm_time_t *target, crm_time_t *source)
 
void crm_time_set_timet (crm_time_t *target, time_t *source)
 
crm_time_tcrm_time_add (crm_time_t *dt, crm_time_t *value)
 
crm_time_tcrm_time_calculate_duration (crm_time_t *dt, crm_time_t *value)
 
crm_time_tcrm_time_subtract (crm_time_t *dt, crm_time_t *value)
 
bool crm_time_check (crm_time_t *dt)
 
int crm_time_compare (crm_time_t *a, crm_time_t *b)
 
void crm_time_add_seconds (crm_time_t *a_time, int extra)
 
void crm_time_add_days (crm_time_t *a_time, int extra)
 
void crm_time_add_months (crm_time_t *a_time, int extra)
 
void crm_time_add_minutes (crm_time_t *a_time, int extra)
 
void crm_time_add_hours (crm_time_t *a_time, int extra)
 
void crm_time_add_weeks (crm_time_t *a_time, int extra)
 
void crm_time_add_years (crm_time_t *a_time, int extra)
 
crm_time_hr_tcrm_time_hr_convert (crm_time_hr_t *target, crm_time_t *dt)
 
void crm_time_set_hr_dt (crm_time_t *target, crm_time_hr_t *hr_dt)
 
crm_time_hr_tcrm_time_timeval_hr_convert (crm_time_hr_t *target, struct timeval *tv)
 
crm_time_hr_tcrm_time_hr_new (const char *date_time)
 
void crm_time_hr_free (crm_time_hr_t *hr_dt)
 
char * crm_time_format_hr (const char *format, crm_time_hr_t *hr_dt)
 

Variables

int month_days [14] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 29 }
 

Macro Definition Documentation

#define DATE_MAX   128

Definition at line 405 of file iso8601.c.

#define do_cmp_field (   l,
  r,
  field 
)
Value:
if(rc == 0) { \
if(l->field > r->field) { \
crm_trace("%s: %d > %d", \
#field, l->field, r->field); \
rc = 1; \
} else if(l->field < r->field) { \
crm_trace("%s: %d < %d", \
#field, l->field, r->field); \
rc = -1; \
} \
}
#define crm_trace(fmt, args...)
Definition: logging.h:254

Definition at line 1136 of file iso8601.c.

#define EPOCH_SECONDS   62135596800ULL /* Calculated using crm_time_get_seconds() */

Definition at line 304 of file iso8601.c.

#define GMTOFF (   tm)    (-timezone+daylight)

Definition at line 57 of file iso8601.c.

Function Documentation

gboolean check_for_ordinal ( const char *  str)
crm_time_t* crm_time_add ( crm_time_t dt,
crm_time_t value 
)

Definition at line 1051 of file iso8601.c.

void crm_time_add_days ( crm_time_t a_time,
int  extra 
)

Definition at line 1198 of file iso8601.c.

void crm_time_add_hours ( crm_time_t a_time,
int  extra 
)

Definition at line 1271 of file iso8601.c.

void crm_time_add_minutes ( crm_time_t a_time,
int  extra 
)

Definition at line 1265 of file iso8601.c.

void crm_time_add_months ( crm_time_t a_time,
int  extra 
)

Definition at line 1223 of file iso8601.c.

void crm_time_add_seconds ( crm_time_t a_time,
int  extra 
)

Definition at line 1177 of file iso8601.c.

void crm_time_add_weeks ( crm_time_t a_time,
int  extra 
)

Definition at line 1277 of file iso8601.c.

void crm_time_add_years ( crm_time_t a_time,
int  extra 
)

Definition at line 1283 of file iso8601.c.

char* crm_time_as_string ( crm_time_t date_time,
int  flags 
)

Definition at line 408 of file iso8601.c.

crm_time_t* crm_time_calculate_duration ( crm_time_t dt,
crm_time_t value 
)

Definition at line 1073 of file iso8601.c.

bool crm_time_check ( crm_time_t dt)

Definition at line 1118 of file iso8601.c.

int crm_time_compare ( crm_time_t a,
crm_time_t b 
)

Definition at line 1150 of file iso8601.c.

int crm_time_days_in_month ( int  month,
int  year 
)

Definition at line 179 of file iso8601.c.

char* crm_time_format_hr ( const char *  format,
crm_time_hr_t hr_dt 
)

Definition at line 1383 of file iso8601.c.

void crm_time_free ( crm_time_t dt)

Definition at line 116 of file iso8601.c.

int crm_time_get_gregorian ( crm_time_t dt,
uint *  y,
uint *  m,
uint *  d 
)

Definition at line 312 of file iso8601.c.

int crm_time_get_isoweek ( crm_time_t dt,
uint *  y,
uint *  w,
uint *  d 
)

Definition at line 352 of file iso8601.c.

int crm_time_get_ordinal ( crm_time_t dt,
uint *  y,
uint *  d 
)

Definition at line 344 of file iso8601.c.

long long crm_time_get_seconds ( crm_time_t dt)

Definition at line 270 of file iso8601.c.

long long crm_time_get_seconds_since_epoch ( crm_time_t dt)

Definition at line 306 of file iso8601.c.

int crm_time_get_timeofday ( crm_time_t dt,
uint *  h,
uint *  m,
uint *  s 
)

Definition at line 256 of file iso8601.c.

int crm_time_get_timezone ( crm_time_t dt,
uint *  h,
uint *  m 
)

Definition at line 262 of file iso8601.c.

crm_time_hr_t* crm_time_hr_convert ( crm_time_hr_t target,
crm_time_t dt 
)

Definition at line 1307 of file iso8601.c.

void crm_time_hr_free ( crm_time_hr_t hr_dt)

Definition at line 1377 of file iso8601.c.

crm_time_hr_t* crm_time_hr_new ( const char *  date_time)

Definition at line 1357 of file iso8601.c.

int crm_time_january1_weekday ( int  year)

Definition at line 144 of file iso8601.c.

bool crm_time_leapyear ( int  year)

Definition at line 188 of file iso8601.c.

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 
)

Definition at line 213 of file iso8601.c.

crm_time_t* crm_time_new ( const char *  date_time)

Definition at line 99 of file iso8601.c.

crm_time_t* crm_time_parse_duration ( const char *  interval_str)

Definition at line 833 of file iso8601.c.

crm_time_period_t* crm_time_parse_period ( const char *  period_str)

Definition at line 905 of file iso8601.c.

void crm_time_set ( crm_time_t target,
crm_time_t source 
)

Definition at line 983 of file iso8601.c.

void crm_time_set_hr_dt ( crm_time_t target,
crm_time_hr_t hr_dt 
)

Definition at line 1329 of file iso8601.c.

void crm_time_set_timet ( crm_time_t target,
time_t *  source 
)

Definition at line 1045 of file iso8601.c.

crm_time_t* crm_time_subtract ( crm_time_t dt,
crm_time_t value 
)

Definition at line 1096 of file iso8601.c.

crm_time_hr_t* crm_time_timeval_hr_convert ( crm_time_hr_t target,
struct timeval *  tv 
)

Definition at line 1343 of file iso8601.c.

int crm_time_weeks_in_year ( int  year)

Definition at line 157 of file iso8601.c.

crm_time_t* parse_date ( const char *  date_str)

Definition at line 651 of file iso8601.c.

Variable Documentation

int month_days[14] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 29 }

Definition at line 176 of file iso8601.c.