zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

interlockedapi.h (1109B) - Raw


      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 _INTERLOCKAPI_H_
      6 #define _INTERLOCKAPI_H_
      7 
      8 #include <apiset.h>
      9 #include <apisetcconv.h>
     10 #include <minwindef.h>
     11 
     12 #ifdef __cplusplus
     13 extern "C" {
     14 #endif
     15 
     16 #if !defined (NOWINBASEINTERLOCK) && !defined (_NTOS_)
     17 #if defined (_SLIST_HEADER_) && !defined (_NTOSP_)
     18   WINBASEAPI VOID WINAPI InitializeSListHead (PSLIST_HEADER ListHead);
     19   WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPopEntrySList (PSLIST_HEADER ListHead);
     20   WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPushEntrySList (PSLIST_HEADER ListHead, PSLIST_ENTRY ListEntry);
     21   WINBASEAPI PSLIST_ENTRY WINAPI InterlockedFlushSList (PSLIST_HEADER ListHead);
     22   WINBASEAPI USHORT WINAPI QueryDepthSList (PSLIST_HEADER ListHead);
     23 
     24 #if NTDDI_VERSION >= 0x06020000
     25 #define InterlockedPushListSList InterlockedPushListSListEx
     26 
     27   WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPushListSListEx (PSLIST_HEADER ListHead, PSLIST_ENTRY List, PSLIST_ENTRY ListEnd, ULONG Count);
     28 #endif
     29 #endif
     30 #endif
     31 
     32 #ifdef __cplusplus
     33 }
     34 #endif
     35 #endif