php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
timelib_private.h File Reference
#include <string.h>
#include <stdio.h>
#include <limits.h>

Go to the source code of this file.

Data Structures

struct  _ttinfo
 
struct  _tlinfo
 

Macros

#define TIMELIB_SECOND   1
 
#define TIMELIB_MINUTE   2
 
#define TIMELIB_HOUR   3
 
#define TIMELIB_DAY   4
 
#define TIMELIB_MONTH   5
 
#define TIMELIB_YEAR   6
 
#define TIMELIB_WEEKDAY   7
 
#define TIMELIB_SPECIAL   8
 
#define TIMELIB_MICROSEC   9
 
#define TIMELIB_SPECIAL_WEEKDAY   0x01
 
#define TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH   0x02
 
#define TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH   0x03
 
#define TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH   0x01
 
#define TIMELIB_SPECIAL_LAST_DAY_OF_MONTH   0x02
 
#define TIMELIB_TIME_PART_DONT_KEEP   0x00
 
#define TIMELIB_TIME_PART_KEEP   0x01
 
#define MINS_PER_HOUR   60
 
#define SECS_PER_ERA   TIMELIB_LL_CONST(12622780800)
 
#define SECS_PER_DAY   86400
 
#define SECS_PER_HOUR   3600
 
#define USECS_PER_HOUR   TIMELIB_LL_CONST(3600000000)
 
#define DAYS_PER_WEEK   7
 
#define DAYS_PER_YEAR   365
 
#define DAYS_PER_LYEAR   366
 
#define MONTHS_PER_YEAR   12
 
#define DAYS_PER_ERA   146097
 
#define YEARS_PER_ERA   400
 
#define HINNANT_EPOCH_SHIFT   719468 /* 0000-03-01 instead of 1970-01-01 */
 
#define TIMELIB_TZINFO_PHP   0x01
 
#define TIMELIB_TZINFO_ZONEINFO   0x02
 
#define timelib_is_leap(y)
 
#define TIMELIB_DEBUG(s)
 
#define TIMELIB_TIME_FREE(m)
 
#define TIMELIB_GNUC_CHECK_VERSION(major, minor)
 
#define TIMELIB_BREAK_INTENTIONALLY_MISSING
 
#define TIMELIB_HAVE_BUILTIN_SADDLL_OVERFLOW   0
 
#define LONG_MAX   2147483647L
 
#define LONG_MIN   (- LONG_MAX - 1)
 

Functions

int timelib_apply_localtime (timelib_time *t, unsigned int localtime)
 
timelib_sll timelib_ts_at_start_of_year (timelib_sll year)
 
ttinfotimelib_fetch_posix_timezone_offset (timelib_tzinfo *tz, timelib_sll ts, timelib_sll *transition_time)
 
void timelib_time_tz_abbr_update (timelib_time *tm, const char *tz_abbr)
 
ttinfotimelib_fetch_timezone_offset (timelib_tzinfo *tz, timelib_sll ts, timelib_sll *transition_time)
 
int timelib_strcasecmp (const char *s1, const char *s2)
 
int timelib_strncasecmp (const char *s1, const char *s2, size_t n)
 

Macro Definition Documentation

◆ DAYS_PER_ERA

#define DAYS_PER_ERA   146097

Definition at line 98 of file timelib_private.h.

◆ DAYS_PER_LYEAR

#define DAYS_PER_LYEAR   366

Definition at line 95 of file timelib_private.h.

◆ DAYS_PER_WEEK

#define DAYS_PER_WEEK   7

Definition at line 93 of file timelib_private.h.

◆ DAYS_PER_YEAR

#define DAYS_PER_YEAR   365

Definition at line 94 of file timelib_private.h.

◆ HINNANT_EPOCH_SHIFT

#define HINNANT_EPOCH_SHIFT   719468 /* 0000-03-01 instead of 1970-01-01 */

Definition at line 100 of file timelib_private.h.

◆ LONG_MAX

#define LONG_MAX   2147483647L

Definition at line 156 of file timelib_private.h.

◆ LONG_MIN

#define LONG_MIN   (- LONG_MAX - 1)

Definition at line 160 of file timelib_private.h.

◆ MINS_PER_HOUR

#define MINS_PER_HOUR   60

Definition at line 87 of file timelib_private.h.

◆ MONTHS_PER_YEAR

#define MONTHS_PER_YEAR   12

Definition at line 96 of file timelib_private.h.

◆ SECS_PER_DAY

#define SECS_PER_DAY   86400

Definition at line 89 of file timelib_private.h.

◆ SECS_PER_ERA

#define SECS_PER_ERA   TIMELIB_LL_CONST(12622780800)

Definition at line 88 of file timelib_private.h.

◆ SECS_PER_HOUR

#define SECS_PER_HOUR   3600

Definition at line 90 of file timelib_private.h.

◆ TIMELIB_BREAK_INTENTIONALLY_MISSING

#define TIMELIB_BREAK_INTENTIONALLY_MISSING

Definition at line 126 of file timelib_private.h.

◆ TIMELIB_DAY

#define TIMELIB_DAY   4

Definition at line 70 of file timelib_private.h.

◆ TIMELIB_DEBUG

#define TIMELIB_DEBUG ( s)
Value:
if (0) { s }
char s[4]
Definition cdf.c:77

Definition at line 107 of file timelib_private.h.

◆ TIMELIB_GNUC_CHECK_VERSION

#define TIMELIB_GNUC_CHECK_VERSION ( major,
minor )
Value:
0

Definition at line 120 of file timelib_private.h.

◆ TIMELIB_HAVE_BUILTIN_SADDLL_OVERFLOW

#define TIMELIB_HAVE_BUILTIN_SADDLL_OVERFLOW   0

Definition at line 136 of file timelib_private.h.

◆ TIMELIB_HOUR

#define TIMELIB_HOUR   3

Definition at line 69 of file timelib_private.h.

◆ timelib_is_leap

#define timelib_is_leap ( y)
Value:
((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))

Definition at line 105 of file timelib_private.h.

◆ TIMELIB_MICROSEC

#define TIMELIB_MICROSEC   9

Definition at line 75 of file timelib_private.h.

◆ TIMELIB_MINUTE

#define TIMELIB_MINUTE   2

Definition at line 68 of file timelib_private.h.

◆ TIMELIB_MONTH

#define TIMELIB_MONTH   5

Definition at line 71 of file timelib_private.h.

◆ TIMELIB_SECOND

#define TIMELIB_SECOND   1

Definition at line 67 of file timelib_private.h.

◆ TIMELIB_SPECIAL

#define TIMELIB_SPECIAL   8

Definition at line 74 of file timelib_private.h.

◆ TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH

#define TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH   0x02

Definition at line 78 of file timelib_private.h.

◆ TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH

#define TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH   0x01

Definition at line 81 of file timelib_private.h.

◆ TIMELIB_SPECIAL_LAST_DAY_OF_MONTH

#define TIMELIB_SPECIAL_LAST_DAY_OF_MONTH   0x02

Definition at line 82 of file timelib_private.h.

◆ TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH

#define TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH   0x03

Definition at line 79 of file timelib_private.h.

◆ TIMELIB_SPECIAL_WEEKDAY

#define TIMELIB_SPECIAL_WEEKDAY   0x01

Definition at line 77 of file timelib_private.h.

◆ TIMELIB_TIME_FREE

#define TIMELIB_TIME_FREE ( m)
Value:
if (m) { \
timelib_free(m); \
m = NULL; \
}
#define NULL
Definition gdcache.h:45

Definition at line 109 of file timelib_private.h.

◆ TIMELIB_TIME_PART_DONT_KEEP

#define TIMELIB_TIME_PART_DONT_KEEP   0x00

Definition at line 84 of file timelib_private.h.

◆ TIMELIB_TIME_PART_KEEP

#define TIMELIB_TIME_PART_KEEP   0x01

Definition at line 85 of file timelib_private.h.

◆ TIMELIB_TZINFO_PHP

#define TIMELIB_TZINFO_PHP   0x01

Definition at line 102 of file timelib_private.h.

◆ TIMELIB_TZINFO_ZONEINFO

#define TIMELIB_TZINFO_ZONEINFO   0x02

Definition at line 103 of file timelib_private.h.

◆ TIMELIB_WEEKDAY

#define TIMELIB_WEEKDAY   7

Definition at line 73 of file timelib_private.h.

◆ TIMELIB_YEAR

#define TIMELIB_YEAR   6

Definition at line 72 of file timelib_private.h.

◆ USECS_PER_HOUR

#define USECS_PER_HOUR   TIMELIB_LL_CONST(3600000000)

Definition at line 91 of file timelib_private.h.

◆ YEARS_PER_ERA

#define YEARS_PER_ERA   400

Definition at line 99 of file timelib_private.h.

Function Documentation

◆ timelib_apply_localtime()

int timelib_apply_localtime ( timelib_time * t,
unsigned int localtime )

Definition at line 218 of file unixtime2tm.c.

◆ timelib_fetch_posix_timezone_offset()

ttinfo * timelib_fetch_posix_timezone_offset ( timelib_tzinfo * tz,
timelib_sll ts,
timelib_sll * transition_time )

Definition at line 531 of file parse_posix.c.

◆ timelib_fetch_timezone_offset()

ttinfo * timelib_fetch_timezone_offset ( timelib_tzinfo * tz,
timelib_sll ts,
timelib_sll * transition_time )

Algorithm From RFC 8536, Section 3.2 https://tools.ietf.org/html/rfc8536#section-3.2

Definition at line 790 of file parse_tz.c.

◆ timelib_strcasecmp()

int timelib_strcasecmp ( const char * s1,
const char * s2 )

Definition at line 257 of file timelib.c.

◆ timelib_strncasecmp()

int timelib_strncasecmp ( const char * s1,
const char * s2,
size_t n )

Definition at line 280 of file timelib.c.

◆ timelib_time_tz_abbr_update()

void timelib_time_tz_abbr_update ( timelib_time * tm,
const char * tz_abbr )

Definition at line 121 of file timelib.c.

◆ timelib_ts_at_start_of_year()

timelib_sll timelib_ts_at_start_of_year ( timelib_sll year)

Definition at line 488 of file parse_posix.c.