master
 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#ifndef _FIBERS_H_
 6#define _FIBERS_H_
 7
 8#include <apiset.h>
 9#include <apisetcconv.h>
10#include <minwindef.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
17#if _WIN32_WINNT >= 0x0600
18#ifndef FLS_OUT_OF_INDEXES
19#define FLS_OUT_OF_INDEXES ((DWORD)0xffffffff)
20#endif
21
22  WINBASEAPI DWORD WINAPI FlsAlloc (PFLS_CALLBACK_FUNCTION lpCallback);
23  WINBASEAPI PVOID WINAPI FlsGetValue (DWORD dwFlsIndex);
24  WINBASEAPI WINBOOL WINAPI FlsSetValue (DWORD dwFlsIndex, PVOID lpFlsData);
25  WINBASEAPI WINBOOL WINAPI FlsFree (DWORD dwFlsIndex);
26  WINBASEAPI WINBOOL WINAPI IsThreadAFiber (VOID);
27#endif
28
29#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
30  WINBASEAPI PVOID WINAPI FlsGetValue2(DWORD dwTlsIndex);
31#endif
32
33#endif
34
35#ifdef __cplusplus
36}
37#endif
38#endif