ReactOS 0.4.16-dev-983-g23ad936
corecrt_wtime.h
Go to the documentation of this file.
1//
2// corecrt_wtime.h
3//
4// Copyright (c) Microsoft Corporation. All rights reserved.
5//
6// This file declares the wide character (wchar_t) time functionality, shared
7// by <time.h> and <wchar.h>.
8//
9#pragma once
10
11#include <corecrt.h>
12
13#pragma warning(push)
14#pragma warning(disable: _UCRT_DISABLED_WARNINGS)
16
18
19
20
21//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
22//
23// Types
24//
25//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
26struct tm
27{
28 int tm_sec; // seconds after the minute - [0, 60] including leap second
29 int tm_min; // minutes after the hour - [0, 59]
30 int tm_hour; // hours since midnight - [0, 23]
31 int tm_mday; // day of the month - [1, 31]
32 int tm_mon; // months since January - [0, 11]
33 int tm_year; // years since 1900
34 int tm_wday; // days since Sunday - [0, 6]
35 int tm_yday; // days since January 1 - [0, 365]
36 int tm_isdst; // daylight savings time flag
37};
38
39
40//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
41//
42// Wide String Time Functions
43//
44//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
46_Success_(return != 0)
50 );
51
52_Success_(return == 0)
56 _In_range_(>=,26) size_t _SizeInWords,
58 );
59
61 _Success_(return == 0)
63 _Post_readable_size_(26) wchar_t, _Buffer,
65 )
66
74 );
75
80 _In_ size_t _SizeInWords,
81 _In_z_ wchar_t const* _Format,
84 );
85
86_Success_(return != 0)
90 );
91
95 _In_ _In_range_(>=, 26) size_t _SizeInWords,
97 );
98
101 _Post_readable_size_(26) wchar_t, _Buffer,
103 )
104
105_Success_(return != 0)
108_ACRTIMP wchar_t* __cdecl _wctime64(
110 );
111
115 _In_ _In_range_(>=, 26) size_t _SizeInWords,
117
120 _Post_readable_size_(26) wchar_t, _Buffer,
122 )
123
127 _In_ size_t _SizeInWords
128 );
129
132 _Post_readable_size_(9) wchar_t, _Buffer
133 )
134
138 )
139
143 _In_ size_t _SizeInWords
144 );
145
148 _Post_readable_size_(9) wchar_t, _Buffer
149 )
150
153 _Out_writes_z_(9), wchar_t, _Buffer
154 )
155
156
157
158//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
159//
160// Inline Definitions
161//
162//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
163#if !defined RC_INVOKED && !defined __midl && !defined _INC_WTIME_INL && !defined _CRT_NO_TIME_T
164 #ifdef _USE_32BIT_TIME_T
165
167 static __inline wchar_t* __CRTDECL _wctime(
168 _In_ time_t const* const _Time
169 )
170 {
171 return _wctime32(_Time);
172 }
173
177 _In_ size_t const _SizeInWords,
178 _In_ time_t const* const _Time)
179 {
181 }
182
183 #else // ^^^ _USE_32BIT_TIME_T ^^^ // vvv !_USE_32BIT_TIME_T vvv //
184
186 static __inline wchar_t * __CRTDECL _wctime(
187 _In_ time_t const* const _Time)
188 {
189 return _wctime64(_Time);
190 }
191
195 _In_ size_t const _SizeInWords,
196 _In_ time_t const* const _Time
197 )
198 {
200 }
201
202 #endif // !_USE_32BIT_TIME_T
203#endif
204
207#pragma warning(pop) // _UCRT_DISABLED_WARNINGS
#define __inline
Definition: _wctype.cpp:15
#define __cdecl
Definition: accygwin.h:79
return
Definition: dirsup.c:529
_wstrtime
_In_ struct tm const * _Tm
Definition: corecrt_wtime.h:57
static _Check_return_wat_ __inline errno_t __CRTDECL _wctime_s(_Pre_notnull_ _Post_z_ _Out_writes_z_(_SizeInWords) wchar_t *const _Buffer, _In_ size_t const _SizeInWords, _In_ time_t const *const _Time)
_In_ size_t _In_z_ wchar_t const _In_ struct tm const _In_opt_ _locale_t _Locale
Definition: corecrt_wtime.h:84
_Check_return_wat_ _ACRTIMP errno_t __cdecl _wctime32_s(_Out_writes_z_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buffer, _In_ _In_range_(>=, 26) size_t _SizeInWords, _In_ __time32_t const *_Time)
_Buffer static _Check_return_ __inline wchar_t *__CRTDECL _wctime(_In_ time_t const *const _Time)
__RETURN_POLICY_DST
_In_ size_t _SizeInWords
Definition: corecrt_wtime.h:71
_ACRTIMP
_Check_return_wat_ _ACRTIMP errno_t __cdecl _wctime64_s(_Out_writes_z_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buffer, _In_ _In_range_(>=, 26) size_t _SizeInWords, _In_ __time64_t const *_Time)
_wstrdate
_In_ size_t _In_z_ wchar_t const * _Format
Definition: corecrt_wtime.h:72
_Buffer _Check_return_wat_ _ACRTIMP errno_t __cdecl _wstrtime_s(_Out_writes_z_(_SizeInWords) _When_(_SizeInWords >=9, _Post_readable_size_(9)) wchar_t *_Buffer, _In_ size_t _SizeInWords)
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1)
Definition: corecrt.h:177
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(_ReturnType, _FuncName, _DstType, _Dst)
Definition: corecrt.h:176
wchar_t *__cdecl _wctime64(__time64_t const *const time_t_value)
Definition: ctime.cpp:121
__kernel_time_t time_t
Definition: linux.h:252
_In_ _Pre_notnull_ _Buffer
Definition: stdlib.h:644
#define _Out_writes_z_(s)
Definition: no_sal2.h:180
#define _Post_readable_size_(s)
Definition: no_sal2.h:536
#define _Success_(c)
Definition: no_sal2.h:84
#define _In_z_
Definition: no_sal2.h:164
#define _Check_return_
Definition: no_sal2.h:60
#define _Ret_writes_z_(s)
Definition: no_sal2.h:312
#define _Post_z_
Definition: no_sal2.h:508
#define _Pre_notnull_
Definition: no_sal2.h:516
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _In_range_(l, h)
Definition: no_sal2.h:368
#define _When_(c, a)
Definition: no_sal2.h:38
_CRTIMP wchar_t *__cdecl _wctime32(_In_ const __time32_t *_Time)
_CRTIMP errno_t __cdecl _wstrdate_s(_Out_writes_(_SizeInWords) _Post_readable_size_(9) wchar_t *_Buf, _In_ size_t _SizeInWords)
_CRTIMP errno_t __cdecl _wasctime_s(_Out_writes_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buf, _In_range_(>=, 26) size_t _SizeInWords, _In_ const struct tm *_Tm)
_In_ size_t _In_ const __time32_t * _Time
Definition: time.h:192
_CRTIMP wchar_t *__cdecl _wasctime(_In_ const struct tm *_Tm)
long __time32_t
Definition: time.h:24
size_t CDECL wcsftime(wchar_t *str, size_t max, const wchar_t *format, const struct tm *mstm)
Definition: strftime.c:303
Definition: time.h:68
int tm_mon
Definition: time.h:73
int tm_year
Definition: time.h:74
int tm_hour
Definition: time.h:71
int tm_sec
Definition: time.h:69
int tm_isdst
Definition: time.h:77
int tm_yday
Definition: time.h:76
int tm_mday
Definition: time.h:72
int tm_min
Definition: time.h:70
int tm_wday
Definition: time.h:75
int errno_t
Definition: corecrt.h:615
__int64 __time64_t
Definition: corecrt.h:619
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst)
Definition: corecrt.h:842
#define _UCRT_DISABLE_CLANG_WARNINGS
Definition: corecrt.h:109
#define _UCRT_RESTORE_CLANG_WARNINGS
Definition: corecrt.h:117
#define _Check_return_wat_
Definition: corecrt.h:230
#define _CRT_END_C_HEADER
Definition: vcruntime.h:42
#define _CRT_BEGIN_C_HEADER
Definition: vcruntime.h:40
#define _CRT_INSECURE_DEPRECATE(_Replacement)
Definition: vcruntime.h:99
size_t __cdecl _wcsftime_l(wchar_t *const buffer, size_t const max_size, wchar_t const *const format, tm const *const timeptr, _locale_t const locale)
Definition: wcsftime.cpp:1181
#define __CRTDECL
Definition: yvals.h:17
#define const
Definition: zconf.h:233