gwenhywfar 5.14.1
gwentime.h File Reference
#include <gwenhywfar/gwenhywfarapi.h>
#include <gwenhywfar/types.h>
#include <gwenhywfar/db.h>
#include <time.h>
Include dependency graph for gwentime.h:

Go to the source code of this file.

Typedefs

typedef struct GWEN_TIME GWEN_TIME

Functions

GWENHYWFAR_API GWEN_TIMEGWEN_CurrentTime (void)
GWENHYWFAR_API int GWEN_Time_AddSeconds (GWEN_TIME *ti, uint32_t secs)
GWENHYWFAR_API int GWEN_Time_Compare (const GWEN_TIME *t1, const GWEN_TIME *t0)
GWENHYWFAR_API double GWEN_Time_Diff (const GWEN_TIME *t1, const GWEN_TIME *t0)
GWENHYWFAR_API double GWEN_Time_DiffSeconds (const GWEN_TIME *t1, const GWEN_TIME *t0)
GWENHYWFAR_API GWEN_TIMEGWEN_Time_dup (const GWEN_TIME *t)
GWENHYWFAR_API void GWEN_Time_free (GWEN_TIME *t)
GWENHYWFAR_API GWEN_TIMEGWEN_Time_fromDb (GWEN_DB_NODE *db)
GWENHYWFAR_API GWEN_TIMEGWEN_Time_fromSeconds (uint32_t s)
GWENHYWFAR_API GWEN_TIMEGWEN_Time_fromString (const char *s, const char *tmpl)
GWENHYWFAR_API GWEN_TIMEGWEN_Time_fromUtcString (const char *s, const char *tmpl)
GWENHYWFAR_API int GWEN_Time_GetBrokenDownDate (const GWEN_TIME *t, int *days, int *month, int *year)
GWENHYWFAR_API int GWEN_Time_GetBrokenDownTime (const GWEN_TIME *t, int *hours, int *mins, int *secs)
GWENHYWFAR_API int GWEN_Time_GetBrokenDownUtcDate (const GWEN_TIME *t, int *days, int *month, int *year)
GWENHYWFAR_API int GWEN_Time_GetBrokenDownUtcTime (const GWEN_TIME *t, int *hours, int *mins, int *secs)
GWENHYWFAR_API double GWEN_Time_Milliseconds (const GWEN_TIME *t)
GWENHYWFAR_API GWEN_TIMEGWEN_Time_new (int year, int month, int day, int hour, int min, int sec, int inUtc)
GWENHYWFAR_API uint32_t GWEN_Time_Seconds (const GWEN_TIME *t)
GWENHYWFAR_API int GWEN_Time_SubSeconds (GWEN_TIME *ti, uint32_t secs)
GWENHYWFAR_API int GWEN_Time_toDb (const GWEN_TIME *t, GWEN_DB_NODE *db)
GWENHYWFAR_API int GWEN_Time_toString (const GWEN_TIME *t, const char *tmpl, GWEN_BUFFER *buf)
GWENHYWFAR_API time_t GWEN_Time_toTime_t (const GWEN_TIME *t)
GWENHYWFAR_API int GWEN_Time_toUtcString (const GWEN_TIME *t, const char *tmpl, GWEN_BUFFER *buf)

Typedef Documentation

◆ GWEN_TIME

typedef struct GWEN_TIME GWEN_TIME

Definition at line 43 of file gwentime.h.

Function Documentation

◆ GWEN_CurrentTime()

GWENHYWFAR_API GWEN_TIME * GWEN_CurrentTime ( void )

Definition at line 62 of file gwentime_all.c.

References DBG_ERROR, GWEN_LOGDOMAIN, GWEN_NEW_OBJECT, GWEN_Time__GetCurrentTime(), and GWEN_Time_free().

Referenced by _prepareBaseLogPath(), GWEN_CryptMgr_Sign(), and GWEN_DlgProgress_AddLogText().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Time_AddSeconds()

GWENHYWFAR_API int GWEN_Time_AddSeconds ( GWEN_TIME * ti,
uint32_t secs )

Adds the given number of seconds to the given GWEN_TIME.

Returns
0 if ok, !=0 on error (see Simplified Error Codes)

Definition at line 88 of file gwentime_all.c.

References DBG_INFO, GWEN_ERROR_INVALID, and GWEN_LOGDOMAIN.

◆ GWEN_Time_Compare()

GWENHYWFAR_API int GWEN_Time_Compare ( const GWEN_TIME * t1,
const GWEN_TIME * t0 )

Definition at line 501 of file gwentime_all.c.

◆ GWEN_Time_Diff()

GWENHYWFAR_API double GWEN_Time_Diff ( const GWEN_TIME * t1,
const GWEN_TIME * t0 )

Returns the difference between t1 and t2 in milliseconds

Definition at line 471 of file gwentime_all.c.

◆ GWEN_Time_DiffSeconds()

GWENHYWFAR_API double GWEN_Time_DiffSeconds ( const GWEN_TIME * t1,
const GWEN_TIME * t0 )

Returns the difference between t1 and t2 in seconds

Definition at line 486 of file gwentime_all.c.

◆ GWEN_Time_dup()

GWENHYWFAR_API GWEN_TIME * GWEN_Time_dup ( const GWEN_TIME * t)

◆ GWEN_Time_free()

◆ GWEN_Time_fromDb()

GWENHYWFAR_API GWEN_TIME * GWEN_Time_fromDb ( GWEN_DB_NODE * db)

Definition at line 174 of file gwentime_all.c.

References DBG_INFO, DBG_VERBOUS, GWEN_DB_GetGroup(), GWEN_DB_GetIntValue(), GWEN_LOGDOMAIN, GWEN_PATH_FLAGS_NAMEMUSTEXIST, and GWEN_Time_new().

Referenced by GWEN_SslCertDescr_ReadDb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Time_fromSeconds()

GWENHYWFAR_API GWEN_TIME * GWEN_Time_fromSeconds ( uint32_t s)

Creates a GWEN_TIME object from the return value of GWEN_Time_Seconds.

Definition at line 77 of file gwentime_all.c.

References GWEN_NEW_OBJECT.

Referenced by GWEN_Sar_AddFile(), GWEN_SyncIo_Tls_GetPeerCert(), and GWEN_Time_new().

Here is the caller graph for this function:

◆ GWEN_Time_fromString()

GWENHYWFAR_API GWEN_TIME * GWEN_Time_fromString ( const char * s,
const char * tmpl )

Parses the data and time from the given string according to the template string (quite similar to sscanf).

The string is expected to contain the date/time in local time.

The following characters are accepted in the template string:

CharacterMeaning
Ydigit of the year
Mdigit of the month
Ddigit of the day of month
hdigit of the hour
mdigit of the minute
sdigit of the second

All other characters are ignored.
Some examples of valid patterns follow:

  • "YYYYMMDD"
  • "YYMMDD"
  • "YY/MM/DD"
  • "YYYYMMDD hh:mm:ss"
  • "YYYYMMDD hh:mm"
  • "YYYYMMDD hhmmss"
  • et cetera
Returns
0 on error, a GWEN_TIME pointer otherwise
Parameters
sstring containing the date/time
tmpltemplate string

Definition at line 345 of file gwentime_all.c.

References GWEN_Time__fromString().

Referenced by _convertAndSetCharValue().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Time_fromUtcString()

GWENHYWFAR_API GWEN_TIME * GWEN_Time_fromUtcString ( const char * s,
const char * tmpl )

Definition at line 352 of file gwentime_all.c.

References GWEN_Time__fromString().

Referenced by GWEN_Sar_TlvToFileHeader(), and GWEN_SigHead_fromBuffer().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Time_GetBrokenDownDate()

GWENHYWFAR_API int GWEN_Time_GetBrokenDownDate ( const GWEN_TIME * t,
int * days,
int * month,
int * year )

Returns the broken down date as local date.

Definition at line 589 of file gwentime_all.c.

References DBG_ERROR, and GWEN_LOGDOMAIN.

Referenced by GWEN_Time__fillTmplChars().

Here is the caller graph for this function:

◆ GWEN_Time_GetBrokenDownTime()

GWENHYWFAR_API int GWEN_Time_GetBrokenDownTime ( const GWEN_TIME * t,
int * hours,
int * mins,
int * secs )

Returns the broken down time as local time.

Definition at line 543 of file gwentime_all.c.

References DBG_ERROR, and GWEN_LOGDOMAIN.

Referenced by GWEN_Time__fillTmplChars().

Here is the caller graph for this function:

◆ GWEN_Time_GetBrokenDownUtcDate()

GWENHYWFAR_API int GWEN_Time_GetBrokenDownUtcDate ( const GWEN_TIME * t,
int * days,
int * month,
int * year )

Returns the broken down time as UTC date (Greenwhich Mean time).

Definition at line 612 of file gwentime_all.c.

References DBG_ERROR, and GWEN_LOGDOMAIN.

Referenced by GWEN_Time__fillTmplChars(), and GWEN_Time_toDb().

Here is the caller graph for this function:

◆ GWEN_Time_GetBrokenDownUtcTime()

GWENHYWFAR_API int GWEN_Time_GetBrokenDownUtcTime ( const GWEN_TIME * t,
int * hours,
int * mins,
int * secs )

Returns the broken down time as UTC time (Greenwhich Mean time).

Definition at line 566 of file gwentime_all.c.

References DBG_ERROR, and GWEN_LOGDOMAIN.

Referenced by GWEN_Time__fillTmplChars(), and GWEN_Time_toDb().

Here is the caller graph for this function:

◆ GWEN_Time_Milliseconds()

GWENHYWFAR_API double GWEN_Time_Milliseconds ( const GWEN_TIME * t)

returns the time in milliseconds

Definition at line 527 of file gwentime_all.c.

◆ GWEN_Time_new()

GWENHYWFAR_API GWEN_TIME * GWEN_Time_new ( int year,
int month,
int day,
int hour,
int min,
int sec,
int inUtc )

Create a time using year, month, day, hour, min, sec.

Parameters
yearyear (e.g. 2009)
monthmonth (0-11)
dayday of month (1-31)
minminute (0-59)
secsecond (0-59)
inUtctime is given in UTC if !=0

Definition at line 359 of file gwentime_all.c.

References GWEN_Time__mktimeUtc(), and GWEN_Time_fromSeconds().

Referenced by GWEN_Time__fromString(), and GWEN_Time_fromDb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Time_Seconds()

GWENHYWFAR_API uint32_t GWEN_Time_Seconds ( const GWEN_TIME * t)

Returns the time in seconds since the epoch (00:00:00 UTC Jan 1, 1970).

Definition at line 535 of file gwentime_all.c.

◆ GWEN_Time_SubSeconds()

GWENHYWFAR_API int GWEN_Time_SubSeconds ( GWEN_TIME * ti,
uint32_t secs )

Subs the given number of seconds from the given GWEN_TIME.

Returns
0 if ok, !=0 on error (see Simplified Error Codes)

Definition at line 106 of file gwentime_all.c.

References DBG_INFO, GWEN_ERROR_INVALID, and GWEN_LOGDOMAIN.

◆ GWEN_Time_toDb()

GWENHYWFAR_API int GWEN_Time_toDb ( const GWEN_TIME * t,
GWEN_DB_NODE * db )

Definition at line 133 of file gwentime_all.c.

References DBG_INFO, GWEN_DB_FLAGS_DEFAULT, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_DB_GetGroup(), GWEN_DB_SetIntValue(), GWEN_LOGDOMAIN, GWEN_Time_GetBrokenDownUtcDate(), and GWEN_Time_GetBrokenDownUtcTime().

Referenced by GWEN_SslCertDescr_toDb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Time_toString()

GWENHYWFAR_API int GWEN_Time_toString ( const GWEN_TIME * t,
const char * tmpl,
GWEN_BUFFER * buf )

Definition at line 830 of file gwentime_all.c.

References GWEN_Time__toString().

Referenced by _convertAndSetCharValue(), _prepareBaseLogPath(), GWEN_Date_fromTime(), GWEN_DlgProgress_AddLogText(), and GWEN_Gui_CheckCertBuiltIn().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Time_toTime_t()

GWENHYWFAR_API time_t GWEN_Time_toTime_t ( const GWEN_TIME * t)

Returns this date as a time_t value (see time(2)).

Definition at line 650 of file gwentime_all.c.

◆ GWEN_Time_toUtcString()

GWENHYWFAR_API int GWEN_Time_toUtcString ( const GWEN_TIME * t,
const char * tmpl,
GWEN_BUFFER * buf )

Definition at line 838 of file gwentime_all.c.

References GWEN_Time__toString().

Referenced by GWEN_Sar_FileHeaderToTlv(), and GWEN_SigHead_toBuffer().

Here is the call graph for this function:
Here is the caller graph for this function: