Home | History | Annotate | Download | only in include
      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
     12 extern "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
     54