interlockedapi.h 1.1 KB

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