|
gwenhywfar
5.10.1
|
#include "gwentime_p.h"#include <gwenhywfar/gwentime.h>#include <gwenhywfar/debug.h>#include <time.h>#include <ctype.h>#include <errno.h>#include <string.h>
Go to the source code of this file.
Macros | |
| #define | DISABLE_DEBUGLOG |
Functions | |
| GWEN_TIME * | GWEN_CurrentTime (void) |
| void | GWEN_Time__fillTmplChars (const GWEN_TIME *t, GWEN_TIME_TMPLCHAR_LIST *ll, int useUtc) |
| GWEN_TIME_TMPLCHAR * | GWEN_Time__findTmplChar (GWEN_TIME_TMPLCHAR_LIST *ll, char c) |
| static GWEN_TIME * | GWEN_Time__fromString (const char *s, const char *tmpl, int inUtc) |
| uint32_t | GWEN_Time__mktimeUtc (int year, int month, int day, int hour, int min, int sec) |
| void | GWEN_Time__sampleTmplChars (GWEN_UNUSED const GWEN_TIME *t, const char *tmpl, GWEN_UNUSED GWEN_BUFFER *buf, GWEN_TIME_TMPLCHAR_LIST *ll) |
| void | GWEN_Time__SetSecsAndMSecs (GWEN_TIME *ti, uint32_t secs, uint32_t msecs) |
| int | GWEN_Time__toString (const GWEN_TIME *t, const char *tmpl, GWEN_BUFFER *buf, int useUtc) |
| int | GWEN_Time_AddSeconds (GWEN_TIME *ti, uint32_t secs) |
| int | GWEN_Time_Compare (const GWEN_TIME *t1, const GWEN_TIME *t0) |
| double | GWEN_Time_Diff (const GWEN_TIME *t1, const GWEN_TIME *t0) |
| double | GWEN_Time_DiffSeconds (const GWEN_TIME *t1, const GWEN_TIME *t0) |
| GWEN_TIME * | GWEN_Time_dup (const GWEN_TIME *t) |
| void | GWEN_Time_free (GWEN_TIME *t) |
| GWEN_TIME * | GWEN_Time_fromDb (GWEN_DB_NODE *db) |
| GWEN_TIME * | GWEN_Time_fromSeconds (uint32_t secs) |
| GWEN_TIME * | GWEN_Time_fromString (const char *s, const char *tmpl) |
| GWEN_TIME * | GWEN_Time_fromUtcString (const char *s, const char *tmpl) |
| int | GWEN_Time_GetBrokenDownDate (const GWEN_TIME *t, int *days, int *month, int *year) |
| int | GWEN_Time_GetBrokenDownTime (const GWEN_TIME *t, int *hours, int *mins, int *secs) |
| int | GWEN_Time_GetBrokenDownUtcDate (const GWEN_TIME *t, int *days, int *month, int *year) |
| int | GWEN_Time_GetBrokenDownUtcTime (const GWEN_TIME *t, int *hours, int *mins, int *secs) |
| double | GWEN_Time_Milliseconds (const GWEN_TIME *t) |
| GWEN_TIME * | GWEN_Time_new (int year, int month, int day, int hour, int min, int sec, int inUtc) |
| uint32_t | GWEN_Time_Seconds (const GWEN_TIME *t) |
| int | GWEN_Time_SubSeconds (GWEN_TIME *ti, uint32_t secs) |
| int | GWEN_Time_toDb (const GWEN_TIME *t, GWEN_DB_NODE *db) |
| int | GWEN_Time_toString (const GWEN_TIME *t, const char *tmpl, GWEN_BUFFER *buf) |
| time_t | GWEN_Time_toTime_t (const GWEN_TIME *t) |
| int | GWEN_Time_toUtcString (const GWEN_TIME *t, const char *tmpl, GWEN_BUFFER *buf) |
| void | GWEN_TimeTmplChar_free (GWEN_TIME_TMPLCHAR *e) |
| GWEN_TIME_TMPLCHAR * | GWEN_TimeTmplChar_new (char c) |
| #define DISABLE_DEBUGLOG |
Definition at line 30 of file gwentime_all.c.
| 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 GWEN_CryptMgr_Sign(), and GWEN_DlgProgress_AddLogText().


| void GWEN_Time__fillTmplChars | ( | const GWEN_TIME * | t, |
| GWEN_TIME_TMPLCHAR_LIST * | ll, | ||
| int | useUtc | ||
| ) |
Definition at line 729 of file gwentime_all.c.
References DBG_ERROR, GWEN_LOGDOMAIN, GWEN_Time_GetBrokenDownDate(), GWEN_Time_GetBrokenDownTime(), GWEN_Time_GetBrokenDownUtcDate(), and GWEN_Time_GetBrokenDownUtcTime().
Referenced by GWEN_Time__toString().


| GWEN_TIME_TMPLCHAR* GWEN_Time__findTmplChar | ( | GWEN_TIME_TMPLCHAR_LIST * | ll, |
| char | c | ||
| ) |
Definition at line 681 of file gwentime_all.c.
Referenced by GWEN_Time__sampleTmplChars(), and GWEN_Time__toString().

|
static |
Definition at line 218 of file gwentime_all.c.
References DBG_DEBUG, DBG_ERROR, DBG_INFO, DBG_VERBOUS, GWEN_LOGDOMAIN, GWEN_Time_new(), and NULL.
Referenced by GWEN_Time_fromString(), and GWEN_Time_fromUtcString().


| uint32_t GWEN_Time__mktimeUtc | ( | int | year, |
| int | month, | ||
| int | day, | ||
| int | hour, | ||
| int | min, | ||
| int | sec | ||
| ) |
Definition at line 402 of file gwentime_all.c.
Referenced by GWEN_Time_new().

| void GWEN_Time__sampleTmplChars | ( | GWEN_UNUSED const GWEN_TIME * | t, |
| const char * | tmpl, | ||
| GWEN_UNUSED GWEN_BUFFER * | buf, | ||
| GWEN_TIME_TMPLCHAR_LIST * | ll | ||
| ) |
Definition at line 699 of file gwentime_all.c.
References DBG_DEBUG, GWEN_LOGDOMAIN, GWEN_Time__findTmplChar(), and GWEN_TimeTmplChar_new().
Referenced by GWEN_Time__toString().


| void GWEN_Time__SetSecsAndMSecs | ( | GWEN_TIME * | ti, |
| uint32_t | secs, | ||
| uint32_t | msecs | ||
| ) |
This function is called by OS dependant implementations of GWEN_Time__GetCurrentTime.
Definition at line 122 of file gwentime_all.c.
| int GWEN_Time__toString | ( | const GWEN_TIME * | t, |
| const char * | tmpl, | ||
| GWEN_BUFFER * | buf, | ||
| int | useUtc | ||
| ) |
Definition at line 789 of file gwentime_all.c.
References GWEN_Buffer_AppendByte(), GWEN_Buffer_AppendString(), GWEN_Time__fillTmplChars(), GWEN_Time__findTmplChar(), and GWEN_Time__sampleTmplChars().
Referenced by GWEN_Time_toString(), and GWEN_Time_toUtcString().


| int GWEN_Time_AddSeconds | ( | GWEN_TIME * | ti, |
| uint32_t | secs | ||
| ) |
Adds the given number of seconds to the given GWEN_TIME.
Definition at line 88 of file gwentime_all.c.
References DBG_INFO, GWEN_ERROR_INVALID, and GWEN_LOGDOMAIN.
Definition at line 501 of file gwentime_all.c.
Returns the difference between t1 and t2 in milliseconds
Definition at line 471 of file gwentime_all.c.
Returns the difference between t1 and t2 in seconds
Definition at line 486 of file gwentime_all.c.
Definition at line 449 of file gwentime_all.c.
References GWEN_NEW_OBJECT.
Referenced by GWEN_SarFileHeader_copy(), GWEN_SarFileHeader_dup(), GWEN_SigHead_SetDateTime(), GWEN_SslCertDescr_dup(), GWEN_SslCertDescr_SetNotAfter(), and GWEN_SslCertDescr_SetNotBefore().

| void GWEN_Time_free | ( | GWEN_TIME * | t | ) |
Definition at line 462 of file gwentime_all.c.
References GWEN_FREE_OBJECT.
Referenced by _convertAndSetCharValue(), GWEN_CryptMgr_Sign(), GWEN_CurrentTime(), GWEN_DlgProgress_AddLogText(), GWEN_SarFileHeader_copy(), GWEN_SarFileHeader_dup(), GWEN_SarFileHeader_free(), GWEN_SarFileHeader_SetAtime(), GWEN_SarFileHeader_SetCtime(), GWEN_SarFileHeader_SetMtime(), GWEN_SigHead_free(), GWEN_SigHead_SetDateTime(), GWEN_SslCertDescr_free(), GWEN_SslCertDescr_ReadDb(), GWEN_SslCertDescr_SetNotAfter(), GWEN_SslCertDescr_SetNotBefore(), and GWEN_SyncIo_Tls_GetPeerCert().

| 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().


| 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().

| 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:
| Character | Meaning |
| Y | digit of the year |
| M | digit of the month |
| D | digit of the day of month |
| h | digit of the hour |
| m | digit of the minute |
| s | digit of the second |
All other characters are ignored.
Some examples of valid patterns follow:
| s | string containing the date/time |
| tmpl | template string |
Definition at line 345 of file gwentime_all.c.
References GWEN_Time__fromString().
Referenced by _convertAndSetCharValue().


| 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().


| 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().

| 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().

| 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().

| 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().

| double GWEN_Time_Milliseconds | ( | const GWEN_TIME * | t | ) |
returns the time in milliseconds
Definition at line 527 of file gwentime_all.c.
| 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.
| year | year (e.g. 2009) |
| month | month (0-11) |
| day | day of month (1-31) |
| min | minute (0-59) |
| sec | second (0-59) |
| inUtc | time 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().


| 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.
| int GWEN_Time_SubSeconds | ( | GWEN_TIME * | ti, |
| uint32_t | secs | ||
| ) |
Subs the given number of seconds from the given GWEN_TIME.
Definition at line 106 of file gwentime_all.c.
References DBG_INFO, GWEN_ERROR_INVALID, and GWEN_LOGDOMAIN.
| 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().


| 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(), GWEN_Date_fromTime(), GWEN_DlgProgress_AddLogText(), and GWEN_Gui_CheckCertBuiltIn().


| 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.
| 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().


| void GWEN_TimeTmplChar_free | ( | GWEN_TIME_TMPLCHAR * | e | ) |
Definition at line 671 of file gwentime_all.c.
References GWEN_FREE_OBJECT, and GWEN_LIST_FINI.
| GWEN_TIME_TMPLCHAR* GWEN_TimeTmplChar_new | ( | char | c | ) |
Definition at line 659 of file gwentime_all.c.
References GWEN_LIST_INIT, and GWEN_NEW_OBJECT.
Referenced by GWEN_Time__sampleTmplChars().

1.8.14