]>
git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseLib/X64/InterlockedCompareExchange64.c
cb67a95239c188460c5dc562c8e116c984da27d4
2 InterlockedCompareExchange64 function
4 Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #include "BaseLibInternals.h"
18 // Microsoft Visual Studio 7.1 Function Prototypes for I/O Intrinsics
20 __int64
_InterlockedCompareExchange64(
21 __int64
volatile * Destination
,
26 #pragma intrinsic(_InterlockedCompareExchange64)
30 InternalSyncCompareExchange64 (
31 IN
volatile UINT64
*Value
,
32 IN UINT64 CompareValue
,
33 IN UINT64 ExchangeValue
36 return _InterlockedCompareExchange64 (Value
, ExchangeValue
, CompareValue
);