diff --git a/configure b/configure index d2bada51134..cafbe46a5c8 100755 --- a/configure +++ b/configure @@ -1147,6 +1147,7 @@ enable_msxml3 enable_msxml4 enable_msxml6 enable_nddeapi +enable_ndis_sys enable_netapi32 enable_netcfgx enable_netprofm @@ -17170,6 +17171,7 @@ wine_fn_config_test dlls/msxml3/tests msxml3_test clean wine_fn_config_dll msxml4 enable_msxml4 clean wine_fn_config_dll msxml6 enable_msxml6 clean wine_fn_config_dll nddeapi enable_nddeapi implib +wine_fn_config_dll ndis.sys enable_ndis_sys wine_fn_config_dll netapi32 enable_netapi32 implib wine_fn_config_test dlls/netapi32/tests netapi32_test wine_fn_config_dll netcfgx enable_netcfgx clean diff --git a/configure.ac b/configure.ac index ea016b13744..0bf5731869d 100644 --- a/configure.ac +++ b/configure.ac @@ -3053,6 +3053,7 @@ WINE_CONFIG_TEST(dlls/msxml3/tests,[clean]) WINE_CONFIG_DLL(msxml4,,[clean]) WINE_CONFIG_DLL(msxml6,,[clean]) WINE_CONFIG_DLL(nddeapi,,[implib]) +WINE_CONFIG_DLL(ndis.sys) WINE_CONFIG_DLL(netapi32,,[implib]) WINE_CONFIG_TEST(dlls/netapi32/tests) WINE_CONFIG_DLL(netcfgx,,[clean]) diff --git a/dlls/ndis.sys/Makefile.in b/dlls/ndis.sys/Makefile.in new file mode 100644 index 00000000000..d469e4e81b5 --- /dev/null +++ b/dlls/ndis.sys/Makefile.in @@ -0,0 +1,4 @@ +MODULE = ndis.sys + +C_SRCS = \ + main.c diff --git a/dlls/ndis.sys/main.c b/dlls/ndis.sys/main.c new file mode 100644 index 00000000000..99a04981e1d --- /dev/null +++ b/dlls/ndis.sys/main.c @@ -0,0 +1,40 @@ +/* + * ndis.sys + * + * Copyright 2014 Austin English + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "config.h" + +#include + +#include "windef.h" +#include "winbase.h" + +BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved) +{ + switch (reason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(instance); + break; + } + + return TRUE; +} diff --git a/dlls/ndis.sys/ndis.sys.spec b/dlls/ndis.sys/ndis.sys.spec new file mode 100644 index 00000000000..1dd8b820d6a --- /dev/null +++ b/dlls/ndis.sys/ndis.sys.spec @@ -0,0 +1,276 @@ +@ stub ArcFilterDprIndicateReceive +@ stub ArcFilterDprIndicateReceiveComplete +@ stub EthFilterDprIndicateReceive +@ stub EthFilterDprIndicateReceiveComplete +@ stub FddiFilterDprIndicateReceive +@ stub FddiFilterDprIndicateReceiveComplete +@ stub NDIS_BUFFER_TO_SPAN_PAGES +@ stub NdisAcquireReadWriteLock +@ stub NdisAcquireSpinLock +@ stub NdisAdjustBufferLength +@ stub NdisAllocateBuffer +@ stub NdisAllocateBufferPool +@ stub NdisAllocateFromBlockPool +@ stub NdisAllocateMemory +@ stub NdisAllocateMemoryWithTag +@ stub NdisAllocatePacket +@ stub NdisAllocatePacketPool +@ stub NdisAllocatePacketPoolEx +@ stub NdisAllocateSpinLock +@ stub NdisAnsiStringToUnicodeString +@ stub NdisBufferLength +@ stub NdisBufferVirtualAddress +@ stub NdisCancelSendPackets +@ stub NdisCancelTimer +@ stub NdisClAddParty +@ stub NdisClCloseAddressFamily +@ stub NdisClCloseCall +@ stub NdisClDeregisterSap +@ stub NdisClDropParty +@ stub NdisClGetProtocolVcContextFromTapiCallId +@ stub NdisClIncomingCallComplete +@ stub NdisClMakeCall +@ stub NdisClModifyCallQoS +@ stub NdisClOpenAddressFamily +@ stub NdisClRegisterSap +@ stub NdisCloseAdapter +@ stub NdisCloseConfiguration +@ stub NdisCloseFile +@ stub NdisCmActivateVc +@ stub NdisCmAddPartyComplete +@ stub NdisCmCloseAddressFamilyComplete +@ stub NdisCmCloseCallComplete +@ stub NdisCmDeactivateVc +@ stub NdisCmDeregisterSapComplete +@ stub NdisCmDispatchCallConnected +@ stub NdisCmDispatchIncomingCall +@ stub NdisCmDispatchIncomingCallQoSChange +@ stub NdisCmDispatchIncomingCloseCall +@ stub NdisCmDispatchIncomingDropParty +@ stub NdisCmDropPartyComplete +@ stub NdisCmMakeCallComplete +@ stub NdisCmModifyCallQoSComplete +@ stub NdisCmOpenAddressFamilyComplete +@ stub NdisCmRegisterAddressFamily +@ stub NdisCmRegisterSapComplete +@ stub NdisCoAssignInstanceName +@ stub NdisCoCreateVc +@ stub NdisCoDeleteVc +@ stub NdisCoGetTapiCallId +@ stub NdisCoRequest +@ stub NdisCoRequestComplete +@ stub NdisCoSendPackets +@ stub NdisCompareAnsiString +@ stub NdisCompareUnicodeString +@ stub NdisCompleteBindAdapter +@ stub NdisCompleteDmaTransfer +@ stub NdisCompletePnPEvent +@ stub NdisCompleteUnbindAdapter +@ stub NdisConvertStringToAtmAddress +@ stub NdisCopyBuffer +@ stub NdisCopyFromPacketToPacket +@ stub NdisCopyFromPacketToPacketSafe +@ stub NdisCreateBlockPool +@ stub NdisDeregisterProtocol +@ stub NdisDeregisterTdiCallBack +@ stub NdisDestroyBlockPool +@ stub NdisDprAcquireSpinLock +@ stub NdisDprAllocatePacket +@ stub NdisDprAllocatePacketNonInterlocked +@ stub NdisDprFreePacket +@ stub NdisDprFreePacketNonInterlocked +@ stub NdisDprReleaseSpinLock +@ stub NdisEqualString +@ stub NdisFreeBuffer +@ stub NdisFreeBufferPool +@ stub NdisFreeMemory +@ stub NdisFreePacket +@ stub NdisFreePacketPool +@ stub NdisFreeSpinLock +@ stub NdisFreeToBlockPool +@ stub NdisGeneratePartialCancelId +@ stub NdisGetBufferPhysicalArraySize +@ stub NdisGetCurrentProcessorCounts +@ stub NdisGetCurrentProcessorCpuUsage +@ stub NdisGetCurrentSystemTime +@ stub NdisGetDriverHandle +@ stub NdisGetFirstBufferFromPacket +@ stub NdisGetFirstBufferFromPacketSafe +@ stub NdisGetPacketCancelId +@ stub NdisGetPoolFromPacket +@ stub NdisGetReceivedPacket +@ stub NdisGetRoutineAddress +@ stub NdisGetSharedDataAlignment +@ stub NdisGetSystemUpTime +@ stub NdisGetVersion +@ stub NdisIMAssociateMiniport +@ stub NdisIMCancelInitializeDeviceInstance +@ stub NdisIMCopySendCompletePerPacketInfo +@ stub NdisIMCopySendPerPacketInfo +@ stub NdisIMDeInitializeDeviceInstance +@ stub NdisIMDeregisterLayeredMiniport +@ stub NdisIMGetBindingContext +@ stub NdisIMGetCurrentPacketStack +@ stub NdisIMGetDeviceContext +@ stub NdisIMInitializeDeviceInstance +@ stub NdisIMInitializeDeviceInstanceEx +@ stub NdisIMNotifyPnPEvent +@ stub NdisIMQueueMiniportCallback +@ stub NdisIMRegisterLayeredMiniport +@ stub NdisIMRevertBack +@ stub NdisIMSwitchToMiniport +@ stub NdisImmediateReadPciSlotInformation +@ stub NdisImmediateReadPortUchar +@ stub NdisImmediateReadPortUlong +@ stub NdisImmediateReadPortUshort +@ stub NdisImmediateReadSharedMemory +@ stub NdisImmediateWritePciSlotInformation +@ stub NdisImmediateWritePortUchar +@ stub NdisImmediateWritePortUlong +@ stub NdisImmediateWritePortUshort +@ stub NdisImmediateWriteSharedMemory +@ stub NdisInitAnsiString +@ stub NdisInitUnicodeString +@ stub NdisInitializeEvent +@ stub NdisInitializeReadWriteLock +@ stub NdisInitializeString +@ stub NdisInitializeTimer +@ stub NdisInitializeWrapper +@ stub NdisInterlockedAddLargeInterger +@ stub NdisInterlockedAddUlong +@ stub NdisInterlockedDecrement +@ stub NdisInterlockedIncrement +@ stub NdisInterlockedInsertHeadList +@ stub NdisInterlockedInsertTailList +@ stub NdisInterlockedPopEntryList +@ stub NdisInterlockedPushEntryList +@ stub NdisInterlockedRemoveHeadList +@ stub NdisMAllocateMapRegisters +@ stub NdisMAllocateSharedMemory +@ stub NdisMAllocateSharedMemoryAsync +@ stub NdisMCancelTimer +@ stub NdisMCloseLog +@ stub NdisMCmActivateVc +@ stub NdisMCmCreateVc +@ stub NdisMCmDeactivateVc +@ stub NdisMCmDeleteVc +@ stub NdisMCmRegisterAddressFamily +@ stub NdisMCmRequest +@ stub NdisMCoActivateVcComplete +@ stub NdisMCoDeactivateVcComplete +@ stub NdisMCoIndicateReceivePacket +@ stub NdisMCoIndicateStatus +@ stub NdisMCoReceiveComplete +@ stub NdisMCoRequestComplete +@ stub NdisMCoSendComplete +@ stub NdisMCompleteBufferPhysicalMapping +@ stub NdisMCreateLog +@ stub NdisMDeregisterAdapterShutdownHandler +@ stub NdisMDeregisterDevice +@ stub NdisMDeregisterDmaChannel +@ stub NdisMDeregisterInterrupt +@ stub NdisMDeregisterIoPortRange +@ stub NdisMFlushLog +@ stub NdisMFreeMapRegisters +@ stub NdisMFreeSharedMemory +@ stub NdisMGetDeviceProperty +@ stub NdisMGetDmaAlignment +@ stub NdisMIndicateStatus +@ stub NdisMIndicateStatusComplete +@ stub NdisMInitializeScatterGatherDma +@ stub NdisMInitializeTimer +@ stub NdisMMapIoSpace +@ stub NdisMPciAssignResources +@ stub NdisMPromoteMiniport +@ stub NdisMQueryAdapterInstanceName +@ stub NdisMQueryAdapterResources +@ stub NdisMQueryInformationComplete +@ stub NdisMReadDmaCounter +@ stub NdisMRegisterAdapterShutdownHandler +@ stub NdisMRegisterDevice +@ stub NdisMRegisterDmaChannel +@ stub NdisMRegisterInterrupt +@ stub NdisMRegisterIoPortRange +@ stub NdisMRegisterMiniport +@ stub NdisMRegisterUnloadHandler +@ stub NdisMRemoveMiniport +@ stub NdisMResetComplete +@ stub NdisMSendComplete +@ stub NdisMSendResourcesAvailable +@ stub NdisMSetAttributes +@ stub NdisMSetAttributesEx +@ stub NdisMSetInformationComplete +@ stub NdisMSetMiniportSecondary +@ stub NdisMSetPeriodicTimer +@ stub NdisMSetTimer +@ stub NdisMSleep +@ stub NdisMStartBufferPhysicalMapping +@ stub NdisMSynchronizeWithInterrupt +@ stub NdisMTransferDataComplete +@ stub NdisMUnmapIoSpace +@ stub NdisMWanIndicateReceive +@ stub NdisMWanIndicateReceiveComplete +@ stub NdisMWanSendComplete +@ stub NdisMWriteLogData +@ stub NdisMapFile +@ stub NdisMatchPdoWithPacket +@ stub NdisOpenAdapter +@ stub NdisOpenConfiguration +@ stub NdisOpenConfigurationKeyByIndex +@ stub NdisOpenConfigurationKeyByName +@ stub NdisOpenFile +@ stub NdisOpenProtocolConfiguration +@ stub NdisOverrideBusNumber +@ stub NdisPacketPoolUsage +@ stub NdisPacketSize +@ stub NdisQueryAdapterInstanceName +@ stub NdisQueryBindInstanceName +@ stub NdisQueryBuffer +@ stub NdisQueryBufferOffset +@ stub NdisQueryBufferSafe +@ stub NdisQueryMapRegisterCount +@ stub NdisQueryPendingIOCount +@ stub NdisReEnumerateProtocolBindings +@ stub NdisReadConfiguration +@ stub NdisReadEisaSlotInformation +@ stub NdisReadEisaSlotInformationEx +@ stub NdisReadMcaPosInformation +@ stub NdisReadNetworkAddress +@ stub NdisReadPciSlotInformation +@ stub NdisReadPcmciaAttributeMemory +@ stub NdisRegisterProtocol +@ stub NdisRegisterTdiCallBack +@ stub NdisReleaseReadWriteLock +@ stub NdisReleaseSpinLock +@ stub NdisRequest +@ stub NdisReset +@ stub NdisResetEvent +@ stub NdisReturnPackets +@ stub NdisScheduleWorkItem +@ stub NdisSend +@ stub NdisSendPackets +@ stub NdisSetEvent +@ stub NdisSetPacketCancelId +@ stub NdisSetPacketPoolProtocolId +@ stub NdisSetPacketStatus +@ stub NdisSetProtocolFilter +@ stub NdisSetTimer +@ stub NdisSetTimerEx +@ stub NdisSetupDmaTransfer +@ stub NdisSystemProcessorCount +@ stub NdisTerminateWrapper +@ stub NdisTransferData +@ stub NdisUnchainBufferAtBack +@ stub NdisUnchainBufferAtFront +@ stub NdisUnicodeStringToAnsiString +@ stub NdisUnmapFile +@ stub NdisUpcaseUnicodeString +@ stub NdisUpdateSharedMemory +@ stub NdisWaitEvent +@ stub NdisWriteConfiguration +@ stub NdisWriteErrorLogEntry +@ stub NdisWriteEventLogEntry +@ stub NdisWritePciSlotInformation +@ stub NdisWritePcmciaAttributeMemory +@ stub TrFilterDprIndicateReceive +@ stub TrFilterDprIndicateReceiveComplete diff --git a/loader/wine.inf.in b/loader/wine.inf.in index 42a750e7ea9..2fc236299ad 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in @@ -2490,6 +2490,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G" 11,,iexplore.exe 11,,winetest.exe,- 12,,mountmgr.sys,- +12,,ndis.sys,- ; skip .NET fake dlls in Wine Mono package 11,,aspnet_regiis.exe,- 11,,ngen.exe,- @@ -2527,6 +2528,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G" 11,,notepad.exe 11,,winetest.exe,- 12,,mountmgr.sys +12,,ndis.sys ; skip .NET fake dlls in Wine Mono package 11,,aspnet_regiis.exe,- 11,,ngen.exe,-