1/**
 2* This file is part of the mingw-w64 runtime package.
 3* No warranty is given; refer to the file DISCLAIMER within this package.
 4*/
 5
 6#include <winapifamily.h>
 7
 8#ifndef _AVRT_
 9#define _AVRT_
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
16  typedef enum _AVRT_PRIORITY {
17    AVRT_PRIORITY_VERYLOW = -2,
18    AVRT_PRIORITY_LOW,
19    AVRT_PRIORITY_NORMAL,
20    AVRT_PRIORITY_HIGH,
21    AVRT_PRIORITY_CRITICAL
22  } AVRT_PRIORITY,*PAVRT_PRIORITY;
23
24#define THREAD_ORDER_GROUP_INFINITE_TIMEOUT (-1LL)
25
26#define AVRTAPI
27
28  WINBOOL WINAPI AvQuerySystemResponsiveness (HANDLE AvrtHandle, PULONG SystemResponsivenessValue);
29  WINBOOL WINAPI AvRevertMmThreadCharacteristics (HANDLE AvrtHandle);
30  WINBOOL WINAPI AvRtCreateThreadOrderingGroup (PHANDLE Context, PLARGE_INTEGER Period, GUID *ThreadOrderingGuid, PLARGE_INTEGER Timeout);
31  WINBOOL WINAPI AvRtCreateThreadOrderingGroupExA (PHANDLE Context, PLARGE_INTEGER Period, GUID *ThreadOrderingGuid, PLARGE_INTEGER Timeout, LPCSTR TaskName);
32  WINBOOL WINAPI AvRtCreateThreadOrderingGroupExW (PHANDLE Context, PLARGE_INTEGER Period, GUID *ThreadOrderingGuid, PLARGE_INTEGER Timeout, LPCWSTR TaskName);
33  WINBOOL WINAPI AvRtDeleteThreadOrderingGroup (HANDLE Context);
34  WINBOOL WINAPI AvRtJoinThreadOrderingGroup (PHANDLE Context, GUID *ThreadOrderingGuid, WINBOOL Before);
35  WINBOOL WINAPI AvRtLeaveThreadOrderingGroup (HANDLE Context);
36  WINBOOL WINAPI AvRtWaitOnThreadOrderingGroup (HANDLE Context);
37  HANDLE WINAPI AvSetMmMaxThreadCharacteristicsA (LPCSTR FirstTask, LPCSTR SecondTask, LPDWORD TaskIndex);
38  HANDLE WINAPI AvSetMmMaxThreadCharacteristicsW (LPCWSTR FirstTask, LPCWSTR SecondTask, LPDWORD TaskIndex);
39  HANDLE WINAPI AvSetMmThreadCharacteristicsA (LPCSTR TaskName, LPDWORD TaskIndex);
40  HANDLE WINAPI AvSetMmThreadCharacteristicsW (LPCWSTR TaskName, LPDWORD TaskIndex);
41  WINBOOL WINAPI AvSetMmThreadPriority (HANDLE AvrtHandle, AVRT_PRIORITY Priority);
42
43#define AvSetMmThreadCharacteristics __MINGW_NAME_AW(AvSetMmThreadCharacteristics)
44#define AvSetMmMaxThreadCharacteristics __MINGW_NAME_AW(AvSetMmMaxThreadCharacteristics)
45#define AvRtCreateThreadOrderingGroupEx __MINGW_NAME_AW(AvRtCreateThreadOrderingGroupEx)
46
47#endif
48
49#ifdef __cplusplus
50}
51#endif
52
53#endif