|
|
|
1 |
|
/*** |
2 |
|
*time.inl - inline definitions for time-related functions |
3 |
|
* |
4 |
|
* Copyright (c) Microsoft Corporation. All rights reserved. |
5 |
|
* |
6 |
|
*Purpose: |
7 |
|
* This file contains the time-related function definitions. |
8 |
|
* |
9 |
|
* [Public] |
10 |
|
* |
11 |
|
****/ |
12 |
|
|
13 |
|
#if _MSC_VER > 1000 |
14 |
|
#pragma once |
15 |
|
#endif |
16 |
|
|
17 |
|
#if !defined(__CRTDECL) |
18 |
|
#if defined(_M_CEE_PURE) |
19 |
|
#define __CRTDECL |
20 |
|
#else |
21 |
|
#define __CRTDECL __cdecl |
22 |
|
#endif |
23 |
|
#endif |
24 |
|
|
25 |
|
#ifndef _INC_TIME_INL |
26 |
|
#define _INC_TIME_INL |
27 |
|
#ifndef RC_INVOKED |
28 |
|
|
29 |
|
#ifdef _USE_32BIT_TIME_T |
30 |
|
static __inline double __CRTDECL difftime(time_t _Time1, time_t _Time2) |
31 |
|
{ |
32 |
|
return _difftime32(_Time1,_Time2); |
33 |
|
} |
34 |
|
_CRT_INSECURE_DEPRECATE(ctime_s) static __inline char * __CRTDECL ctime(const time_t * _Time) |
35 |
|
{ |
36 |
|
#pragma warning( push ) |
37 |
|
#pragma warning( disable : 4996 ) |
38 |
|
return _ctime32(_Time); |
39 |
|
#pragma warning( pop ) |
40 |
|
} |
41 |
|
#if __STDC_WANT_SECURE_LIB__ |
42 |
|
static __inline errno_t __CRTDECL ctime_s(char *_Buffer, size_t _SizeInBytes, const time_t * _Time) |
43 |
|
{ |
44 |
|
return _ctime32_s(_Buffer, _SizeInBytes, _Time); |
45 |
|
} |
46 |
|
#endif |
47 |
|
_CRT_INSECURE_DEPRECATE(gmtime_s) static __inline struct tm * __CRTDECL gmtime(const time_t * _Time) |
48 |
|
{ |
49 |
|
#pragma warning( push ) |
50 |
|
#pragma warning( disable : 4996 ) |
51 |
|
return _gmtime32(_Time); |
52 |
|
#pragma warning( pop ) |
53 |
|
} |
54 |
|
#if __STDC_WANT_SECURE_LIB__ |
55 |
|
static __inline errno_t __CRTDECL gmtime_s(struct tm * _Tm, const time_t * _Time) |
56 |
|
{ |
57 |
|
return _gmtime32_s(_Tm, _Time); |
58 |
|
} |
59 |
|
#endif |
60 |
|
_CRT_INSECURE_DEPRECATE(localtime_s) static __inline struct tm * __CRTDECL localtime(const time_t * _Time) |
61 |
|
{ |
62 |
|
#pragma warning( push ) |
63 |
|
#pragma warning( disable : 4996 ) |
64 |
|
return _localtime32(_Time); |
65 |
|
#pragma warning( pop ) |
66 |
|
} |
67 |
|
static __inline errno_t __CRTDECL localtime_s(struct tm * _Tm, const time_t * _Time) |
68 |
|
{ |
69 |
|
return _localtime32_s(_Tm, _Time); |
80 |
|
{ |
81 |
|
return _time32(_Time); |
82 |
|
} |
83 |
|
#else |
84 |
|
static __inline double __CRTDECL difftime(time_t _Time1, time_t _Time2) |
85 |
|
{ |
86 |
|
return _difftime64(_Time1,_Time2); |
87 |
|
} |
88 |
|
_CRT_INSECURE_DEPRECATE(ctime_s) static __inline char * __CRTDECL ctime(const time_t * _Time) |
89 |
|
{ |
90 |
|
#pragma warning( push ) |
91 |
|
#pragma warning( disable : 4996 ) |
92 |
|
return _ctime64(_Time); |
93 |
|
#pragma warning( pop ) |
94 |
|
} |
95 |
|
#if __STDC_WANT_SECURE_LIB__ |
96 |
|
static __inline errno_t __CRTDECL ctime_s(char *_Buffer, size_t _SizeInBytes, const time_t * _Time) |
97 |
|
{ |
98 |
|
return _ctime64_s(_Buffer, _SizeInBytes, _Time); |
99 |
|
} |
100 |
|
#endif |
101 |
|
_CRT_INSECURE_DEPRECATE(gmtime_s) static __inline struct tm * __CRTDECL gmtime(const time_t * _Time) |
102 |
|
{ |
103 |
|
#pragma warning( push ) |
104 |
|
#pragma warning( disable : 4996 ) |
105 |
|
return _gmtime64(_Time); |
106 |
|
#pragma warning( pop ) |
107 |
|
} |
108 |
|
#if __STDC_WANT_SECURE_LIB__ |
109 |
|
static __inline errno_t __CRTDECL gmtime_s(struct tm * _Tm, const time_t * _Time) |
110 |
|
{ |
111 |
|
return _gmtime64_s(_Tm, _Time); |
112 |
|
} |
113 |
|
#endif |
114 |
|
_CRT_INSECURE_DEPRECATE(localtime_s) static __inline struct tm * __CRTDECL localtime(const time_t * _Time) |
115 |
|
{ |
116 |
|
#pragma warning( push ) |
117 |
|
#pragma warning( disable : 4996 ) |
118 |
|
return _localtime64(_Time); |
119 |
|
#pragma warning( pop ) |
120 |
|
} |
121 |
|
static __inline errno_t __CRTDECL localtime_s(struct tm * _Tm, const time_t * _Time) |
122 |
|
{ |
123 |
|
return _localtime64_s(_Tm, _Time); |
124 |
|
} |
125 |
|
static __inline time_t __CRTDECL mktime(struct tm * _Tm) |
126 |
|
{ |
127 |
|
return _mktime64(_Tm); |
128 |
|
} |
129 |
|
static __inline time_t __CRTDECL _mkgmtime(struct tm * _Tm) |
130 |
|
{ |
131 |
|
return _mkgmtime64(_Tm); |
132 |
|
} |
133 |
|
static __inline time_t __CRTDECL time(time_t * _Time) |
134 |
|
{ |
135 |
|
return _time64(_Time); |
136 |
|
} |
137 |
|
#endif /* _USE_32BIT_TIME_T */ |
138 |
|
|
139 |
|
|
140 |
|
#endif /* RC_INVOKED */ |
141 |
|
#endif /* _INC_TIME_INL */ |
142 |
|
|
|
|
|