1 // 2 // sys/timeb.h 3 // 4 // Copyright (c) Microsoft Corporation. All rights reserved. 5 // 6 // The _ftime() family of functions 7 // 8 #pragma once 9 10 #include <corecrt.h> 11 12 #pragma warning(push) 13 #pragma warning(disable: _UCRT_DISABLED_WARNINGS) 14 _UCRT_DISABLE_CLANG_WARNINGS 15 16 _CRT_BEGIN_C_HEADER 17 18 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 19 // 20 // Types 21 // 22 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 23 struct __timeb32 24 { 25 __time32_t time; 26 unsigned short millitm; 27 short timezone; 28 short dstflag; 29 }; 30 31 struct __timeb64 32 { 33 __time64_t time; 34 unsigned short millitm; 35 short timezone; 36 short dstflag; 37 }; 38 39 #if defined(_CRT_INTERNAL_NONSTDC_NAMES) && _CRT_INTERNAL_NONSTDC_NAMES && !defined _CRT_NO_TIME_T 40 struct timeb 41 { 42 time_t time; 43 unsigned short millitm; 44 short timezone; 45 short dstflag; 46 }; 47 #endif 48 49 50 51 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 52 // 53 // Functions 54 // 55 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 56 #ifdef _USE_32BIT_TIME_T 57 #define _timeb __timeb32 58 #define _ftime _ftime32 59 #define _ftime_s _ftime32_s 60 #else 61 #define _timeb __timeb64 62 #define _ftime _ftime64 63 #define _ftime_s _ftime64_s 64 #endif 65 66 67 68 _CRT_INSECURE_DEPRECATE(_ftime32_s) 69 _ACRTIMP void __cdecl _ftime32( 70 _Out_ struct __timeb32* _Time 71 ); 72 73 _ACRTIMP errno_t __cdecl _ftime32_s( 74 _Out_ struct __timeb32* _Time 75 ); 76 77 _CRT_INSECURE_DEPRECATE(_ftime64_s) 78 _ACRTIMP void __cdecl _ftime64( 79 _Out_ struct __timeb64* _Time 80 ); 81 82 _ACRTIMP errno_t __cdecl _ftime64_s( 83 _Out_ struct __timeb64* _Time 84 ); 85 86 87 88 #if !defined RC_INVOKED && !defined __midl && defined(_CRT_INTERNAL_NONSTDC_NAMES) && _CRT_INTERNAL_NONSTDC_NAMES && !defined _CRT_NO_TIME_T 89 90 #ifdef _USE_32BIT_TIME_T 91 92 static __inline void __CRTDECL ftime(struct timeb* const _Tmb) 93 { 94 _STATIC_ASSERT(sizeof(struct timeb) == sizeof(struct __timeb32)); 95 _ftime32((struct __timeb32*)_Tmb); 96 } 97 98 #else 99 100 static __inline void __CRTDECL ftime(struct timeb* const _Tmb) 101 { 102 _STATIC_ASSERT(sizeof(struct timeb) == sizeof(struct __timeb64)); 103 _ftime64((struct __timeb64*)_Tmb); 104 } 105 106 #endif 107 108 #endif 109 110 _CRT_END_C_HEADER 111 _UCRT_RESTORE_CLANG_WARNINGS 112 #pragma warning(pop) // _UCRT_DISABLED_WARNINGS 113