syslog-ng source
wallclocktime.c File Reference
#include "timeutils/wallclocktime.h"
#include "timeutils/unixtime.h"
#include "timeutils/cache.h"
#include "timeutils/misc.h"
#include <ctype.h>
#include <stdint.h>
#include <string.h>
#include <stdio.h>
Include dependency graph for wallclocktime.c:

Classes

struct  _TimeLocale
 

Macros

#define __UNCONST(a)   ((void *)(unsigned long)(const void *)(a))
 
#define TM_YEAR_BASE   1900
 
#define TM_SUNDAY   0
 
#define TM_MONDAY   1
 
#define TM_TUESDAY   2
 
#define TM_WEDNESDAY   3
 
#define TM_THURSDAY   4
 
#define TM_FRIDAY   5
 
#define TM_SATURDAY   6
 
#define TM_JANUARY   0
 
#define TM_FEBRUARY   1
 
#define TM_MARCH   2
 
#define TM_APRIL   3
 
#define TM_MAY   4
 
#define TM_JUNE   5
 
#define TM_JULY   6
 
#define TM_AUGUST   7
 
#define TM_SEPTEMBER   8
 
#define TM_OCTOBER   9
 
#define TM_NOVEMBER   10
 
#define TM_DECEMBER   11
 
#define isleap(y)   ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)
 
#define isleap_sum(a, b)   isleap((a) % 400 + (b) % 400)
 
#define _TIME_LOCALE(loc)    (&_DefaultTimeLocale)
 
#define ALT_E   0x01
 
#define ALT_O   0x02
 
#define LEGAL_ALT(x)   { if (alt_format & ~(x)) return NULL; }
 
#define S_YEAR   (1 << 0)
 
#define S_MON   (1 << 1)
 
#define S_YDAY   (1 << 2)
 
#define S_MDAY   (1 << 3)
 
#define S_WDAY   (1 << 4)
 
#define S_HOUR   (1 << 5)
 
#define S_USEC   (1 << 6)
 
#define HAVE_MDAY(s)   (s & S_MDAY)
 
#define HAVE_MON(s)   (s & S_MON)
 
#define HAVE_WDAY(s)   (s & S_WDAY)
 
#define HAVE_YDAY(s)   (s & S_YDAY)
 
#define HAVE_YEAR(s)   (s & S_YEAR)
 
#define HAVE_HOUR(s)   (s & S_HOUR)
 
#define HAVE_USEC(s)   (s & S_USEC)
 
#define TIME_MAX   INT64_MAX
 

Functions

void wall_clock_time_unset (WallClockTime *self)
 
guint32 wall_clock_time_iso_week_number (WallClockTime *wct)
 
gchar * wall_clock_time_strptime (WallClockTime *wct, const gchar *format, const gchar *input)
 
void wall_clock_time_guess_missing_year (WallClockTime *self)
 
void wall_clock_time_guess_missing_fields (WallClockTime *self)
 
void dump_wall_clock_time (const WallClockTime *wct, GString *output)
 
size_t wall_clock_time_strftime (WallClockTime *wct, char *s, size_t n, const char *f)
 

Macro Definition Documentation

◆ __UNCONST

#define __UNCONST (   a)    ((void *)(unsigned long)(const void *)(a))

◆ _TIME_LOCALE

#define _TIME_LOCALE (   loc)     (&_DefaultTimeLocale)

◆ ALT_E

#define ALT_E   0x01

◆ ALT_O

#define ALT_O   0x02

◆ HAVE_HOUR

#define HAVE_HOUR (   s)    (s & S_HOUR)

◆ HAVE_MDAY

#define HAVE_MDAY (   s)    (s & S_MDAY)

◆ HAVE_MON

#define HAVE_MON (   s)    (s & S_MON)

◆ HAVE_USEC

#define HAVE_USEC (   s)    (s & S_USEC)

◆ HAVE_WDAY

#define HAVE_WDAY (   s)    (s & S_WDAY)

◆ HAVE_YDAY

#define HAVE_YDAY (   s)    (s & S_YDAY)

◆ HAVE_YEAR

#define HAVE_YEAR (   s)    (s & S_YEAR)

◆ isleap

#define isleap (   y)    ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)

◆ isleap_sum

#define isleap_sum (   a,
 
)    isleap((a) % 400 + (b) % 400)

◆ LEGAL_ALT

#define LEGAL_ALT (   x)    { if (alt_format & ~(x)) return NULL; }

◆ S_HOUR

#define S_HOUR   (1 << 5)

◆ S_MDAY

#define S_MDAY   (1 << 3)

◆ S_MON

#define S_MON   (1 << 1)

◆ S_USEC

#define S_USEC   (1 << 6)

◆ S_WDAY

#define S_WDAY   (1 << 4)

◆ S_YDAY

#define S_YDAY   (1 << 2)

◆ S_YEAR

#define S_YEAR   (1 << 0)

◆ TIME_MAX

#define TIME_MAX   INT64_MAX

◆ TM_APRIL

#define TM_APRIL   3

◆ TM_AUGUST

#define TM_AUGUST   7

◆ TM_DECEMBER

#define TM_DECEMBER   11

◆ TM_FEBRUARY

#define TM_FEBRUARY   1

◆ TM_FRIDAY

#define TM_FRIDAY   5

◆ TM_JANUARY

#define TM_JANUARY   0

◆ TM_JULY

#define TM_JULY   6

◆ TM_JUNE

#define TM_JUNE   5

◆ TM_MARCH

#define TM_MARCH   2

◆ TM_MAY

#define TM_MAY   4

◆ TM_MONDAY

#define TM_MONDAY   1

◆ TM_NOVEMBER

#define TM_NOVEMBER   10

◆ TM_OCTOBER

#define TM_OCTOBER   9

◆ TM_SATURDAY

#define TM_SATURDAY   6

◆ TM_SEPTEMBER

#define TM_SEPTEMBER   8

◆ TM_SUNDAY

#define TM_SUNDAY   0

◆ TM_THURSDAY

#define TM_THURSDAY   4

◆ TM_TUESDAY

#define TM_TUESDAY   2

◆ TM_WEDNESDAY

#define TM_WEDNESDAY   3

◆ TM_YEAR_BASE

#define TM_YEAR_BASE   1900

Function Documentation

◆ dump_wall_clock_time()

void dump_wall_clock_time ( const WallClockTime *  wct,
GString *  output 
)

◆ wall_clock_time_guess_missing_fields()

void wall_clock_time_guess_missing_fields ( WallClockTime *  self)

◆ wall_clock_time_guess_missing_year()

void wall_clock_time_guess_missing_year ( WallClockTime *  self)

◆ wall_clock_time_iso_week_number()

guint32 wall_clock_time_iso_week_number ( WallClockTime *  wct)

◆ wall_clock_time_strftime()

size_t wall_clock_time_strftime ( WallClockTime *  wct,
char *  s,
size_t  n,
const char *  f 
)

◆ wall_clock_time_strptime()

gchar* wall_clock_time_strptime ( WallClockTime *  wct,
const gchar *  format,
const gchar *  input 
)

◆ wall_clock_time_unset()

void wall_clock_time_unset ( WallClockTime *  self)