Author: cgutman Date: Sat Mar 21 00:29:53 2009 New Revision: 40142
URL: http://svn.reactos.org/svn/reactos?rev=40142&view=rev Log: - Reorganize NDIS code
Added: trunk/reactos/drivers/network/ndis/ndis/30stubs.c - copied, changed from r40140, trunk/reactos/drivers/network/ndis/ndis/40gone.c trunk/reactos/drivers/network/ndis/ndis/40stubs.c - copied, changed from r40141, trunk/reactos/drivers/network/ndis/ndis/50gone.c trunk/reactos/drivers/network/ndis/ndis/50stubs.c - copied, changed from r40113, trunk/reactos/drivers/network/ndis/ndis/stubs.c trunk/reactos/drivers/network/ndis/ndis/misc.c (with props) Removed: trunk/reactos/drivers/network/ndis/ndis/40gone.c trunk/reactos/drivers/network/ndis/ndis/50gone.c trunk/reactos/drivers/network/ndis/ndis/stubs.c Modified: trunk/reactos/drivers/network/ndis/ndis.rbuild trunk/reactos/drivers/network/ndis/ndis/buffer.c trunk/reactos/drivers/network/ndis/ndis/control.c trunk/reactos/drivers/network/ndis/ndis/hardware.c trunk/reactos/drivers/network/ndis/ndis/io.c trunk/reactos/drivers/network/ndis/ndis/memory.c trunk/reactos/drivers/network/ndis/ndis/miniport.c trunk/reactos/drivers/network/ndis/ndis/protocol.c
Modified: trunk/reactos/drivers/network/ndis/ndis.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis.r... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis.rbuild [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis.rbuild [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -18,8 +18,9 @@ <pch>ndissys.h</pch> </directory> <directory name="ndis"> - <file>40gone.c</file> - <file>50gone.c</file> + <file>30stubs.c</file> + <file>40stubs.c</file> + <file>50stubs.c</file> <file>buffer.c</file> <file>cl.c</file> <file>cm.c</file> @@ -32,9 +33,9 @@ <file>main.c</file> <file>memory.c</file> <file>miniport.c</file> + <file>misc.c</file> <file>protocol.c</file> <file>string.c</file> - <file>stubs.c</file> <file>time.c</file> </directory> <file>ndis.rc</file>
Copied: trunk/reactos/drivers/network/ndis/ndis/30stubs.c (from r40140, trunk/reactos/drivers/network/ndis/ndis/40gone.c) URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/3... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/40gone.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/30stubs.c [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -1,8 +1,8 @@ /* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS NDIS library - * FILE: ndis/40gone.c - * PURPOSE: Obsoleted functions in NDIS 4.0 + * FILE: ndis/30stubs.c + * PURPOSE: NDIS 3.0 Stubs * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net) * REVISIONS: * CSH 01/08-2000 Created @@ -102,27 +102,6 @@ UNIMPLEMENTED }
- -/* - * @implemented - */ -VOID -EXPORT -NdisAllocateSharedMemory( - IN NDIS_HANDLE NdisAdapterHandle, - IN ULONG Length, - IN BOOLEAN Cached, - OUT PVOID *VirtualAddress, - OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress) -{ - NdisMAllocateSharedMemory(NdisAdapterHandle, - Length, - Cached, - VirtualAddress, - PhysicalAddress); -} - - /* * @unimplemented */
Removed: trunk/reactos/drivers/network/ndis/ndis/40gone.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/4... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/40gone.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/40gone.c (removed) @@ -1,186 +1,0 @@ -/* - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS NDIS library - * FILE: ndis/40gone.c - * PURPOSE: Obsoleted functions in NDIS 4.0 - * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net) - * REVISIONS: - * CSH 01/08-2000 Created - */ - -#include "ndissys.h" - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisCompleteDmaTransfer( - OUT PNDIS_STATUS Status, - IN PNDIS_HANDLE NdisDmaHandle, - IN PNDIS_BUFFER Buffer, - IN ULONG Offset, - IN ULONG Length, - IN BOOLEAN WriteToDevice) -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -ArcFilterDprIndicateReceive( - IN PARC_FILTER Filter, - IN PUCHAR pRawHeader, - IN PUCHAR pData, - IN UINT Length) -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -ArcFilterDprIndicateReceiveComplete( - IN PARC_FILTER Filter) -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -FddiFilterDprIndicateReceive( - IN PFDDI_FILTER Filter, - IN NDIS_HANDLE MacReceiveContext, - IN PCHAR Address, - IN UINT AddressLength, - IN PVOID HeaderBuffer, - IN UINT HeaderBufferSize, - IN PVOID LookaheadBuffer, - IN UINT LookaheadBufferSize, - IN UINT PacketSize) -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -FddiFilterDprIndicateReceiveComplete( - IN PFDDI_FILTER Filter) -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisAllocateDmaChannel( - OUT PNDIS_STATUS Status, - OUT PNDIS_HANDLE NdisDmaHandle, - IN NDIS_HANDLE NdisAdapterHandle, - IN PNDIS_DMA_DESCRIPTION DmaDescription, - IN ULONG MaximumLength) -{ - UNIMPLEMENTED -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisAllocateSharedMemory( - IN NDIS_HANDLE NdisAdapterHandle, - IN ULONG Length, - IN BOOLEAN Cached, - OUT PVOID *VirtualAddress, - OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress) -{ - NdisMAllocateSharedMemory(NdisAdapterHandle, - Length, - Cached, - VirtualAddress, - PhysicalAddress); -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisPciAssignResources( - IN NDIS_HANDLE NdisMacHandle, - IN NDIS_HANDLE NdisWrapperHandle, - IN NDIS_HANDLE WrapperConfigurationContext, - IN ULONG SlotNumber, - OUT PNDIS_RESOURCE_LIST *AssignedResources) -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisReadBindingInformation ( - OUT PNDIS_STATUS Status, - OUT PNDIS_STRING * Binding, - IN NDIS_HANDLE ConfigurationHandle) -{ - UNIMPLEMENTED -} - -/* - * @unimplemented - */ -VOID -EXPORT -TrFilterDprIndicateReceive( - IN PTR_FILTER Filter, - IN NDIS_HANDLE MacReceiveContext, - IN PVOID HeaderBuffer, - IN UINT HeaderBufferSize, - IN PVOID LookaheadBuffer, - IN UINT LookaheadBufferSize, - IN UINT PacketSize) -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -TrFilterDprIndicateReceiveComplete( - IN PTR_FILTER Filter) -{ - UNIMPLEMENTED -} - -/* EOF */
Copied: trunk/reactos/drivers/network/ndis/ndis/40stubs.c (from r40141, trunk/reactos/drivers/network/ndis/ndis/50gone.c) URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/4... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/50gone.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/40stubs.c [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -1,8 +1,8 @@ /* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS NDIS library - * FILE: ndis/50gone.c - * PURPOSE: Obsoleted functions in NDIS 5.0 + * FILE: ndis/40stubs.c + * PURPOSE: NDIS 4.0 stubs * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net) * REVISIONS: * CSH 01/08-2000 Created @@ -71,24 +71,6 @@
/* - * @implemented - */ -VOID -EXPORT -NdisDeregisterAdapterShutdownHandler( - IN NDIS_HANDLE NdisAdapterHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - NdisMDeregisterAdapterShutdownHandler(NdisAdapterHandle); -} - - -/* * @unimplemented */ VOID @@ -122,32 +104,6 @@ */ { UNIMPLEMENTED -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisFreeSharedMemory( - IN NDIS_HANDLE NdisAdapterHandle, - IN ULONG Length, - IN BOOLEAN Cached, - IN PVOID VirtualAddress, - IN NDIS_PHYSICAL_ADDRESS PhysicalAddress) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - NdisMFreeSharedMemory(NdisAdapterHandle, - Length, - Cached, - VirtualAddress, - PhysicalAddress); }
@@ -210,31 +166,6 @@ UNIMPLEMENTED
return FALSE; -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisMapIoSpace( - OUT PNDIS_STATUS Status, - OUT PVOID *VirtualAddress, - IN NDIS_HANDLE NdisAdapterHandle, - IN NDIS_PHYSICAL_ADDRESS PhysicalAddress, - IN UINT Length) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - *Status = NdisMMapIoSpace(VirtualAddress, - NdisAdapterHandle, - PhysicalAddress, - Length); }
@@ -331,28 +262,6 @@
/* - * @implemented - */ -VOID -EXPORT -NdisRegisterAdapterShutdownHandler( - IN NDIS_HANDLE NdisAdapterHandle, - IN PVOID ShutdownContext, - IN ADAPTER_SHUTDOWN_HANDLER ShutdownHandler) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - NdisMRegisterAdapterShutdownHandler(NdisAdapterHandle, - ShutdownContext, - ShutdownHandler); -} - - -/* * @unimplemented */ VOID @@ -414,4 +323,66 @@ /* No-op. */ }
+ +/* + * @unimplemented + */ +VOID +EXPORT +NdisImmediateReadSharedMemory( + IN NDIS_HANDLE WrapperConfigurationContext, + IN ULONG SharedMemoryAddress, + OUT PUCHAR Buffer, + IN ULONG Length) +{ + UNIMPLEMENTED +} + + +/* + * @unimplemented + */ +VOID +EXPORT +NdisImmediateWriteSharedMemory( + IN NDIS_HANDLE WrapperConfigurationContext, + IN ULONG SharedMemoryAddress, + IN PUCHAR Buffer, + IN ULONG Length) +{ + UNIMPLEMENTED +} + + + +/* + * @unimplemented + */ +VOID +EXPORT +NdisReadEisaSlotInformation( + OUT PNDIS_STATUS Status, + IN NDIS_HANDLE WrapperConfigurationContext, + OUT PUINT SlotNumber, + OUT PNDIS_EISA_FUNCTION_INFORMATION EisaData) +{ + UNIMPLEMENTED +} + + +/* + * @unimplemented + */ +VOID +EXPORT +NdisReadEisaSlotInformationEx( + OUT PNDIS_STATUS Status, + IN NDIS_HANDLE WrapperConfigurationContext, + OUT PUINT SlotNumber, + OUT PNDIS_EISA_FUNCTION_INFORMATION *EisaData, + OUT PUINT NumberOfFunctions) +{ + UNIMPLEMENTED +} + /* EOF */
Removed: trunk/reactos/drivers/network/ndis/ndis/50gone.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/5... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/50gone.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/50gone.c (removed) @@ -1,417 +1,0 @@ -/* - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS NDIS library - * FILE: ndis/50gone.c - * PURPOSE: Obsoleted functions in NDIS 5.0 - * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net) - * REVISIONS: - * CSH 01/08-2000 Created - */ - -#include "ndissys.h" - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisCompleteCloseAdapter( - IN NDIS_HANDLE NdisBindingContext, - IN NDIS_STATUS Status) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisCompleteOpenAdapter( - IN NDIS_HANDLE NdisBindingContext, - IN NDIS_STATUS Status, - IN NDIS_STATUS OpenErrorStatus) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisDeregisterAdapter( - IN NDIS_HANDLE NdisAdapterHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisDeregisterAdapterShutdownHandler( - IN NDIS_HANDLE NdisAdapterHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - NdisMDeregisterAdapterShutdownHandler(NdisAdapterHandle); -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisDeregisterMac( - OUT PNDIS_STATUS Status, - IN NDIS_HANDLE NdisMacHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisFreeDmaChannel( - IN PNDIS_HANDLE NdisDmaHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisFreeSharedMemory( - IN NDIS_HANDLE NdisAdapterHandle, - IN ULONG Length, - IN BOOLEAN Cached, - IN PVOID VirtualAddress, - IN NDIS_PHYSICAL_ADDRESS PhysicalAddress) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - NdisMFreeSharedMemory(NdisAdapterHandle, - Length, - Cached, - VirtualAddress, - PhysicalAddress); -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisIMQueueMiniportCallback( - IN NDIS_HANDLE MiniportAdapterHandle, - IN W_MINIPORT_CALLBACK CallbackRoutine, - IN PVOID CallbackContext) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisIMRevertBack( - IN NDIS_HANDLE MiniportAdapterHandle, - IN NDIS_HANDLE SwitchHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -BOOLEAN -EXPORT -NdisIMSwitchToMiniport( - IN NDIS_HANDLE MiniportAdapterHandle, - OUT PNDIS_HANDLE SwitchHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED - - return FALSE; -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisMapIoSpace( - OUT PNDIS_STATUS Status, - OUT PVOID *VirtualAddress, - IN NDIS_HANDLE NdisAdapterHandle, - IN NDIS_PHYSICAL_ADDRESS PhysicalAddress, - IN UINT Length) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - *Status = NdisMMapIoSpace(VirtualAddress, - NdisAdapterHandle, - PhysicalAddress, - Length); -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisOverrideBusNumber( - IN NDIS_HANDLE WrapperConfigurationContext, - IN NDIS_HANDLE MiniportAdapterHandle OPTIONAL, - IN ULONG BusNumber) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisQueryReceiveInformation( - IN NDIS_HANDLE NdisBindingHandle, - IN NDIS_HANDLE MacContext, - OUT PLONGLONG TimeSent OPTIONAL, - OUT PLONGLONG TimeReceived OPTIONAL, - IN PUCHAR Buffer, - IN UINT BufferSize, - OUT PUINT SizeNeeded) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisReadMcaPosInformation( - OUT PNDIS_STATUS Status, - IN NDIS_HANDLE WrapperConfigurationContext, - IN PUINT ChannelNumber, - OUT PNDIS_MCA_POS_DATA McaData) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisRegisterAdapter( - OUT PNDIS_HANDLE NdisAdapterHandle, - IN NDIS_HANDLE NdisMacHandle, - IN NDIS_HANDLE MacAdapterContext, - IN NDIS_HANDLE WrapperConfigurationContext, - IN PNDIS_STRING AdapterName, - IN PVOID AdapterInformation) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisRegisterAdapterShutdownHandler( - IN NDIS_HANDLE NdisAdapterHandle, - IN PVOID ShutdownContext, - IN ADAPTER_SHUTDOWN_HANDLER ShutdownHandler) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - NdisMRegisterAdapterShutdownHandler(NdisAdapterHandle, - ShutdownContext, - ShutdownHandler); -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisReleaseAdapterResources( - IN NDIS_HANDLE NdisAdapterHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisSetupDmaTransfer( - OUT PNDIS_STATUS Status, - IN PNDIS_HANDLE NdisDmaHandle, - IN PNDIS_BUFFER Buffer, - IN ULONG Offset, - IN ULONG Length, - IN BOOLEAN WriteToDevice) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @implemented - */ -#undef NdisUpdateSharedMemory -VOID -EXPORT -NdisUpdateSharedMemory( - IN NDIS_HANDLE NdisAdapterHandle, - IN ULONG Length, - IN PVOID VirtualAddress, - IN NDIS_PHYSICAL_ADDRESS PhysicalAddress) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 4.0 - */ -{ - /* No-op. */ -} - -/* EOF */
Copied: trunk/reactos/drivers/network/ndis/ndis/50stubs.c (from r40113, trunk/reactos/drivers/network/ndis/ndis/stubs.c) URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/5... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/stubs.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/50stubs.c [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -1,8 +1,8 @@ /* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS NDIS library - * FILE: ndis/stubs.c - * PURPOSE: Stubs + * FILE: ndis/50stubs.c + * PURPOSE: NDIS 5.0 Stubs * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net) * REVISIONS: * CSH 01/08-2000 Created @@ -21,133 +21,6 @@ IN NDIS_STATUS Status) { UNIMPLEMENTED -} - - -/* - * @implemented - */ -#undef NdisInterlockedAddUlong -VOID -EXPORT -NdisInterlockedAddUlong ( - IN PULONG Addend, - IN ULONG Increment, - IN PNDIS_SPIN_LOCK SpinLock) -{ - ExInterlockedAddUlong ( Addend, Increment, (PKSPIN_LOCK)SpinLock ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedInsertHeadList -PLIST_ENTRY -EXPORT -NdisInterlockedInsertHeadList( - IN PLIST_ENTRY ListHead, - IN PLIST_ENTRY ListEntry, - IN PNDIS_SPIN_LOCK SpinLock) -{ - return ExInterlockedInsertHeadList ( ListHead, ListEntry, (PKSPIN_LOCK)SpinLock ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedInsertTailList -PLIST_ENTRY -EXPORT -NdisInterlockedInsertTailList( - IN PLIST_ENTRY ListHead, - IN PLIST_ENTRY ListEntry, - IN PNDIS_SPIN_LOCK SpinLock) -{ - return ExInterlockedInsertTailList ( ListHead, ListEntry, (PKSPIN_LOCK)SpinLock ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedRemoveHeadList -PLIST_ENTRY -EXPORT -NdisInterlockedRemoveHeadList( - IN PLIST_ENTRY ListHead, - IN PNDIS_SPIN_LOCK SpinLock) -{ - return ExInterlockedRemoveHeadList ( ListHead, (PKSPIN_LOCK)SpinLock ); -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisMapFile( - OUT PNDIS_STATUS Status, - OUT PVOID * MappedBuffer, - IN NDIS_HANDLE FileHandle) -{ - UNIMPLEMENTED -} - -typedef struct _NDIS_HANDLE_OBJECT -{ - HANDLE FileHandle; - BOOLEAN Mapped; - ULONG FileLength; - PVOID MapBuffer; -} NDIS_HANDLE_OBJECT, *PNDIS_HANDLE_OBJECT; - -__inline -PNDIS_HANDLE_OBJECT -NDIS_HANDLE_TO_POBJECT ( NDIS_HANDLE handle ) -{ - return (PNDIS_HANDLE_OBJECT)handle; -} - -__inline -NDIS_HANDLE -NDIS_POBJECT_TO_HANDLE ( PNDIS_HANDLE_OBJECT obj ) -{ - return (NDIS_HANDLE)obj; -} - -const WCHAR* NDIS_FILE_FOLDER = L"\SystemRoot\System32\Drivers\"; - -/* - * @implemented - */ -VOID -EXPORT -NdisCloseFile( - IN NDIS_HANDLE FileHandle) -{ - PNDIS_HANDLE_OBJECT FileHandleObject; - - ASSERT_IRQL(PASSIVE_LEVEL); - - ASSERT ( FileHandle ); - - FileHandleObject = NDIS_HANDLE_TO_POBJECT(FileHandle); - - ASSERT ( FileHandleObject->FileHandle ); - - /* - if ( FileHandleObject->Mapped ) - NdisUnmapFile ( FileHandle ); - */ - - ZwClose ( FileHandleObject->FileHandle ); - - memset ( FileHandleObject, 0, sizeof(NDIS_HANDLE_OBJECT) ); - - ExFreePool ( FileHandleObject ); }
@@ -240,101 +113,6 @@ IN NDIS_STATUS Status) { UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisOpenFile( - OUT PNDIS_STATUS Status, - OUT PNDIS_HANDLE FileHandle, - OUT PUINT FileLength, - IN PNDIS_STRING FileName, - IN NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress) -{ - NDIS_STRING FullFileName; - OBJECT_ATTRIBUTES ObjectAttributes; - PNDIS_HANDLE_OBJECT FileHandleObject = NULL; - IO_STATUS_BLOCK IoStatusBlock; - - ASSERT_IRQL(PASSIVE_LEVEL); - - *Status = NDIS_STATUS_SUCCESS; - FullFileName.Buffer = NULL; - - ASSERT ( Status && FileName ); - - FullFileName.Length = sizeof(NDIS_FILE_FOLDER); - FullFileName.MaximumLength = FileName->MaximumLength + sizeof(NDIS_FILE_FOLDER); - FullFileName.Buffer = ExAllocatePool ( NonPagedPool, FullFileName.MaximumLength ); - - if ( !FullFileName.Buffer ) - { - *Status = NDIS_STATUS_RESOURCES; - goto cleanup; - } - - FileHandleObject = ExAllocatePool ( NonPagedPool, sizeof(NDIS_HANDLE_OBJECT) ); - if ( !FileHandleObject ) - { - *Status = NDIS_STATUS_RESOURCES; - goto cleanup; - } - memset ( FileHandleObject, 0, sizeof(NDIS_HANDLE_OBJECT) ); - - memmove ( FullFileName.Buffer, NDIS_FILE_FOLDER, FullFileName.Length ); - *Status = RtlAppendUnicodeStringToString ( &FullFileName, FileName ); - if ( !NT_SUCCESS(*Status) ) - { - *Status = NDIS_STATUS_FAILURE; - goto cleanup; - } - - InitializeObjectAttributes ( &ObjectAttributes, - &FullFileName, - OBJ_CASE_INSENSITIVE, - NULL, - NULL ); - - *Status = ZwCreateFile ( - &FileHandleObject->FileHandle, - FILE_READ_DATA|SYNCHRONIZE, - &ObjectAttributes, - &IoStatusBlock, - NULL, // PLARGE_INTEGER AllocationSize - 0, // ULONG FileAttributes - FILE_SHARE_READ, // ULONG ShareAccess - FILE_CREATE, // ULONG CreateDisposition - FILE_SYNCHRONOUS_IO_NONALERT, // ULONG CreateOptions - 0, // PVOID EaBuffer - 0 ); // ULONG EaLength - - if ( !NT_SUCCESS(*Status) ) - { - *Status = NDIS_STATUS_FAILURE; - } - -cleanup: - if ( FullFileName.Buffer != NULL ) - { - ExFreePool ( FullFileName.Buffer ); - FullFileName.Buffer = NULL; - } - if ( !NT_SUCCESS(*Status) ) - { - if( FileHandleObject ) { - ExFreePool ( FileHandleObject ); - FileHandleObject = NULL; - } - *FileHandle = NULL; - } - else - *FileHandle = NDIS_POBJECT_TO_HANDLE(FileHandleObject); - - return; }
@@ -377,30 +155,6 @@
/* - * @implemented - */ -CCHAR -EXPORT -NdisSystemProcessorCount( - VOID) -{ - return (CCHAR)KeNumberProcessors; -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisUnmapFile( - IN NDIS_HANDLE FileHandle) -{ - UNIMPLEMENTED -} - - -/* NdisUpcaseUnicodeString NdisUpdateSharedMemory@4 */ @@ -410,9 +164,6 @@ NdisWriteEventLogEntry */
- - -/* NDIS 5.0 extensions */
/* * @unimplemented @@ -455,53 +206,6 @@
/* - * @implemented - */ -VOID -EXPORT -NdisGetCurrentProcessorCounts( - OUT PULONG pIdleCount, - OUT PULONG pKernelAndUser, - OUT PULONG pIndex) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - ExGetCurrentProcessorCounts( (PULONG) pIdleCount, (PULONG) pKernelAndUser, (PULONG) pIndex); -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisGetDriverHandle( - IN PNDIS_HANDLE NdisBindingHandle, - OUT PNDIS_HANDLE NdisDriverHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - PADAPTER_BINDING Binding = (PADAPTER_BINDING)NdisBindingHandle; - - if (!Binding) - { - *NdisDriverHandle = NULL; - return; - } - - *NdisDriverHandle = Binding->Adapter->NdisMiniportBlock.DriverHandle; -} - - -/* * @unimplemented */ PNDIS_PACKET @@ -519,106 +223,6 @@ UNIMPLEMENTED
return NULL; -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisGetSystemUpTime(OUT PULONG pSystemUpTime) -{ - ULONG Increment; - LARGE_INTEGER TickCount; - - /* Get the increment and current tick count */ - Increment = KeQueryTimeIncrement(); - KeQueryTickCount(&TickCount); - - /* Convert to milliseconds and return */ - TickCount.QuadPart *= Increment; - TickCount.QuadPart /= (10 * 1000); - *pSystemUpTime = TickCount.LowPart; -} - - -/* - * @implemented - */ -#undef NdisInterlockedDecrement -LONG -EXPORT -NdisInterlockedDecrement( - IN PLONG Addend) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - return InterlockedDecrement ( Addend ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedIncrement -LONG -EXPORT -NdisInterlockedIncrement( - IN PLONG Addend) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - return InterlockedIncrement ( Addend ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedPopEntrySList -PSINGLE_LIST_ENTRY -EXPORT -NdisInterlockedPopEntrySList( - IN PSLIST_HEADER ListHead, - IN PKSPIN_LOCK Lock) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - return ExInterlockedPopEntrySList ( ListHead, Lock ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedPushEntrySList -PSINGLE_LIST_ENTRY -EXPORT -NdisInterlockedPushEntrySList( - IN PSLIST_HEADER ListHead, - IN PSINGLE_LIST_ENTRY ListEntry, - IN PKSPIN_LOCK Lock) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - return ExInterlockedPushEntrySList ( ListHead, ListEntry, Lock ); }
@@ -838,8 +442,6 @@ }
-/* NDIS 5.0 extensions for intermediate drivers */ - /* * @unimplemented */ @@ -998,22 +600,123 @@ }
- -VOID -NTAPI -ndisProcWorkItemHandler(PVOID pContext) -{ - PNDIS_WORK_ITEM pNdisItem = (PNDIS_WORK_ITEM)pContext; - pNdisItem->Routine(pNdisItem, pNdisItem->Context); -} - -EXPORT -NDIS_STATUS -NdisScheduleWorkItem( - IN PNDIS_WORK_ITEM pWorkItem) -{ - PWORK_QUEUE_ITEM pntWorkItem = (PWORK_QUEUE_ITEM)pWorkItem->WrapperReserved; - ExInitializeWorkItem(pntWorkItem, ndisProcWorkItemHandler, pWorkItem); - ExQueueWorkItem(pntWorkItem, CriticalWorkQueue); - return NDIS_STATUS_SUCCESS; -} +/* + * @unimplemented + */ +VOID +EXPORT +NdisReturnPackets( + IN PNDIS_PACKET *PacketsToReturn, + IN UINT NumberOfPackets) +/* + * FUNCTION: Releases ownership of one or more packets + * ARGUMENTS: + * PacketsToReturn = Pointer to an array of pointers to packet descriptors + * NumberOfPackets = Number of pointers in descriptor pointer array + */ +{ + UNIMPLEMENTED +} + + +/* + * @unimplemented + */ +UINT +EXPORT +NdisPacketPoolUsage( + IN NDIS_HANDLE PoolHandle) +/* + * FUNCTION: + * ARGUMENTS: + * NOTES: + * NDIS 5.0 + */ +{ + UNIMPLEMENTED + + return 0; +} + + +/* + * @unimplemented + */ +VOID +EXPORT +NdisMDeregisterIoPortRange( + IN NDIS_HANDLE MiniportAdapterHandle, + IN UINT InitialPort, + IN UINT NumberOfPorts, + IN PVOID PortOffset) +/* + * FUNCTION: Releases a register mapping to I/O ports + * ARGUMENTS: + * MiniportAdapterHandle = Specifies handle input to MiniportInitialize + * InitialPort = Bus-relative base port address of a range to be mapped + * NumberOfPorts = Specifies number of ports to be mapped + * PortOffset = Pointer to mapped base port address + */ +{ + UNIMPLEMENTED +} + + +/* + * @unimplemented + */ +NDIS_STATUS +EXPORT +NdisMAllocateSharedMemoryAsync( + IN NDIS_HANDLE MiniportAdapterHandle, + IN ULONG Length, + IN BOOLEAN Cached, + IN PVOID Context) +{ + UNIMPLEMENTED + + return NDIS_STATUS_FAILURE; +} + +/* + * @unimplemented + */ +VOID +EXPORT +NdisCopyBuffer( + OUT PNDIS_STATUS Status, + OUT PNDIS_BUFFER *Buffer, + IN NDIS_HANDLE PoolHandle, + IN PVOID MemoryDescriptor, + IN UINT Offset, + IN UINT Length) +/* + * FUNCTION: Returns a new buffer descriptor for a (partial) buffer + * ARGUMENTS: + * Status = Address of a buffer to place status of operation + * Buffer = Address of a buffer to place new buffer descriptor + * PoolHandle = Handle returned by NdisAllocateBufferPool + * MemoryDescriptor = Pointer to a memory descriptor (possibly NDIS_BUFFER) + * Offset = Offset in buffer to start copying + * Length = Number of bytes to copy + */ +{ + *Status = NDIS_STATUS_FAILURE; +} + + +/* + * @unimplemented + */ +VOID +EXPORT +NdisGetCurrentProcessorCpuUsage( + PULONG pCpuUsage) +/* + * FUNCTION: Returns how busy the current processor is as a percentage + * ARGUMENTS: + * pCpuUsage = Pointer to a buffer to place CPU usage + */ +{ + UNIMPLEMENTED +}
Modified: trunk/reactos/drivers/network/ndis/ndis/buffer.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/b... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/buffer.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/buffer.c [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -582,33 +582,6 @@
/* - * @unimplemented - */ -VOID -EXPORT -NdisCopyBuffer( - OUT PNDIS_STATUS Status, - OUT PNDIS_BUFFER *Buffer, - IN NDIS_HANDLE PoolHandle, - IN PVOID MemoryDescriptor, - IN UINT Offset, - IN UINT Length) -/* - * FUNCTION: Returns a new buffer descriptor for a (partial) buffer - * ARGUMENTS: - * Status = Address of a buffer to place status of operation - * Buffer = Address of a buffer to place new buffer descriptor - * PoolHandle = Handle returned by NdisAllocateBufferPool - * MemoryDescriptor = Pointer to a memory descriptor (possibly NDIS_BUFFER) - * Offset = Offset in buffer to start copying - * Length = Number of bytes to copy - */ -{ - *Status = NDIS_STATUS_FAILURE; -} - - -/* * @implemented */ VOID @@ -976,45 +949,6 @@
/* - * @unimplemented - */ -VOID -EXPORT -NdisReturnPackets( - IN PNDIS_PACKET *PacketsToReturn, - IN UINT NumberOfPackets) -/* - * FUNCTION: Releases ownership of one or more packets - * ARGUMENTS: - * PacketsToReturn = Pointer to an array of pointers to packet descriptors - * NumberOfPackets = Number of pointers in descriptor pointer array - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -UINT -EXPORT -NdisPacketPoolUsage( - IN NDIS_HANDLE PoolHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return 0; -} - - -/* * @implemented */ #undef NdisQueryBuffer
Modified: trunk/reactos/drivers/network/ndis/ndis/control.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/c... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/control.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/control.c [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -218,23 +218,6 @@ /* Nothing to do here! */ }
- -/* - * @unimplemented - */ -VOID -EXPORT -NdisGetCurrentProcessorCpuUsage( - PULONG pCpuUsage) -/* - * FUNCTION: Returns how busy the current processor is as a percentage - * ARGUMENTS: - * pCpuUsage = Pointer to a buffer to place CPU usage - */ -{ - UNIMPLEMENTED -} -
/* * @implemented
Modified: trunk/reactos/drivers/network/ndis/ndis/hardware.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/h... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/hardware.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/hardware.c [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -152,37 +152,6 @@ return NDIS_STATUS_NOT_SUPPORTED; }
- -/* - * @unimplemented - */ -VOID -EXPORT -NdisReadEisaSlotInformation( - OUT PNDIS_STATUS Status, - IN NDIS_HANDLE WrapperConfigurationContext, - OUT PUINT SlotNumber, - OUT PNDIS_EISA_FUNCTION_INFORMATION EisaData) -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisReadEisaSlotInformationEx( - OUT PNDIS_STATUS Status, - IN NDIS_HANDLE WrapperConfigurationContext, - OUT PUINT SlotNumber, - OUT PNDIS_EISA_FUNCTION_INFORMATION *EisaData, - OUT PUINT NumberOfFunctions) -{ - UNIMPLEMENTED -} -
/* * @implemented
Modified: trunk/reactos/drivers/network/ndis/ndis/io.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/i... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/io.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/io.c [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -527,29 +527,6 @@
/* - * @unimplemented - */ -VOID -EXPORT -NdisMDeregisterIoPortRange( - IN NDIS_HANDLE MiniportAdapterHandle, - IN UINT InitialPort, - IN UINT NumberOfPorts, - IN PVOID PortOffset) -/* - * FUNCTION: Releases a register mapping to I/O ports - * ARGUMENTS: - * MiniportAdapterHandle = Specifies handle input to MiniportInitialize - * InitialPort = Bus-relative base port address of a range to be mapped - * NumberOfPorts = Specifies number of ports to be mapped - * PortOffset = Pointer to mapped base port address - */ -{ - NDIS_DbgPrint(MAX_TRACE, ("called - IMPLEMENT ME.\n")); -} - - -/* * @implemented */ VOID @@ -971,5 +948,31 @@ return NDIS_STATUS_SUCCESS; }
+ +/* + * @implemented + */ +VOID +EXPORT +NdisMapIoSpace( + OUT PNDIS_STATUS Status, + OUT PVOID *VirtualAddress, + IN NDIS_HANDLE NdisAdapterHandle, + IN NDIS_PHYSICAL_ADDRESS PhysicalAddress, + IN UINT Length) +/* + * FUNCTION: + * ARGUMENTS: + * NOTES: + * NDIS 4.0 + */ +{ + *Status = NdisMMapIoSpace(VirtualAddress, + NdisAdapterHandle, + PhysicalAddress, + Length); +} + + /* EOF */
Modified: trunk/reactos/drivers/network/ndis/ndis/memory.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/m... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/memory.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/memory.c [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -137,36 +137,6 @@
/* - * @unimplemented - */ -VOID -EXPORT -NdisImmediateReadSharedMemory( - IN NDIS_HANDLE WrapperConfigurationContext, - IN ULONG SharedMemoryAddress, - OUT PUCHAR Buffer, - IN ULONG Length) -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisImmediateWriteSharedMemory( - IN NDIS_HANDLE WrapperConfigurationContext, - IN ULONG SharedMemoryAddress, - IN PUCHAR Buffer, - IN ULONG Length) -{ - UNIMPLEMENTED -} - - -/* * @implemented */ VOID @@ -198,24 +168,6 @@ }
-/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisMAllocateSharedMemoryAsync( - IN NDIS_HANDLE MiniportAdapterHandle, - IN ULONG Length, - IN BOOLEAN Cached, - IN PVOID Context) -{ - NDIS_DbgPrint(MAX_TRACE, ("Called.\n")); - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - VOID NTAPI NdisMFreeSharedMemoryPassive( @@ -293,5 +245,52 @@ ZwClose(ThreadHandle); }
+ +/* + * @implemented + */ +VOID +EXPORT +NdisAllocateSharedMemory( + IN NDIS_HANDLE NdisAdapterHandle, + IN ULONG Length, + IN BOOLEAN Cached, + OUT PVOID *VirtualAddress, + OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress) +{ + NdisMAllocateSharedMemory(NdisAdapterHandle, + Length, + Cached, + VirtualAddress, + PhysicalAddress); +} + + +/* + * @implemented + */ +VOID +EXPORT +NdisFreeSharedMemory( + IN NDIS_HANDLE NdisAdapterHandle, + IN ULONG Length, + IN BOOLEAN Cached, + IN PVOID VirtualAddress, + IN NDIS_PHYSICAL_ADDRESS PhysicalAddress) +/* + * FUNCTION: + * ARGUMENTS: + * NOTES: + * NDIS 4.0 + */ +{ + NdisMFreeSharedMemory(NdisAdapterHandle, + Length, + Cached, + VirtualAddress, + PhysicalAddress); +} + + /* EOF */
Modified: trunk/reactos/drivers/network/ndis/ndis/miniport.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/m... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/miniport.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/miniport.c [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -2491,5 +2491,44 @@ return NDIS_STATUS_SUCCESS; }
+/* + * @implemented + */ +VOID +EXPORT +NdisDeregisterAdapterShutdownHandler( + IN NDIS_HANDLE NdisAdapterHandle) +/* + * FUNCTION: + * ARGUMENTS: + * NOTES: + * NDIS 4.0 + */ +{ + NdisMDeregisterAdapterShutdownHandler(NdisAdapterHandle); +} + + +/* + * @implemented + */ +VOID +EXPORT +NdisRegisterAdapterShutdownHandler( + IN NDIS_HANDLE NdisAdapterHandle, + IN PVOID ShutdownContext, + IN ADAPTER_SHUTDOWN_HANDLER ShutdownHandler) +/* + * FUNCTION: + * ARGUMENTS: + * NOTES: + * NDIS 4.0 + */ +{ + NdisMRegisterAdapterShutdownHandler(NdisAdapterHandle, + ShutdownContext, + ShutdownHandler); +} + /* EOF */
Added: trunk/reactos/drivers/network/ndis/ndis/misc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/m... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/misc.c (added) +++ trunk/reactos/drivers/network/ndis/ndis/misc.c [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -1,0 +1,408 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS NDIS library + * FILE: ndis/misc.c + */ + +#include "ndissys.h" + +/* + * @implemented + */ +#undef NdisInterlockedAddUlong +VOID +EXPORT +NdisInterlockedAddUlong ( + IN PULONG Addend, + IN ULONG Increment, + IN PNDIS_SPIN_LOCK SpinLock) +{ + ExInterlockedAddUlong ( Addend, Increment, (PKSPIN_LOCK)SpinLock ); +} + + +/* + * @implemented + */ +#undef NdisInterlockedInsertHeadList +PLIST_ENTRY +EXPORT +NdisInterlockedInsertHeadList( + IN PLIST_ENTRY ListHead, + IN PLIST_ENTRY ListEntry, + IN PNDIS_SPIN_LOCK SpinLock) +{ + return ExInterlockedInsertHeadList ( ListHead, ListEntry, (PKSPIN_LOCK)SpinLock ); +} + + +/* + * @implemented + */ +#undef NdisInterlockedInsertTailList +PLIST_ENTRY +EXPORT +NdisInterlockedInsertTailList( + IN PLIST_ENTRY ListHead, + IN PLIST_ENTRY ListEntry, + IN PNDIS_SPIN_LOCK SpinLock) +{ + return ExInterlockedInsertTailList ( ListHead, ListEntry, (PKSPIN_LOCK)SpinLock ); +} + + +/* + * @implemented + */ +#undef NdisInterlockedRemoveHeadList +PLIST_ENTRY +EXPORT +NdisInterlockedRemoveHeadList( + IN PLIST_ENTRY ListHead, + IN PNDIS_SPIN_LOCK SpinLock) +{ + return ExInterlockedRemoveHeadList ( ListHead, (PKSPIN_LOCK)SpinLock ); +} + +typedef struct _NDIS_HANDLE_OBJECT +{ + HANDLE FileHandle; + BOOLEAN Mapped; + ULONG FileLength; + PVOID MapBuffer; +} NDIS_HANDLE_OBJECT, *PNDIS_HANDLE_OBJECT; + +__inline +PNDIS_HANDLE_OBJECT +NDIS_HANDLE_TO_POBJECT ( NDIS_HANDLE handle ) +{ + return (PNDIS_HANDLE_OBJECT)handle; +} + +__inline +NDIS_HANDLE +NDIS_POBJECT_TO_HANDLE ( PNDIS_HANDLE_OBJECT obj ) +{ + return (NDIS_HANDLE)obj; +} + +const WCHAR* NDIS_FILE_FOLDER = L"\SystemRoot\System32\Drivers\"; + +/* + * @implemented + */ +VOID +EXPORT +NdisMapFile( + OUT PNDIS_STATUS Status, + OUT PVOID *MappedBuffer, + IN NDIS_HANDLE FileHandle) +{ + PNDIS_HANDLE_OBJECT HandleObject = (PNDIS_HANDLE_OBJECT) FileHandle; + + NDIS_DbgPrint(MAX_TRACE, ("called: FileHandle 0x%x\n", FileHandle)); + + if (HandleObject->Mapped) + { + /* If a file already mapped we will return an error code */ + *Status = NDIS_STATUS_ALREADY_MAPPED; + return; + } + + HandleObject->Mapped = TRUE; + *MappedBuffer = HandleObject->MapBuffer; + + /* Set returned status */ + *Status = STATUS_SUCCESS; +} + +/* + * @implemented + */ +VOID +EXPORT +NdisCloseFile( + IN NDIS_HANDLE FileHandle) +{ + PNDIS_HANDLE_OBJECT FileHandleObject; + + ASSERT_IRQL(PASSIVE_LEVEL); + + ASSERT ( FileHandle ); + + FileHandleObject = NDIS_HANDLE_TO_POBJECT(FileHandle); + + ASSERT ( FileHandleObject->FileHandle ); + + /* + if ( FileHandleObject->Mapped ) + NdisUnmapFile ( FileHandle ); + */ + + ZwClose ( FileHandleObject->FileHandle ); + + memset ( FileHandleObject, 0, sizeof(NDIS_HANDLE_OBJECT) ); + + ExFreePool ( FileHandleObject ); +} + + +/* + * @implemented + */ +VOID +EXPORT +NdisOpenFile( + OUT PNDIS_STATUS Status, + OUT PNDIS_HANDLE FileHandle, + OUT PUINT FileLength, + IN PNDIS_STRING FileName, + IN NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress) +{ + NDIS_STRING FullFileName; + OBJECT_ATTRIBUTES ObjectAttributes; + PNDIS_HANDLE_OBJECT FileHandleObject = NULL; + IO_STATUS_BLOCK IoStatusBlock; + + ASSERT_IRQL(PASSIVE_LEVEL); + + *Status = NDIS_STATUS_SUCCESS; + FullFileName.Buffer = NULL; + + ASSERT ( Status && FileName ); + + FullFileName.Length = sizeof(NDIS_FILE_FOLDER); + FullFileName.MaximumLength = FileName->MaximumLength + sizeof(NDIS_FILE_FOLDER); + FullFileName.Buffer = ExAllocatePool ( NonPagedPool, FullFileName.MaximumLength ); + + if ( !FullFileName.Buffer ) + { + *Status = NDIS_STATUS_RESOURCES; + goto cleanup; + } + + FileHandleObject = ExAllocatePool ( NonPagedPool, sizeof(NDIS_HANDLE_OBJECT) ); + if ( !FileHandleObject ) + { + *Status = NDIS_STATUS_RESOURCES; + goto cleanup; + } + memset ( FileHandleObject, 0, sizeof(NDIS_HANDLE_OBJECT) ); + + memmove ( FullFileName.Buffer, NDIS_FILE_FOLDER, FullFileName.Length ); + *Status = RtlAppendUnicodeStringToString ( &FullFileName, FileName ); + if ( !NT_SUCCESS(*Status) ) + { + *Status = NDIS_STATUS_FAILURE; + goto cleanup; + } + + InitializeObjectAttributes ( &ObjectAttributes, + &FullFileName, + OBJ_CASE_INSENSITIVE, + NULL, + NULL ); + + *Status = ZwCreateFile ( + &FileHandleObject->FileHandle, + FILE_READ_DATA|SYNCHRONIZE, + &ObjectAttributes, + &IoStatusBlock, + NULL, // PLARGE_INTEGER AllocationSize + 0, // ULONG FileAttributes + FILE_SHARE_READ, // ULONG ShareAccess + FILE_CREATE, // ULONG CreateDisposition + FILE_SYNCHRONOUS_IO_NONALERT, // ULONG CreateOptions + 0, // PVOID EaBuffer + 0 ); // ULONG EaLength + + if ( !NT_SUCCESS(*Status) ) + { + *Status = NDIS_STATUS_FAILURE; + } + +cleanup: + if ( FullFileName.Buffer != NULL ) + { + ExFreePool ( FullFileName.Buffer ); + FullFileName.Buffer = NULL; + } + if ( !NT_SUCCESS(*Status) ) + { + if( FileHandleObject ) { + ExFreePool ( FileHandleObject ); + FileHandleObject = NULL; + } + *FileHandle = NULL; + } + else + *FileHandle = NDIS_POBJECT_TO_HANDLE(FileHandleObject); + + return; +} + +/* + * @implemented + */ +CCHAR +EXPORT +NdisSystemProcessorCount( + VOID) +{ + return (CCHAR)KeNumberProcessors; +} + + +/* + * @implemented + */ +VOID +EXPORT +NdisUnmapFile( + IN NDIS_HANDLE FileHandle) +{ + PNDIS_HANDLE_OBJECT HandleObject = (PNDIS_HANDLE_OBJECT) FileHandle; + + HandleObject->Mapped = FALSE; +} + + +/* + * @implemented + */ +VOID +EXPORT +NdisGetCurrentProcessorCounts( + OUT PULONG pIdleCount, + OUT PULONG pKernelAndUser, + OUT PULONG pIndex) +/* + * FUNCTION: + * ARGUMENTS: + * NOTES: + * NDIS 5.0 + */ +{ + ExGetCurrentProcessorCounts( (PULONG) pIdleCount, (PULONG) pKernelAndUser, (PULONG) pIndex); +} + + +/* + * @implemented + */ +VOID +EXPORT +NdisGetSystemUpTime(OUT PULONG pSystemUpTime) +{ + ULONG Increment; + LARGE_INTEGER TickCount; + + /* Get the increment and current tick count */ + Increment = KeQueryTimeIncrement(); + KeQueryTickCount(&TickCount); + + /* Convert to milliseconds and return */ + TickCount.QuadPart *= Increment; + TickCount.QuadPart /= (10 * 1000); + *pSystemUpTime = TickCount.LowPart; +} + +/* + * @implemented + */ +#undef NdisInterlockedDecrement +LONG +EXPORT +NdisInterlockedDecrement( + IN PLONG Addend) +/* + * FUNCTION: + * ARGUMENTS: + * NOTES: + * NDIS 5.0 + */ +{ + return InterlockedDecrement ( Addend ); +} + + +/* + * @implemented + */ +#undef NdisInterlockedIncrement +LONG +EXPORT +NdisInterlockedIncrement( + IN PLONG Addend) +/* + * FUNCTION: + * ARGUMENTS: + * NOTES: + * NDIS 5.0 + */ +{ + return InterlockedIncrement ( Addend ); +} + + +/* + * @implemented + */ +#undef NdisInterlockedPopEntrySList +PSINGLE_LIST_ENTRY +EXPORT +NdisInterlockedPopEntrySList( + IN PSLIST_HEADER ListHead, + IN PKSPIN_LOCK Lock) +/* + * FUNCTION: + * ARGUMENTS: + * NOTES: + * NDIS 5.0 + */ +{ + return ExInterlockedPopEntrySList ( ListHead, Lock ); +} + + +/* + * @implemented + */ +#undef NdisInterlockedPushEntrySList +PSINGLE_LIST_ENTRY +EXPORT +NdisInterlockedPushEntrySList( + IN PSLIST_HEADER ListHead, + IN PSINGLE_LIST_ENTRY ListEntry, + IN PKSPIN_LOCK Lock) +/* + * FUNCTION: + * ARGUMENTS: + * NOTES: + * NDIS 5.0 + */ +{ + return ExInterlockedPushEntrySList ( ListHead, ListEntry, Lock ); +} + + +VOID +NTAPI +ndisProcWorkItemHandler(PVOID pContext) +{ + PNDIS_WORK_ITEM pNdisItem = (PNDIS_WORK_ITEM)pContext; + pNdisItem->Routine(pNdisItem, pNdisItem->Context); +} + +EXPORT +NDIS_STATUS +NdisScheduleWorkItem( + IN PNDIS_WORK_ITEM pWorkItem) +{ + PWORK_QUEUE_ITEM pntWorkItem = (PWORK_QUEUE_ITEM)pWorkItem->WrapperReserved; + ExInitializeWorkItem(pntWorkItem, ndisProcWorkItemHandler, pWorkItem); + ExQueueWorkItem(pntWorkItem, CriticalWorkQueue); + return NDIS_STATUS_SUCCESS; +} + +/* EOF */
Propchange: trunk/reactos/drivers/network/ndis/ndis/misc.c ------------------------------------------------------------------------------ svn:eol-style = native
Propchange: trunk/reactos/drivers/network/ndis/ndis/misc.c ------------------------------------------------------------------------------ svn:keywords = author date id revision
Modified: trunk/reactos/drivers/network/ndis/ndis/protocol.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/p... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/protocol.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/protocol.c [iso-8859-1] Sat Mar 21 00:29:53 2009 @@ -980,4 +980,31 @@ ndisBindMiniportsToProtocol(&NdisStatus, &Protocol->Chars); }
+ +/* + * @implemented + */ +VOID +EXPORT +NdisGetDriverHandle( + IN PNDIS_HANDLE NdisBindingHandle, + OUT PNDIS_HANDLE NdisDriverHandle) +/* + * FUNCTION: + * ARGUMENTS: + * NOTES: + * NDIS 5.0 + */ +{ + PADAPTER_BINDING Binding = (PADAPTER_BINDING)NdisBindingHandle; + + if (!Binding) + { + *NdisDriverHandle = NULL; + return; + } + + *NdisDriverHandle = Binding->Adapter->NdisMiniportBlock.DriverHandle; +} + /* EOF */
Removed: trunk/reactos/drivers/network/ndis/ndis/stubs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/s... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/stubs.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/stubs.c (removed) @@ -1,1035 +1,0 @@ -/* - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS NDIS library - * FILE: ndis/stubs.c - * PURPOSE: Stubs - * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net) - * REVISIONS: - * CSH 01/08-2000 Created - */ - -#include "ndissys.h" - -/* - * @unimplemented - */ -VOID -EXPORT -NdisCompleteQueryStatistics( - IN NDIS_HANDLE NdisAdapterHandle, - IN PNDIS_REQUEST NdisRequest, - IN NDIS_STATUS Status) -{ - UNIMPLEMENTED -} - - -/* - * @implemented - */ -#undef NdisInterlockedAddUlong -VOID -EXPORT -NdisInterlockedAddUlong ( - IN PULONG Addend, - IN ULONG Increment, - IN PNDIS_SPIN_LOCK SpinLock) -{ - ExInterlockedAddUlong ( Addend, Increment, (PKSPIN_LOCK)SpinLock ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedInsertHeadList -PLIST_ENTRY -EXPORT -NdisInterlockedInsertHeadList( - IN PLIST_ENTRY ListHead, - IN PLIST_ENTRY ListEntry, - IN PNDIS_SPIN_LOCK SpinLock) -{ - return ExInterlockedInsertHeadList ( ListHead, ListEntry, (PKSPIN_LOCK)SpinLock ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedInsertTailList -PLIST_ENTRY -EXPORT -NdisInterlockedInsertTailList( - IN PLIST_ENTRY ListHead, - IN PLIST_ENTRY ListEntry, - IN PNDIS_SPIN_LOCK SpinLock) -{ - return ExInterlockedInsertTailList ( ListHead, ListEntry, (PKSPIN_LOCK)SpinLock ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedRemoveHeadList -PLIST_ENTRY -EXPORT -NdisInterlockedRemoveHeadList( - IN PLIST_ENTRY ListHead, - IN PNDIS_SPIN_LOCK SpinLock) -{ - return ExInterlockedRemoveHeadList ( ListHead, (PKSPIN_LOCK)SpinLock ); -} - -typedef struct _NDIS_HANDLE_OBJECT -{ - HANDLE FileHandle; - BOOLEAN Mapped; - ULONG FileLength; - PVOID MapBuffer; -} NDIS_HANDLE_OBJECT, *PNDIS_HANDLE_OBJECT; - -__inline -PNDIS_HANDLE_OBJECT -NDIS_HANDLE_TO_POBJECT ( NDIS_HANDLE handle ) -{ - return (PNDIS_HANDLE_OBJECT)handle; -} - -__inline -NDIS_HANDLE -NDIS_POBJECT_TO_HANDLE ( PNDIS_HANDLE_OBJECT obj ) -{ - return (NDIS_HANDLE)obj; -} - -const WCHAR* NDIS_FILE_FOLDER = L"\SystemRoot\System32\Drivers\"; - -/* - * @implemented - */ -VOID -EXPORT -NdisMapFile( - OUT PNDIS_STATUS Status, - OUT PVOID *MappedBuffer, - IN NDIS_HANDLE FileHandle) -{ - PNDIS_HANDLE_OBJECT HandleObject = (PNDIS_HANDLE_OBJECT) FileHandle; - - NDIS_DbgPrint(MAX_TRACE, ("called: FileHandle 0x%x\n", FileHandle)); - - if (HandleObject->Mapped) - { - /* If a file already mapped we will return an error code */ - *Status = NDIS_STATUS_ALREADY_MAPPED; - return; - } - - HandleObject->Mapped = TRUE; - *MappedBuffer = HandleObject->MapBuffer; - - /* Set returned status */ - *Status = STATUS_SUCCESS; -} - -/* - * @implemented - */ -VOID -EXPORT -NdisCloseFile( - IN NDIS_HANDLE FileHandle) -{ - PNDIS_HANDLE_OBJECT FileHandleObject; - - ASSERT_IRQL(PASSIVE_LEVEL); - - ASSERT ( FileHandle ); - - FileHandleObject = NDIS_HANDLE_TO_POBJECT(FileHandle); - - ASSERT ( FileHandleObject->FileHandle ); - - /* - if ( FileHandleObject->Mapped ) - NdisUnmapFile ( FileHandle ); - */ - - ZwClose ( FileHandleObject->FileHandle ); - - memset ( FileHandleObject, 0, sizeof(NDIS_HANDLE_OBJECT) ); - - ExFreePool ( FileHandleObject ); -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisIMDeInitializeDeviceInstance( - IN NDIS_HANDLE NdisMiniportHandle) -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -#undef NdisIMInitializeDeviceInstance -NDIS_STATUS -EXPORT -NdisIMInitializeDeviceInstance( - IN NDIS_HANDLE DriverHandle, - IN PNDIS_STRING DeviceInstance) -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisIMRegisterLayeredMiniport( - IN NDIS_HANDLE NdisWrapperHandle, - IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics, - IN UINT CharacteristicsLength, - OUT PNDIS_HANDLE DriverHandle) -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -#undef NdisMWanIndicateReceive -VOID -EXPORT -NdisMWanIndicateReceive( - OUT PNDIS_STATUS Status, - IN NDIS_HANDLE MiniportAdapterHandle, - IN NDIS_HANDLE NdisLinkContext, - IN PUCHAR PacketBuffer, - IN UINT PacketSize) -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -#undef NdisMWanIndicateReceiveComplete -VOID -EXPORT -NdisMWanIndicateReceiveComplete( - IN NDIS_HANDLE MiniportAdapterHandle) -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -#undef NdisMWanSendComplete -VOID -EXPORT -NdisMWanSendComplete( - IN NDIS_HANDLE MiniportAdapterHandle, - IN PNDIS_WAN_PACKET Packet, - IN NDIS_STATUS Status) -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisOpenFile( - OUT PNDIS_STATUS Status, - OUT PNDIS_HANDLE FileHandle, - OUT PUINT FileLength, - IN PNDIS_STRING FileName, - IN NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress) -{ - NDIS_STRING FullFileName; - OBJECT_ATTRIBUTES ObjectAttributes; - PNDIS_HANDLE_OBJECT FileHandleObject = NULL; - IO_STATUS_BLOCK IoStatusBlock; - - ASSERT_IRQL(PASSIVE_LEVEL); - - *Status = NDIS_STATUS_SUCCESS; - FullFileName.Buffer = NULL; - - ASSERT ( Status && FileName ); - - FullFileName.Length = sizeof(NDIS_FILE_FOLDER); - FullFileName.MaximumLength = FileName->MaximumLength + sizeof(NDIS_FILE_FOLDER); - FullFileName.Buffer = ExAllocatePool ( NonPagedPool, FullFileName.MaximumLength ); - - if ( !FullFileName.Buffer ) - { - *Status = NDIS_STATUS_RESOURCES; - goto cleanup; - } - - FileHandleObject = ExAllocatePool ( NonPagedPool, sizeof(NDIS_HANDLE_OBJECT) ); - if ( !FileHandleObject ) - { - *Status = NDIS_STATUS_RESOURCES; - goto cleanup; - } - memset ( FileHandleObject, 0, sizeof(NDIS_HANDLE_OBJECT) ); - - memmove ( FullFileName.Buffer, NDIS_FILE_FOLDER, FullFileName.Length ); - *Status = RtlAppendUnicodeStringToString ( &FullFileName, FileName ); - if ( !NT_SUCCESS(*Status) ) - { - *Status = NDIS_STATUS_FAILURE; - goto cleanup; - } - - InitializeObjectAttributes ( &ObjectAttributes, - &FullFileName, - OBJ_CASE_INSENSITIVE, - NULL, - NULL ); - - *Status = ZwCreateFile ( - &FileHandleObject->FileHandle, - FILE_READ_DATA|SYNCHRONIZE, - &ObjectAttributes, - &IoStatusBlock, - NULL, // PLARGE_INTEGER AllocationSize - 0, // ULONG FileAttributes - FILE_SHARE_READ, // ULONG ShareAccess - FILE_CREATE, // ULONG CreateDisposition - FILE_SYNCHRONOUS_IO_NONALERT, // ULONG CreateOptions - 0, // PVOID EaBuffer - 0 ); // ULONG EaLength - - if ( !NT_SUCCESS(*Status) ) - { - *Status = NDIS_STATUS_FAILURE; - } - -cleanup: - if ( FullFileName.Buffer != NULL ) - { - ExFreePool ( FullFileName.Buffer ); - FullFileName.Buffer = NULL; - } - if ( !NT_SUCCESS(*Status) ) - { - if( FileHandleObject ) { - ExFreePool ( FileHandleObject ); - FileHandleObject = NULL; - } - *FileHandle = NULL; - } - else - *FileHandle = NDIS_POBJECT_TO_HANDLE(FileHandleObject); - - return; -} - - -/* -NdisOpenGlobalConfiguration -*/ - -#if 0 -VOID -EXPORT -NdisRegisterTdiCallBack( - IN TDI_REGISTER_CALLBACK RegsterCallback) -{ - UNIMPLEMENTED -} -#endif - - -/* -NdisScheduleWorkItem -*/ - - -#if 0 -VOID -EXPORT -NdisSetProtocolFilter( - OUT PNDIS_STATUS Status, - IN NDIS_HANDLE NdisBindingHandle, - IN RECEIVE_HANDLER ReceiveHandler, - IN RECEIVE_PACKET_HANDLER ReceivePacketHandler, - IN NDIS_MEDIUM Medium, - IN UINT Offset, - IN UINT Size, - IN PUCHAR Pattern) -{ - UNIMPLEMENTED -} -#endif - - -/* - * @implemented - */ -CCHAR -EXPORT -NdisSystemProcessorCount( - VOID) -{ - return (CCHAR)KeNumberProcessors; -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisUnmapFile( - IN NDIS_HANDLE FileHandle) -{ - PNDIS_HANDLE_OBJECT HandleObject = (PNDIS_HANDLE_OBJECT) FileHandle; - - HandleObject->Mapped = FALSE; -} - - -/* -NdisUpcaseUnicodeString -NdisUpdateSharedMemory@4 -*/ - - -/* -NdisWriteEventLogEntry -*/ - - - -/* NDIS 5.0 extensions */ - -/* - * @unimplemented - */ -VOID -EXPORT -NdisCompletePnPEvent( - IN NDIS_STATUS Status, - IN NDIS_HANDLE NdisBindingHandle, - IN PNET_PNP_EVENT NetPnPEvent) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisConvertStringToAtmAddress( - OUT PNDIS_STATUS Status, - IN PNDIS_STRING String, - OUT PATM_ADDRESS AtmAddress) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisGetCurrentProcessorCounts( - OUT PULONG pIdleCount, - OUT PULONG pKernelAndUser, - OUT PULONG pIndex) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - ExGetCurrentProcessorCounts( (PULONG) pIdleCount, (PULONG) pKernelAndUser, (PULONG) pIndex); -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisGetDriverHandle( - IN PNDIS_HANDLE NdisBindingHandle, - OUT PNDIS_HANDLE NdisDriverHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - PADAPTER_BINDING Binding = (PADAPTER_BINDING)NdisBindingHandle; - - if (!Binding) - { - *NdisDriverHandle = NULL; - return; - } - - *NdisDriverHandle = Binding->Adapter->NdisMiniportBlock.DriverHandle; -} - - -/* - * @unimplemented - */ -PNDIS_PACKET -EXPORT -NdisGetReceivedPacket( - IN PNDIS_HANDLE NdisBindingHandle, - IN PNDIS_HANDLE MacContext) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return NULL; -} - - -/* - * @implemented - */ -VOID -EXPORT -NdisGetSystemUpTime(OUT PULONG pSystemUpTime) -{ - ULONG Increment; - LARGE_INTEGER TickCount; - - /* Get the increment and current tick count */ - Increment = KeQueryTimeIncrement(); - KeQueryTickCount(&TickCount); - - /* Convert to milliseconds and return */ - TickCount.QuadPart *= Increment; - TickCount.QuadPart /= (10 * 1000); - *pSystemUpTime = TickCount.LowPart; -} - - -/* - * @implemented - */ -#undef NdisInterlockedDecrement -LONG -EXPORT -NdisInterlockedDecrement( - IN PLONG Addend) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - return InterlockedDecrement ( Addend ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedIncrement -LONG -EXPORT -NdisInterlockedIncrement( - IN PLONG Addend) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - return InterlockedIncrement ( Addend ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedPopEntrySList -PSINGLE_LIST_ENTRY -EXPORT -NdisInterlockedPopEntrySList( - IN PSLIST_HEADER ListHead, - IN PKSPIN_LOCK Lock) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - return ExInterlockedPopEntrySList ( ListHead, Lock ); -} - - -/* - * @implemented - */ -#undef NdisInterlockedPushEntrySList -PSINGLE_LIST_ENTRY -EXPORT -NdisInterlockedPushEntrySList( - IN PSLIST_HEADER ListHead, - IN PSINGLE_LIST_ENTRY ListEntry, - IN PKSPIN_LOCK Lock) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - return ExInterlockedPushEntrySList ( ListHead, ListEntry, Lock ); -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisMDeregisterDevice( - IN NDIS_HANDLE NdisDeviceHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisMGetDeviceProperty( - IN NDIS_HANDLE MiniportAdapterHandle, - IN OUT PDEVICE_OBJECT *PhysicalDeviceObject OPTIONAL, - IN OUT PDEVICE_OBJECT *FunctionalDeviceObject OPTIONAL, - IN OUT PDEVICE_OBJECT *NextDeviceObject OPTIONAL, - IN OUT PCM_RESOURCE_LIST *AllocatedResources OPTIONAL, - IN OUT PCM_RESOURCE_LIST *AllocatedResourcesTranslated OPTIONAL) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisMPromoteMiniport( - IN NDIS_HANDLE MiniportAdapterHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisMRegisterDevice( - IN NDIS_HANDLE NdisWrapperHandle, - IN PNDIS_STRING DeviceName, - IN PNDIS_STRING SymbolicName, - IN PDRIVER_DISPATCH MajorFunctions[], - OUT PDEVICE_OBJECT *pDeviceObject, - OUT NDIS_HANDLE *NdisDeviceHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisMRegisterUnloadHandler( - IN NDIS_HANDLE NdisWrapperHandle, - IN PDRIVER_UNLOAD UnloadHandler) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisMRemoveMiniport( - IN NDIS_HANDLE MiniportAdapterHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisMSetMiniportSecondary( - IN NDIS_HANDLE MiniportAdapterHandle, - IN NDIS_HANDLE PrimaryMiniportAdapterHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisQueryAdapterInstanceName( - OUT PNDIS_STRING AdapterInstanceName, - IN NDIS_HANDLE NdisBindingHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -ULONG -EXPORT -NdisReadPcmciaAttributeMemory( - IN NDIS_HANDLE NdisAdapterHandle, - IN ULONG Offset, - IN PVOID Buffer, - IN ULONG Length) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return 0; -} - - -/* - * @unimplemented - */ -ULONG -EXPORT -NdisWritePcmciaAttributeMemory( - IN NDIS_HANDLE NdisAdapterHandle, - IN ULONG Offset, - IN PVOID Buffer, - IN ULONG Length) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return 0; -} - - -/* NDIS 5.0 extensions for intermediate drivers */ - -/* - * @unimplemented - */ -VOID -EXPORT -NdisIMAssociateMiniport( - IN NDIS_HANDLE DriverHandle, - IN NDIS_HANDLE ProtocolHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisIMCancelInitializeDeviceInstance( - IN NDIS_HANDLE DriverHandle, - IN PNDIS_STRING DeviceInstance) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisIMCopySendCompletePerPacketInfo( - IN PNDIS_PACKET DstPacket, - IN PNDIS_PACKET SrcPacket) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisIMCopySendPerPacketInfo( - IN PNDIS_PACKET DstPacket, - IN PNDIS_PACKET SrcPacket) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -VOID -EXPORT -NdisIMDeregisterLayeredMiniport( - IN NDIS_HANDLE DriverHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED -} - - -/* - * @unimplemented - */ -NDIS_HANDLE -EXPORT -NdisIMGetBindingContext( - IN NDIS_HANDLE NdisBindingHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return (NDIS_HANDLE)NULL; -} - - -/* - * @unimplemented - */ -NDIS_HANDLE -EXPORT -NdisIMGetDeviceContext( - IN NDIS_HANDLE MiniportAdapterHandle) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return (NDIS_HANDLE)NULL; -} - - -/* - * @unimplemented - */ -NDIS_STATUS -EXPORT -NdisIMInitializeDeviceInstanceEx( - IN NDIS_HANDLE DriverHandle, - IN PNDIS_STRING DriverInstance, - IN NDIS_HANDLE DeviceContext OPTIONAL) -/* - * FUNCTION: - * ARGUMENTS: - * NOTES: - * NDIS 5.0 - */ -{ - UNIMPLEMENTED - - return NDIS_STATUS_FAILURE; -} - - - -VOID -NTAPI -ndisProcWorkItemHandler(PVOID pContext) -{ - PNDIS_WORK_ITEM pNdisItem = (PNDIS_WORK_ITEM)pContext; - pNdisItem->Routine(pNdisItem, pNdisItem->Context); -} - -EXPORT -NDIS_STATUS -NdisScheduleWorkItem( - IN PNDIS_WORK_ITEM pWorkItem) -{ - PWORK_QUEUE_ITEM pntWorkItem = (PWORK_QUEUE_ITEM)pWorkItem->WrapperReserved; - ExInitializeWorkItem(pntWorkItem, ndisProcWorkItemHandler, pWorkItem); - ExQueueWorkItem(pntWorkItem, CriticalWorkQueue); - return NDIS_STATUS_SUCCESS; -}