ntoskrnl.exe: Change calling conventions for Interlocked* functions.

oldstable
Alexander Morozov 2008-04-25 18:22:24 +04:00 committed by Alexandre Julliard
parent 02df8a3ab7
commit 7f3b1daaf2
2 changed files with 75 additions and 5 deletions

View File

@ -426,6 +426,76 @@ void WINAPI IofCompleteRequest( IRP *irp, UCHAR priority_boost )
}
/***********************************************************************
* InterlockedCompareExchange (NTOSKRNL.EXE.@)
*/
#ifdef DEFINE_FASTCALL2_ENTRYPOINT
DEFINE_FASTCALL2_ENTRYPOINT( NTOSKRNL_InterlockedCompareExchange )
LONG WINAPI __regs_NTOSKRNL_InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
#else
LONG WINAPI NTOSKRNL_InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
#endif
{
return InterlockedCompareExchange( dest, xchg, compare );
}
/***********************************************************************
* InterlockedDecrement (NTOSKRNL.EXE.@)
*/
#ifdef DEFINE_FASTCALL1_ENTRYPOINT
DEFINE_FASTCALL1_ENTRYPOINT( NTOSKRNL_InterlockedDecrement )
LONG WINAPI __regs_NTOSKRNL_InterlockedDecrement( LONG volatile *dest )
#else
LONG WINAPI NTOSKRNL_InterlockedDecrement( LONG volatile *dest )
#endif
{
return InterlockedDecrement( dest );
}
/***********************************************************************
* InterlockedExchange (NTOSKRNL.EXE.@)
*/
#ifdef DEFINE_FASTCALL2_ENTRYPOINT
DEFINE_FASTCALL2_ENTRYPOINT( NTOSKRNL_InterlockedExchange )
LONG WINAPI __regs_NTOSKRNL_InterlockedExchange( LONG volatile *dest, LONG val )
#else
LONG WINAPI NTOSKRNL_InterlockedExchange( LONG volatile *dest, LONG val )
#endif
{
return InterlockedExchange( dest, val );
}
/***********************************************************************
* InterlockedExchangeAdd (NTOSKRNL.EXE.@)
*/
#ifdef DEFINE_FASTCALL2_ENTRYPOINT
DEFINE_FASTCALL2_ENTRYPOINT( NTOSKRNL_InterlockedExchangeAdd )
LONG WINAPI __regs_NTOSKRNL_InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
#else
LONG WINAPI NTOSKRNL_InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
#endif
{
return InterlockedExchangeAdd( dest, incr );
}
/***********************************************************************
* InterlockedIncrement (NTOSKRNL.EXE.@)
*/
#ifdef DEFINE_FASTCALL1_ENTRYPOINT
DEFINE_FASTCALL1_ENTRYPOINT( NTOSKRNL_InterlockedIncrement )
LONG WINAPI __regs_NTOSKRNL_InterlockedIncrement( LONG volatile *dest )
#else
LONG WINAPI NTOSKRNL_InterlockedIncrement( LONG volatile *dest )
#endif
{
return InterlockedIncrement( dest );
}
/***********************************************************************
* ExAllocatePool (NTOSKRNL.EXE.@)
*/

View File

@ -28,11 +28,11 @@
@ stub Exfi386InterlockedExchangeUlong
@ stub Exfi386InterlockedIncrementLong
@ stub HalExamineMBR
@ stdcall InterlockedCompareExchange(ptr long long) kernel32.InterlockedCompareExchange
@ stdcall InterlockedDecrement(ptr) kernel32.InterlockedDecrement
@ stdcall InterlockedExchange(ptr long) kernel32.InterlockedExchange
@ stdcall InterlockedExchangeAdd(ptr long ) kernel32.InterlockedExchangeAdd
@ stdcall InterlockedIncrement(ptr) kernel32.InterlockedIncrement
@ stdcall -norelay InterlockedCompareExchange(ptr long long) NTOSKRNL_InterlockedCompareExchange
@ stdcall -norelay InterlockedDecrement(ptr) NTOSKRNL_InterlockedDecrement
@ stdcall -norelay InterlockedExchange(ptr long) NTOSKRNL_InterlockedExchange
@ stdcall -norelay InterlockedExchangeAdd(ptr long) NTOSKRNL_InterlockedExchangeAdd
@ stdcall -norelay InterlockedIncrement(ptr) NTOSKRNL_InterlockedIncrement
@ stdcall InterlockedPopEntrySList(ptr) kernel32.InterlockedPopEntrySList
@ stdcall InterlockedPushEntrySList(ptr ptr) kernel32.InterlockedPushEntrySList
@ stub IoAssignDriveLetters