/usr/x86_64-w64-mingw32/include/timeprov.h is in mingw-w64-x86-64-dev 2.0.3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | /**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef TIMEPROV_H
#define TIMEPROV_H
#ifdef __cplusplus
extern "C" {
#endif
#define wszW32TimeRegKeyTimeProviders L"System\\CurrentControlSet\\Services\\W32Time\\TimeProviders"
#define wszW32TimeRegKeyPolicyTimeProviders L"Software\\Policies\\Microsoft\\W32Time\\TimeProviders"
#define wszW32TimeRegValueEnabled L"Enabled"
#define wszW32TimeRegValueDllName L"DllName"
#define wszW32TimeRegValueInputProvider L"InputProvider"
#define TSF_Hardware 0x00000001
#define TSF_Authenticated 0x00000002
typedef enum TimeProvCmd {
TPC_TimeJumped,TPC_UpdateConfig,TPC_PollIntervalChanged,TPC_GetSamples,TPC_NetTopoChange,TPC_Query,TPC_Shutdown
} TimeProvCmd;
typedef enum TimeSysInfo {
TSI_LastSyncTime,TSI_ClockTickSize,TSI_ClockPrecision,TSI_CurrentTime,TSI_PhaseOffset,TSI_TickCount,TSI_LeapFlags,TSI_Stratum,
TSI_ReferenceIdentifier,TSI_PollInterval,TSI_RootDelay,TSI_RootDispersion,TSI_TSFlags
} TimeSysInfo;
typedef enum TimeJumpedFlags {
TJF_Default=0,TJF_UserRequested=1
} TimeJumpedFlags;
typedef enum NetTopoChangeFlags {
NTC_Default=0,NTC_UserRequested=1
} NetTopoChangeFlags;
typedef enum TimeProvState {
TPS_Running,TPS_Error
} TimeProvState;
struct SetProviderStatusInfo;
typedef void (WINAPI SetProviderStatusInfoFreeFunc)(struct SetProviderStatusInfo *pspsi);
typedef struct SetProviderStatusInfo {
TimeProvState tpsCurrentState;
DWORD dwStratum;
LPWSTR wszProvName;
HANDLE hWaitEvent;
SetProviderStatusInfoFreeFunc *pfnFree;
HRESULT *pHr;
DWORD *pdwSysStratum;
} SetProviderStatusInfo;
typedef HRESULT (WINAPI GetTimeSysInfoFunc)(TimeSysInfo eInfo,void *pvInfo);
typedef HRESULT (WINAPI LogTimeProvEventFunc)(WORD wType,WCHAR *wszProvName,WCHAR *wszMessage);
typedef HRESULT (WINAPI AlertSamplesAvailFunc)(void);
typedef HRESULT (WINAPI SetProviderStatusFunc)(SetProviderStatusInfo *pspsi);
typedef struct TimeProvSysCallbacks {
DWORD dwSize;
GetTimeSysInfoFunc *pfnGetTimeSysInfo;
LogTimeProvEventFunc *pfnLogTimeProvEvent;
AlertSamplesAvailFunc *pfnAlertSamplesAvail;
SetProviderStatusFunc *pfnSetProviderStatus;
} TimeProvSysCallbacks;
typedef void *TimeProvArgs;
typedef struct TimeSample {
DWORD dwSize;
DWORD dwRefid;
__MINGW_EXTENSION signed __int64 toOffset;
__MINGW_EXTENSION signed __int64 toDelay;
__MINGW_EXTENSION unsigned __int64 tpDispersion;
__MINGW_EXTENSION unsigned __int64 nSysTickCount;
__MINGW_EXTENSION signed __int64 nSysPhaseOffset;
BYTE nLeapFlags;
BYTE nStratum;
DWORD dwTSFlags;
WCHAR wszUniqueName[256];
} TimeSample;
typedef struct TpcGetSamplesArgs {
BYTE *pbSampleBuf;
DWORD cbSampleBuf;
DWORD dwSamplesReturned;
DWORD dwSamplesAvailable;
} TpcGetSamplesArgs;
typedef struct TpcTimeJumpedArgs {
TimeJumpedFlags tjfFlags;
} TpcTimeJumpedArgs;
typedef struct TpcNetTopoChangeArgs {
NetTopoChangeFlags ntcfFlags;
} TpcNetTopoChangeArgs;
typedef void *TimeProvHandle;
HRESULT WINAPI TimeProvOpen(WCHAR *wszName,TimeProvSysCallbacks *pSysCallbacks,TimeProvHandle *phTimeProv);
HRESULT WINAPI TimeProvCommand(TimeProvHandle hTimeProv,TimeProvCmd eCmd,TimeProvArgs pvArgs);
HRESULT WINAPI TimeProvClose(TimeProvHandle hTimeProv);
#ifdef __cplusplus
}
#endif
#endif
|