winapi_ui_automation/um/
interlockedapi.rs

1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms.
6use shared::minwindef::{ULONG, USHORT};
7use um::winnt::{PSLIST_ENTRY, PSLIST_HEADER};
8extern "system" {
9    pub fn InitializeSListHead(
10        ListHead: PSLIST_HEADER,
11    );
12    pub fn InterlockedPopEntrySList(
13        ListHead: PSLIST_HEADER,
14    ) -> PSLIST_ENTRY;
15    pub fn InterlockedPushEntrySList(
16        ListHead: PSLIST_HEADER,
17        ListEntry: PSLIST_ENTRY,
18    ) -> PSLIST_ENTRY;
19    pub fn InterlockedPushListSListEx(
20        ListHead: PSLIST_HEADER,
21        List: PSLIST_ENTRY,
22        ListEnd: PSLIST_ENTRY,
23        Count: ULONG,
24    ) -> PSLIST_ENTRY;
25    pub fn InterlockedFlushSList(
26        ListHead: PSLIST_HEADER,
27    ) -> PSLIST_ENTRY;
28    pub fn QueryDepthSList(
29        ListHead: PSLIST_HEADER,
30    ) -> USHORT;
31}