ReactOS 0.4.16-dev-1067-ge98bba2
timeset.cpp File Reference
Include dependency graph for timeset.cpp:

Go to the source code of this file.

Macros

#define _PST_STRING   "PST"
 
#define _PDT_STRING   "PDT"
 
#define L_PST_STRING   L"PST"
 
#define L_PDT_STRING   L"PDT"
 

Functions

 _CRT_LINKER_FORCE_INCLUDE (__acrt_timeset_initializer)
 
int __cdecl __acrt_initialize_timeset ()
 
errno_t __cdecl _get_daylight (int *const result)
 
errno_t __cdecl _get_dstbias (long *result)
 
errno_t __cdecl _get_timezone (long *result)
 
errno_t __cdecl _get_tzname (size_t *const length, char *const buffer, size_t const size_in_bytes, int const index)
 
int *__cdecl __daylight ()
 
long *__cdecl __dstbias ()
 
long *__cdecl __timezone ()
 
char **__cdecl __tzname ()
 
wchar_t **__cdecl __wide_tzname ()
 

Variables

__crt_state_management::dual_state_global< long_timezone
 
__crt_state_management::dual_state_global< int_daylight
 
__crt_state_management::dual_state_global< long_dstbias
 
static char tzstd_program [_TZ_STRINGS_SIZE] = { _PST_STRING }
 
static char tzdst_program [_TZ_STRINGS_SIZE] = { _PDT_STRING }
 
static wchar_t w_tzstd_program [_TZ_STRINGS_SIZE] = { L_PST_STRING }
 
static wchar_t w_tzdst_program [_TZ_STRINGS_SIZE] = { L_PDT_STRING }
 
static chartzname_states [__crt_state_management::state_index_count][2]
 
static wchar_tw_tzname_states [__crt_state_management::state_index_count][2]
 
static __crt_state_management::dual_state_global< char ** > _tzname
 
static __crt_state_management::dual_state_global< wchar_t ** > w_tzname
 
const char __dnames []
 
const char __mnames []
 

Macro Definition Documentation

◆ _PDT_STRING

#define _PDT_STRING   "PDT"

Definition at line 24 of file timeset.cpp.

◆ _PST_STRING

#define _PST_STRING   "PST"

Definition at line 23 of file timeset.cpp.

◆ L_PDT_STRING

#define L_PDT_STRING   L"PDT"

Definition at line 27 of file timeset.cpp.

◆ L_PST_STRING

#define L_PST_STRING   L"PST"

Definition at line 26 of file timeset.cpp.

Function Documentation

◆ __acrt_initialize_timeset()

int __cdecl __acrt_initialize_timeset ( )

Definition at line 65 of file timeset.cpp.

66{
67 _timezone.initialize(8 * 3600L);
68 _daylight.initialize(1);
69 _dstbias.initialize (-3600);
70
71 char*** const first_state = _tzname.dangerous_get_state_array();
72 for (unsigned i = 0; i != __crt_state_management::state_index_count; ++i)
73 {
74 first_state[i] = tzname_states[i];
75 }
76
77 wchar_t*** const w_first_state = w_tzname.dangerous_get_state_array();
78 for (unsigned i = 0; i != __crt_state_management::state_index_count; ++i)
79 {
80 w_first_state[i] = w_tzname_states[i];
81 }
82
83 return 0;
84}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
__crt_state_management::dual_state_global< long > _dstbias
Definition: timeset.cpp:19
static __crt_state_management::dual_state_global< char ** > _tzname
Definition: timeset.cpp:59
__crt_state_management::dual_state_global< int > _daylight
Definition: timeset.cpp:18
static wchar_t * w_tzname_states[__crt_state_management::state_index_count][2]
Definition: timeset.cpp:51
static char * tzname_states[__crt_state_management::state_index_count][2]
Definition: timeset.cpp:43
static __crt_state_management::dual_state_global< wchar_t ** > w_tzname
Definition: timeset.cpp:60
__crt_state_management::dual_state_global< long > _timezone
Definition: timeset.cpp:17

◆ __daylight()

int *__cdecl __daylight ( )

Definition at line 165 of file timeset.cpp.

166{
167 return &_daylight.value();
168}

◆ __dstbias()

long *__cdecl __dstbias ( )

Definition at line 170 of file timeset.cpp.

171{
172 return &_dstbias.value();
173}

◆ __timezone()

long *__cdecl __timezone ( )

Definition at line 175 of file timeset.cpp.

176{
177 return &_timezone.value();
178}

◆ __tzname()

char **__cdecl __tzname ( )

Definition at line 180 of file timeset.cpp.

181{
182 return _tzname.value();
183}

◆ __wide_tzname()

wchar_t **__cdecl __wide_tzname ( )

Definition at line 185 of file timeset.cpp.

186{
187 return w_tzname.value();
188}

Referenced by expand_time(), tzset_from_environment_nolock(), and tzset_from_system_nolock().

◆ _CRT_LINKER_FORCE_INCLUDE()

_CRT_LINKER_FORCE_INCLUDE ( __acrt_timeset_initializer  )

◆ _get_daylight()

errno_t __cdecl _get_daylight ( int *const  result)

Definition at line 86 of file timeset.cpp.

87{
89
90 // This variable is correctly inited at startup, so no need to check if
91 // CRT init finished.
92 *result = _daylight.value();
93 return 0;
94}
#define EINVAL
Definition: acclib.h:90
GLuint64EXT * result
Definition: glext.h:11304
#define _VALIDATE_RETURN_ERRCODE(expr, errorcode)

◆ _get_dstbias()

errno_t __cdecl _get_dstbias ( long result)

Definition at line 96 of file timeset.cpp.

97{
99
100 // This variable is correctly inited at startup, so no need to check if
101 // CRT init finished.
102 *result = _dstbias.value();
103 return 0;
104}

◆ _get_timezone()

errno_t __cdecl _get_timezone ( long result)

Definition at line 106 of file timeset.cpp.

107{
109
110 // This variable is correctly inited at startup, so no need to check if
111 // CRT init finished.
112 *result = _timezone.value();
113 return 0;
114}

◆ _get_tzname()

errno_t __cdecl _get_tzname ( size_t *const  length,
char *const  buffer,
size_t const  size_in_bytes,
int const  index 
)

Definition at line 116 of file timeset.cpp.

121{
123 (buffer != nullptr && size_in_bytes > 0) ||
124 (buffer == nullptr && size_in_bytes == 0),
125 EINVAL);
126
127 if (buffer != nullptr)
128 buffer[0] = '\0';
129
132
133 // _tzname is correctly inited at startup, so no need to check if
134 // CRT init finished.
135 *length = strlen(_tzname.value()[index]) + 1;
136
137 // If the buffer pointer is null, the caller is interested only in the size
138 // of the string, not in the actual value of the string:
139 if (buffer == nullptr)
140 return 0;
141
142 if (*length > size_in_bytes)
143 return ERANGE;
144
145 return strcpy_s(buffer, size_in_bytes, _tzname.value()[index]);
146}
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
#define ERANGE
Definition: acclib.h:92
GLuint buffer
Definition: glext.h:5915
GLuint index
Definition: glext.h:6031
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
#define strcpy_s(d, l, s)
Definition: utility.h:200

Variable Documentation

◆ __dnames

const char __dnames[]
Initial value:
=
{
"SunMonTueWedThuFriSat"
}

Definition at line 151 of file timeset.cpp.

Referenced by throw().

◆ __mnames

const char __mnames[]
Initial value:
=
{
"JanFebMarAprMayJunJulAugSepOctNovDec"
}

Definition at line 157 of file timeset.cpp.

Referenced by throw().

◆ _daylight

__crt_state_management::dual_state_global<int> _daylight

Definition at line 18 of file timeset.cpp.

Referenced by __acrt_initialize_timeset(), __daylight(), and _get_daylight().

◆ _dstbias

__crt_state_management::dual_state_global<long> _dstbias

Definition at line 19 of file timeset.cpp.

Referenced by __acrt_initialize_timeset(), __dstbias(), and _get_dstbias().

◆ _timezone

__crt_state_management::dual_state_global<long> _timezone

Definition at line 17 of file timeset.cpp.

Referenced by __acrt_initialize_timeset(), __timezone(), and _get_timezone().

◆ _tzname

__crt_state_management::dual_state_global<char **> _tzname
static

Definition at line 59 of file timeset.cpp.

Referenced by __acrt_initialize_timeset(), __tzname(), and _get_tzname().

◆ tzdst_program

char tzdst_program[_TZ_STRINGS_SIZE] = { _PDT_STRING }
static

Definition at line 30 of file timeset.cpp.

◆ tzname_states

char* tzname_states[__crt_state_management::state_index_count][2]
static
Initial value:
=
{
}
static char tzdst_program[_TZ_STRINGS_SIZE]
Definition: timeset.cpp:30
static char tzstd_program[_TZ_STRINGS_SIZE]
Definition: timeset.cpp:29

Definition at line 43 of file timeset.cpp.

Referenced by __acrt_initialize_timeset().

◆ tzstd_program

char tzstd_program[_TZ_STRINGS_SIZE] = { _PST_STRING }
static

Definition at line 29 of file timeset.cpp.

◆ w_tzdst_program

wchar_t w_tzdst_program[_TZ_STRINGS_SIZE] = { L_PDT_STRING }
static

Definition at line 33 of file timeset.cpp.

◆ w_tzname

__crt_state_management::dual_state_global<wchar_t **> w_tzname
static

Definition at line 60 of file timeset.cpp.

Referenced by __acrt_initialize_timeset(), and __wide_tzname().

◆ w_tzname_states

wchar_t* w_tzname_states[__crt_state_management::state_index_count][2]
static
Initial value:
=
{
}
static wchar_t w_tzstd_program[_TZ_STRINGS_SIZE]
Definition: timeset.cpp:32
static wchar_t w_tzdst_program[_TZ_STRINGS_SIZE]
Definition: timeset.cpp:33

Definition at line 51 of file timeset.cpp.

Referenced by __acrt_initialize_timeset().

◆ w_tzstd_program

wchar_t w_tzstd_program[_TZ_STRINGS_SIZE] = { L_PST_STRING }
static

Definition at line 32 of file timeset.cpp.