|
WINPR_API VOID | InitializeSListHead (WINPR_PSLIST_HEADER ListHead) |
|
WINPR_API WINPR_PSLIST_ENTRY | InterlockedPushEntrySList (WINPR_PSLIST_HEADER ListHead, WINPR_PSLIST_ENTRY ListEntry) |
|
WINPR_API WINPR_PSLIST_ENTRY | InterlockedPushListSListEx (WINPR_PSLIST_HEADER ListHead, WINPR_PSLIST_ENTRY List, WINPR_PSLIST_ENTRY ListEnd, ULONG Count) |
|
WINPR_API WINPR_PSLIST_ENTRY | InterlockedPopEntrySList (WINPR_PSLIST_HEADER ListHead) |
|
WINPR_API WINPR_PSLIST_ENTRY | InterlockedFlushSList (WINPR_PSLIST_HEADER ListHead) |
|
WINPR_API USHORT | QueryDepthSList (WINPR_PSLIST_HEADER ListHead) |
|
WINPR_API LONG | InterlockedIncrement (LONG volatile *Addend) |
|
WINPR_API LONG | InterlockedDecrement (LONG volatile *Addend) |
|
WINPR_API LONG | InterlockedExchange (LONG volatile *Target, LONG Value) |
|
WINPR_API LONG | InterlockedExchangeAdd (LONG volatile *Addend, LONG Value) |
|
WINPR_API LONG | InterlockedCompareExchange (LONG volatile *Destination, LONG Exchange, LONG Comperand) |
|
WINPR_API PVOID | InterlockedCompareExchangePointer (PVOID volatile *Destination, PVOID Exchange, PVOID Comperand) |
|
WINPR_API LONGLONG | InterlockedCompareExchange64 (LONGLONG volatile *Destination, LONGLONG Exchange, LONGLONG Comperand) |
|
WINPR_API VOID | InitializeListHead (WINPR_PLIST_ENTRY ListHead) |
|
WINPR_API BOOL | IsListEmpty (const WINPR_LIST_ENTRY *ListHead) |
|
WINPR_API BOOL | RemoveEntryList (WINPR_PLIST_ENTRY Entry) |
|
WINPR_API VOID | InsertHeadList (WINPR_PLIST_ENTRY ListHead, WINPR_PLIST_ENTRY Entry) |
|
WINPR_API WINPR_PLIST_ENTRY | RemoveHeadList (WINPR_PLIST_ENTRY ListHead) |
|
WINPR_API VOID | InsertTailList (WINPR_PLIST_ENTRY ListHead, WINPR_PLIST_ENTRY Entry) |
|
WINPR_API WINPR_PLIST_ENTRY | RemoveTailList (WINPR_PLIST_ENTRY ListHead) |
|
WINPR_API VOID | AppendTailList (WINPR_PLIST_ENTRY ListHead, WINPR_PLIST_ENTRY ListToAppend) |
|
WINPR_API VOID | PushEntryList (WINPR_PSINGLE_LIST_ENTRY ListHead, WINPR_PSINGLE_LIST_ENTRY Entry) |
|
WINPR_API WINPR_PSINGLE_LIST_ENTRY | PopEntryList (WINPR_PSINGLE_LIST_ENTRY ListHead) |
|
#define CONTAINING_RECORD |
( |
|
address, |
|
|
|
type, |
|
|
|
field |
|
) |
| ((type*)(((ULONG_PTR)address) - (ULONG_PTR)(&(((type*)0)->field)))) |
WinPR: Windows Portable Runtime Interlocked Singly-Linked Lists
Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
WinPR: Windows Portable Runtime Interlocked Singly-Linked Lists
Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.