* include/ddk/winnt4.h (Exi386InterlockedDecrementLong,

Exi386InterlockedExchangeUlong, Exi386InterlockedIncrementLong);
	Add prototypes.
	* include/winddk.h (ExInterlockedAddUlong,
	ExInterlockedInsertHeadList, ExInterlockedInsertTailList,
	ExInterlockedRemoveHeadList, ExInterlockedPopEntryList,
	ExInterlockedPushEntryList): Change calling convention to
	DDKAPI.
	(ExfInterlockedAddUlong,ExInterlockedInsertHeadList,
	ExInterlockedInsertTailList, ExInterlockedRemoveHeadList,
	ExInterlockedPopEntryList, ExInterlockedPushEntryList):
	Add prototypes for DDKFASTAPI versions.
	Thanks to Vadim Yegor0v <zg at bmg dot lv> for report.
	* lib/ntoskrnl.def (ExInterlockedAddUlong,
	ExInterlockedInsertHeadList, ExInterlockedInsertTailList,
	ExInterlockedRemoveHeadList, ExInterlockedPopEntryList,
	ExInterlockedPushEntryList): Remove lead '@' from stubs.
	(ExfInterlockedAddUlong,ExfInterlockedInsertHeadList,
	ExfInterlockedInsertTailList, ExfInterlockedRemoveHeadList,
	ExfInterlockedPopEntryList, ExfInterlockedPushEntryList):
	Add fastcall stubs.
	(Exi386InterlockedDecrementLong, Exi386InterlockedExchangeUlong,
	Exi386InterlockedIncrementLong); Add stdcall stubs.
This commit is contained in:
Danny Smith 2004-10-10 07:14:04 +00:00
parent 0795a24552
commit 7d032a010a
4 changed files with 117 additions and 25 deletions

View File

@ -1,3 +1,29 @@
2004-10-10 Danny Smith <dannysmith@users.sourceforge.net>
* include/ddk/winnt4.h (Exi386InterlockedDecrementLong,
Exi386InterlockedExchangeUlong, Exi386InterlockedIncrementLong);
Add prototypes.
* include/winddk.h (ExInterlockedAddUlong,
ExInterlockedInsertHeadList, ExInterlockedInsertTailList,
ExInterlockedRemoveHeadList, ExInterlockedPopEntryList,
ExInterlockedPushEntryList): Change calling convention to
DDKAPI.
(ExfInterlockedAddUlong,ExInterlockedInsertHeadList,
ExInterlockedInsertTailList, ExInterlockedRemoveHeadList,
ExInterlockedPopEntryList, ExInterlockedPushEntryList):
Add prototypes for DDKFASTAPI versions.
Thanks to Vadim Yegor0v <zg at bmg dot lv> for report.
* lib/ntoskrnl.def (ExInterlockedAddUlong,
ExInterlockedInsertHeadList, ExInterlockedInsertTailList,
ExInterlockedRemoveHeadList, ExInterlockedPopEntryList,
ExInterlockedPushEntryList): Remove lead '@' from stubs.
(ExfInterlockedAddUlong,ExfInterlockedInsertHeadList,
ExfInterlockedInsertTailList, ExfInterlockedRemoveHeadList,
ExfInterlockedPopEntryList, ExfInterlockedPushEntryList):
Add fastcall stubs.
(Exi386InterlockedDecrementLong, Exi386InterlockedExchangeUlong,
Exi386InterlockedIncrementLong); Add stdcall stubs.
2004-09-30 Danny Smith <dannysmith@users.sourceforge.net>
* include/winbase.h (WINBASEAPI): Define as DECLSPEC_IMPORT only

View File

@ -5328,12 +5328,21 @@ ExInterlockedAddLargeStatistic(
NTOSAPI
ULONG
DDKFASTAPI
DDKAPI
ExInterlockedAddUlong(
IN PULONG Addend,
IN ULONG Increment,
PKSPIN_LOCK Lock);
NTOSAPI
ULONG
DDKFASTAPI
ExfInterlockedAddUlong(
IN PULONG Addend,
IN ULONG Increment,
PKSPIN_LOCK Lock);
NTOSAPI
LONGLONG
DDKFASTAPI
@ -5351,7 +5360,7 @@ ExInterlockedFlushSList(
NTOSAPI
PLIST_ENTRY
DDKFASTAPI
DDKAPI
ExInterlockedInsertHeadList(
IN PLIST_ENTRY ListHead,
IN PLIST_ENTRY ListEntry,
@ -5360,15 +5369,38 @@ ExInterlockedInsertHeadList(
NTOSAPI
PLIST_ENTRY
DDKFASTAPI
ExfInterlockedInsertHeadList(
IN PLIST_ENTRY ListHead,
IN PLIST_ENTRY ListEntry,
IN PKSPIN_LOCK Lock);
NTOSAPI
PLIST_ENTRY
DDKAPI
ExInterlockedInsertTailList(
IN PLIST_ENTRY ListHead,
IN PLIST_ENTRY ListEntry,
IN PKSPIN_LOCK Lock);
NTOSAPI
PLIST_ENTRY
DDKFASTAPI
ExfInterlockedInsertTailList(
IN PLIST_ENTRY ListHead,
IN PLIST_ENTRY ListEntry,
IN PKSPIN_LOCK Lock);
NTOSAPI
PSINGLE_LIST_ENTRY
DDKAPI
ExInterlockedPopEntryList(
IN PSINGLE_LIST_ENTRY ListHead,
IN PKSPIN_LOCK Lock);
NTOSAPI
PSINGLE_LIST_ENTRY
DDKFASTAPI
ExInterlockedPopEntryList(
ExfInterlockedPopEntryList(
IN PSINGLE_LIST_ENTRY ListHead,
IN PKSPIN_LOCK Lock);
@ -5384,12 +5416,20 @@ ExInterlockedPopEntryList(
NTOSAPI
PSINGLE_LIST_ENTRY
DDKFASTAPI
DDKAPI
ExInterlockedPushEntryList(
IN PSINGLE_LIST_ENTRY ListHead,
IN PSINGLE_LIST_ENTRY ListEntry,
IN PKSPIN_LOCK Lock);
NTOSAPI
PSINGLE_LIST_ENTRY
DDKFASTAPI
ExfInterlockedPushEntryList(
IN PSINGLE_LIST_ENTRY ListHead,
IN PSINGLE_LIST_ENTRY ListEntry,
IN PKSPIN_LOCK Lock);
/*
* PSINGLE_LIST_ENTRY FASTCALL
* ExInterlockedPushEntrySList(
@ -5404,11 +5444,19 @@ ExInterlockedPushEntryList(
NTOSAPI
PLIST_ENTRY
DDKFASTAPI
DDKAPI
ExInterlockedRemoveHeadList(
IN PLIST_ENTRY ListHead,
IN PKSPIN_LOCK Lock);
NTOSAPI
PLIST_ENTRY
DDKFASTAPI
ExfInterlockedRemoveHeadList(
IN PLIST_ENTRY ListHead,
IN PKSPIN_LOCK Lock);
NTOSAPI
BOOLEAN
DDKAPI

View File

@ -567,23 +567,42 @@ RtlLargeIntegerSubtract(
/*
** Architecture specific structures
** Architecture specific functions
*/
#ifdef _X86_
NTOSAPI
INTERLOCKED_RESULT
DDKAPI
Exi386InterlockedIncrementLong(
IN PLONG Addend);
NTOSAPI
INTERLOCKED_RESULT
DDKFASTAPI
Exfi386InterlockedIncrementLong(
IN PLONG Addend);
NTOSAPI
INTERLOCKED_RESULT
DDKAPI
Exi386InterlockedDecrementLong(
IN PLONG Addend);
NTOSAPI
INTERLOCKED_RESULT
DDKFASTAPI
Exfi386InterlockedDecrementLong(
IN PLONG Addend);
NTOSAPI
ULONG
DDKAPI
Exi386InterlockedExchangeUlong(
IN PULONG Target,
IN ULONG Value);
NTOSAPI
ULONG
DDKFASTAPI

View File

@ -76,6 +76,15 @@ ExDeleteResourceLite@4
;ExEnumHandleTable
;ExEventObjectType DATA
ExExtendZone@12
@Exfi386InterlockedDecrementLong@4
@Exfi386InterlockedExchangeUlong@8
@Exfi386InterlockedIncrementLong@4
@ExfInterlockedAddUlong@12
@ExfInterlockedInsertHeadList@12
@ExfInterlockedInsertTailList@12
@ExfInterlockedPopEntryList@8
@ExfInterlockedPushEntryList@12
@ExfInterlockedRemoveHeadList@8
ExFreePool@4
ExFreePoolWithTag@8
ExFreeToPagedLookasideList@8
@ -84,6 +93,9 @@ ExFreeToPagedLookasideList@8
ExGetExclusiveWaiterCount@4
ExGetPreviousMode@0
ExGetSharedWaiterCount@4
Exi386InterlockedDecrementLong@4
Exi386InterlockedExchangeUlong@8
Exi386InterlockedIncrementLong@4
ExInitializeNPagedLookasideList@28
ExInitializePagedLookasideList@28
ExInitializeResourceLite@4
@ -91,20 +103,20 @@ ExInitializeResourceLite@4
ExInitializeZone@16
ExInterlockedAddLargeInteger@12
@ExInterlockedAddLargeStatistic@8
@ExInterlockedAddUlong@12
ExInterlockedAddUlong@12
@ExInterlockedCompareExchange64@16
ExInterlockedDecrementLong@8
ExInterlockedExchangeUlong@12
ExInterlockedExtendZone@16
@ExInterlockedFlushSList@4
@ExInterlockedIncrementLong@8
@ExInterlockedInsertHeadList@12
@ExInterlockedInsertTailList@12
@ExInterlockedPopEntryList@8
ExInterlockedInsertHeadList@12
ExInterlockedInsertTailList@12
ExInterlockedPopEntryList@8
;ExInterlockedPopEntrySList
@ExInterlockedPushEntryList@12
ExInterlockedPushEntryList@12
;ExInterlockedPushEntrySList
@ExInterlockedRemoveHeadList@8
ExInterlockedRemoveHeadList@8
ExIsProcessorFeaturePresent@4
ExIsResourceAcquiredExclusiveLite@4
ExIsResourceAcquiredSharedLite@4
@ -135,19 +147,6 @@ ExUuidCreate@4
ExVerifySuite@4
;ExWaitForRundownProtectionRelease
;ExWindowStationObjectType DATA
;ExfInterlockedAddUlong
;ExfInterlockedCompareExchange64
;ExfInterlockedInsertHeadList
;ExfInterlockedInsertTailList
;ExfInterlockedPopEntryList
;ExfInterlockedPushEntryList
;ExfInterlockedRemoveHeadList
@Exfi386InterlockedDecrementLong@4
@Exfi386InterlockedExchangeUlong@8
@Exfi386InterlockedIncrementLong@4
;Exi386InterlockedDecrementLong
;Exi386InterlockedExchangeUlong
;Exi386InterlockedIncrementLong
;FsRtlAcquireFileExclusive
;FsRtlAddLargeMcbEntry
;FsRtlAddMcbEntry