From 6d2f233002f233a7c55f6df7efeaea943b433a6b Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sun, 31 May 2009 23:20:55 +0000 Subject: [PATCH] - Implement and export NdisCompareAnsiString, NdisCompareUnicodeString, and NdisInterlockedAddLargeInteger svn path=/trunk/; revision=41232 --- reactos/drivers/network/ndis/ndis.def | 6 +-- reactos/drivers/network/ndis/ndis/misc.c | 53 +++++++++++++++++++++++- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/reactos/drivers/network/ndis/ndis.def b/reactos/drivers/network/ndis/ndis.def index ab775344386..f36539dbaeb 100644 --- a/reactos/drivers/network/ndis/ndis.def +++ b/reactos/drivers/network/ndis/ndis.def @@ -67,8 +67,8 @@ NdisCoGetTapiCallId@8 NdisCoRequest@20 NdisCoRequestComplete@20 NdisCoSendPackets@12 -;NdisCompareAnsiString ? -;NdisCompareUnicodeString ? +NdisCompareAnsiString@12 +NdisCompareUnicodeString@12 NdisCompleteBindAdapter@12 NdisCompleteCloseAdapter@8 NdisCompleteDmaTransfer@24 @@ -150,7 +150,7 @@ NdisInitializeString@8 NdisInitializeTimer@12 NdisInitializeWrapper@16 NdisInitUnicodeString@8 -;NdisInterlockedAddLargeInterger ? +NdisInterlockedAddLargeInteger@16 NdisInterlockedAddUlong@12 NdisInterlockedDecrement@4 NdisInterlockedIncrement@4 diff --git a/reactos/drivers/network/ndis/ndis/misc.c b/reactos/drivers/network/ndis/ndis/misc.c index 6cdfa0664fb..1a0f735f232 100644 --- a/reactos/drivers/network/ndis/ndis/misc.c +++ b/reactos/drivers/network/ndis/ndis/misc.c @@ -20,6 +20,58 @@ NdisInterlockedAddUlong ( ExInterlockedAddUlong ( Addend, Increment, &SpinLock->SpinLock ); } +/* + * @implemented + */ +VOID +EXPORT +NdisInterlockedAddLargeInteger( + IN PLARGE_INTEGER Addend, + IN LARGE_INTEGER Increment, + IN PNDIS_SPIN_LOCK SpinLock) +{ + /* This needs to be verified. The documentation + * seems to be missing but it is exported by + * NDIS 5.1 so I'm implementing it like the other + * interlocked routines + */ + + ExInterlockedAddLargeInteger(Addend, Increment, &SpinLock->SpinLock); +} + +/* + * @implemented + */ +LONG +EXPORT +NdisCompareAnsiString( + IN PNDIS_ANSI_STRING String1, + IN PNDIS_ANSI_STRING String2, + BOOLEAN CaseInSensitive) +{ + /* This one needs to be verified also. See the + * comment in NdisInterlockedAddLargeInteger + */ + + return RtlCompareString(String1, String2, CaseInSensitive); +} + +/* + * @implemented + */ +LONG +EXPORT +NdisCompareUnicodeString( + IN PNDIS_STRING String1, + IN PNDIS_STRING String2, + IN BOOLEAN CaseInSensitive) +{ + /* This one needs to be verified also. See the + * comment in NdisInterlockedAddLargeInteger + */ + + return RtlCompareUnicodeString(String1, String2, CaseInSensitive); +} /* * @implemented @@ -35,7 +87,6 @@ NdisInterlockedInsertHeadList( return ExInterlockedInsertHeadList ( ListHead, ListEntry, &SpinLock->SpinLock ); } - /* * @implemented */