mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 02:36:13 +00:00
Initial revision
svn path=/trunk/; revision=1277
This commit is contained in:
parent
83f94cade6
commit
2c41cbbe57
30 changed files with 6376 additions and 0 deletions
1
reactos/drivers/net/ndis/DIRS
Normal file
1
reactos/drivers/net/ndis/DIRS
Normal file
|
@ -0,0 +1 @@
|
|||
DIRS= ndis
|
30
reactos/drivers/net/ndis/include/buffer.h
Normal file
30
reactos/drivers/net/ndis/include/buffer.h
Normal file
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: include/buffer.h
|
||||
* PURPOSE: Buffer management routine definitions
|
||||
*/
|
||||
#ifndef __BUFFER_H
|
||||
#define __BUFFER_H
|
||||
|
||||
#include <ndissys.h>
|
||||
|
||||
|
||||
/* FIXME: Possibly move this to ntddk.h */
|
||||
typedef struct _NETWORK_HEADER
|
||||
{
|
||||
MDL Mdl; /* Memory Descriptor List */
|
||||
struct _NETWORK_HEADER *Next; /* Link to next NDIS buffer in pool */
|
||||
struct _NDIS_BUFFER_POOL *BufferPool; /* Link to NDIS buffer pool */
|
||||
} NETWORK_HEADER, *PNETWORK_HEADER;
|
||||
|
||||
typedef struct _NDIS_BUFFER_POOL
|
||||
{
|
||||
KSPIN_LOCK SpinLock;
|
||||
PNETWORK_HEADER FreeList;
|
||||
NETWORK_HEADER Buffers[0];
|
||||
} NDIS_BUFFER_POOL, *PNDIS_BUFFER_POOL;
|
||||
|
||||
#endif /* __BUFFER_H */
|
||||
|
||||
/* EOF */
|
92
reactos/drivers/net/ndis/include/debug.h
Normal file
92
reactos/drivers/net/ndis/include/debug.h
Normal file
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: include/debug.h
|
||||
* PURPOSE: Debugging support macros
|
||||
* DEFINES: DBG - Enable debug output
|
||||
* NASSERT - Disable assertions
|
||||
*/
|
||||
#ifndef __DEBUG_H
|
||||
#define __DEBUG_H
|
||||
|
||||
#define NORMAL_MASK 0x000000FF
|
||||
#define SPECIAL_MASK 0xFFFFFF00
|
||||
#define MIN_TRACE 0x00000001
|
||||
#define MID_TRACE 0x00000002
|
||||
#define MAX_TRACE 0x00000003
|
||||
|
||||
#define DEBUG_REFCOUNT 0x00000100
|
||||
#define DEBUG_MINIPORT 0x00000200
|
||||
#define DEBUG_PROTOCOL 0x00000400
|
||||
#define DEBUG_ULTRA 0xFFFFFFFF
|
||||
|
||||
#ifdef DBG
|
||||
|
||||
extern DWORD DebugTraceLevel;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
||||
#define NDIS_DbgPrint(_t_, _x_) \
|
||||
if (((DebugTraceLevel & NORMAL_MASK) >= _t_) || \
|
||||
((DebugTraceLevel & _t_) > NORMAL_MASK)) { \
|
||||
DbgPrint("(%s:%d) ", __FILE__, __LINE__); \
|
||||
DbgPrint _x_ ; \
|
||||
}
|
||||
|
||||
#else /* _MSC_VER */
|
||||
|
||||
#define NDIS_DbgPrint(_t_, _x_) \
|
||||
if (((DebugTraceLevel & NORMAL_MASK) >= _t_) || \
|
||||
((DebugTraceLevel & _t_) > NORMAL_MASK)) { \
|
||||
DbgPrint("(%s:%d)(%s) ", __FILE__, __LINE__, __FUNCTION__); \
|
||||
DbgPrint _x_ ; \
|
||||
}
|
||||
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
|
||||
#ifdef ASSERT
|
||||
#undef ASSERT
|
||||
#endif
|
||||
|
||||
#ifdef NASSERT
|
||||
#define ASSERT(x)
|
||||
#else /* NASSERT */
|
||||
#define ASSERT(x) if (!(x)) { NDIS_DbgPrint(MIN_TRACE, ("Assertion "#x" failed at %s:%d\n", __FILE__, __LINE__)); KeBugCheck(0); }
|
||||
#endif /* NASSERT */
|
||||
|
||||
#define ASSERT_IRQL(x) ASSERT(KeGetCurrentIrql() <= (x))
|
||||
|
||||
#else /* DBG */
|
||||
|
||||
#define NDIS_DbgPrint(_t_, _x_)
|
||||
|
||||
#define ASSERT_IRQL(x)
|
||||
#define ASSERT(x)
|
||||
|
||||
#endif /* DBG */
|
||||
|
||||
|
||||
#define assert(x) ASSERT(x)
|
||||
#define assert_irql(x) ASSERT_IRQL(x)
|
||||
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
||||
#define UNIMPLEMENTED \
|
||||
NDIS_DbgPrint(MIN_TRACE, ("The function at %s:%d is unimplemented.\n", __FILE__, __LINE__));
|
||||
|
||||
#else /* _MSC_VER */
|
||||
|
||||
#define UNIMPLEMENTED \
|
||||
NDIS_DbgPrint(MIN_TRACE, ("(%s) at (%s:%d) is unimplemented.\n", __FUNCTION__, __FILE__, __LINE__));
|
||||
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
|
||||
#define CHECKPOINT \
|
||||
do { NDIS_DbgPrint(MIN_TRACE, ("%s:%d\n", __FILE__, __LINE__)); } while(0);
|
||||
|
||||
#endif /* __DEBUG_H */
|
||||
|
||||
/* EOF */
|
66
reactos/drivers/net/ndis/include/miniport.h
Normal file
66
reactos/drivers/net/ndis/include/miniport.h
Normal file
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/miniport.h
|
||||
* PURPOSE: Definitions for routines used by NDIS miniport drivers
|
||||
*/
|
||||
|
||||
#ifndef __MINIPORT_H
|
||||
#define __MINIPORT_H
|
||||
|
||||
#include <ndissys.h>
|
||||
|
||||
|
||||
/* Information about a miniport */
|
||||
typedef struct _MINIPORT_DRIVER {
|
||||
LIST_ENTRY ListEntry; /* Entry on global list */
|
||||
KSPIN_LOCK Lock; /* Protecting spin lock */
|
||||
ULONG RefCount; /* Reference count */
|
||||
NDIS_MINIPORT_CHARACTERISTICS Chars; /* Miniport characteristics */
|
||||
WORK_QUEUE_ITEM WorkItem; /* Work item */
|
||||
PDRIVER_OBJECT DriverObject; /* Driver object of miniport */
|
||||
NDIS_STRING RegistryPath; /* Registry path of miniport */
|
||||
LIST_ENTRY AdapterListHead; /* Adapters created by miniport */
|
||||
} MINIPORT_DRIVER, *PMINIPORT_DRIVER;
|
||||
|
||||
#define GET_MINIPORT_DRIVER(Handle)((PMINIPORT_DRIVER)Handle)
|
||||
|
||||
/* Information about a logical adapter */
|
||||
typedef struct _LOGICAL_ADAPTER {
|
||||
LIST_ENTRY ListEntry; /* Entry on global list */
|
||||
LIST_ENTRY MiniportListEntry; /* Entry on miniport driver list */
|
||||
KSPIN_LOCK Lock; /* Protecting spin lock */
|
||||
ULONG RefCount; /* Reference count */
|
||||
PMINIPORT_DRIVER Miniport; /* Miniport owning this adapter */
|
||||
UNICODE_STRING DeviceName; /* Device name of this adapter */
|
||||
PDEVICE_OBJECT DeviceObject; /* Device object of adapter */
|
||||
PVOID MiniportAdapterContext; /* Adapter context for miniport */
|
||||
ULONG Attributes; /* Attributes of adapter */
|
||||
NDIS_INTERFACE_TYPE AdapterType; /* Type of adapter interface */
|
||||
/* TRUE if the miniport has called NdisSetAttributes(Ex) for this adapter */
|
||||
BOOLEAN AttributesSet;
|
||||
PNDIS_MINIPORT_INTERRUPT InterruptObject; /* Interrupt object for adapter */
|
||||
PVOID QueryBuffer; /* Buffer to use for queries */
|
||||
ULONG QueryBufferLength; /* Length of QueryBuffer */
|
||||
} LOGICAL_ADAPTER, *PLOGICAL_ADAPTER;
|
||||
|
||||
#define GET_LOGICAL_ADAPTER(Handle)((PLOGICAL_ADAPTER)Handle)
|
||||
|
||||
|
||||
extern LIST_ENTRY MiniportListHead;
|
||||
extern KSPIN_LOCK MiniportListLock;
|
||||
extern LIST_ENTRY AdapterListHead;
|
||||
extern KSPIN_LOCK AdapterListLock;
|
||||
|
||||
PLOGICAL_ADAPTER MiniLocateDevice(
|
||||
PNDIS_STRING AdapterName);
|
||||
|
||||
NDIS_STATUS MiniQueryInformation(
|
||||
PLOGICAL_ADAPTER Adapter,
|
||||
NDIS_OID Oid,
|
||||
ULONG Size,
|
||||
PULONG BytesWritten);
|
||||
|
||||
#endif /* __MINIPORT_H */
|
||||
|
||||
/* EOF */
|
112
reactos/drivers/net/ndis/include/ndissys.h
Normal file
112
reactos/drivers/net/ndis/include/ndissys.h
Normal file
|
@ -0,0 +1,112 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndissys.h
|
||||
* PURPOSE: NDIS library definitions
|
||||
* NOTES: Spin lock acquire order:
|
||||
* - Miniport list lock
|
||||
* - Adapter list lock
|
||||
*/
|
||||
#ifndef __NDISSYS_H
|
||||
#define __NDISSYS_H
|
||||
|
||||
#define NDIS50 1 /* Use NDIS 5.0 structures by default */
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#include <basetsd.h>
|
||||
#include <ntddk.h>
|
||||
#include <windef.h>
|
||||
#include <ndis.h>
|
||||
#else /* _MSC_VER */
|
||||
#include <ddk/ntddk.h>
|
||||
#include <net/ndis.h>
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
#include <debug.h>
|
||||
|
||||
|
||||
#ifndef _MSC_VER
|
||||
/* FIXME: The following should be moved to ntddk.h */
|
||||
|
||||
/* i386 specific constants */
|
||||
|
||||
/* Page size for the Intel 386 is 4096 */
|
||||
#define PAGE_SIZE (ULONG)0x1000
|
||||
|
||||
/* 4096 is 2^12. Used to find the virtual page number from a virtual address */
|
||||
#define PAGE_SHIFT 12L
|
||||
|
||||
/*
|
||||
* ULONG ADDRESS_AND_SIZE_TO_SPAN_PAGES(
|
||||
* IN PVOID Va,
|
||||
* IN ULONG Size);
|
||||
*/
|
||||
#define ADDRESS_AND_SIZE_TO_SPAN_PAGES(Va, Size) \
|
||||
((((ULONG)((ULONG)(Size) - 1) >> PAGE_SHIFT) + \
|
||||
(((((ULONG)(Size - 1) & (PAGE_SIZE - 1)) + \
|
||||
((ULONG)Va & (PAGE_SIZE - 1)))) >> PAGE_SHIFT)) + 1)
|
||||
|
||||
/*
|
||||
* ULONG MmGetMdlByteCount(
|
||||
* IN PMDL Mdl)
|
||||
*/
|
||||
#define MmGetMdlByteCount(Mdl) \
|
||||
((Mdl)->ByteCount)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* Exported functions */
|
||||
#ifdef _MSC_VER
|
||||
#define EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define EXPORT STDCALL
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef DBG
|
||||
|
||||
#define DEBUG_REFCHECK(Object) { \
|
||||
if ((Object)->RefCount <= 0) { \
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Object at (0x%X) has invalid reference count (%d).\n", \
|
||||
(Object), (Object)->RefCount)); \
|
||||
} \
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#define DEBUG_REFCHECK(Object)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* VOID ReferenceObject(
|
||||
* PVOID Object)
|
||||
*/
|
||||
#define ReferenceObject(Object) \
|
||||
{ \
|
||||
DEBUG_REFCHECK(Object); \
|
||||
NDIS_DbgPrint(DEBUG_REFCOUNT, ("Referencing object at (0x%X). RefCount (%d).\n", \
|
||||
(Object), (Object)->RefCount)); \
|
||||
\
|
||||
InterlockedIncrement(&((Object)->RefCount)); \
|
||||
}
|
||||
|
||||
/*
|
||||
* VOID DereferenceObject(
|
||||
* PVOID Object)
|
||||
*/
|
||||
#define DereferenceObject(Object) \
|
||||
{ \
|
||||
DEBUG_REFCHECK(Object); \
|
||||
NDIS_DbgPrint(DEBUG_REFCOUNT, ("Dereferencing object at (0x%X). RefCount (%d).\n", \
|
||||
(Object), (Object)->RefCount)); \
|
||||
\
|
||||
if (InterlockedDecrement(&((Object)->RefCount)) == 0) \
|
||||
PoolFreeBuffer(Object); \
|
||||
}
|
||||
|
||||
#endif /* __NDISSYS_H */
|
||||
|
||||
/* EOF */
|
43
reactos/drivers/net/ndis/include/protocol.h
Normal file
43
reactos/drivers/net/ndis/include/protocol.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/protocol.h
|
||||
* PURPOSE: Definitions for routines used by NDIS protocol drivers
|
||||
*/
|
||||
|
||||
#ifndef __PROTOCOL_H
|
||||
#define __PROTOCOL_H
|
||||
|
||||
#include <ndissys.h>
|
||||
#include <miniport.h>
|
||||
|
||||
|
||||
typedef struct _PROTOCOL_BINDING {
|
||||
LIST_ENTRY ListEntry; /* Entry on global list */
|
||||
KSPIN_LOCK Lock; /* Protecting spin lock */
|
||||
ULONG RefCount; /* Reference count */
|
||||
NDIS_PROTOCOL_CHARACTERISTICS Chars; /* Characteristics */
|
||||
WORK_QUEUE_ITEM WorkItem; /* Work item */
|
||||
LIST_ENTRY AdapterListHead; /* List of adapter bindings */
|
||||
} PROTOCOL_BINDING, *PPROTOCOL_BINDING;
|
||||
|
||||
#define GET_PROTOCOL_BINDING(Handle)((PPROTOCOL_BINDING)Handle)
|
||||
|
||||
|
||||
typedef struct _ADAPTER_BINDING {
|
||||
LIST_ENTRY ListEntry; /* Entry on global list */
|
||||
LIST_ENTRY ProtocolListEntry; /* Entry on protocol binding adapter list */
|
||||
KSPIN_LOCK Lock; /* Protecting spin lock */
|
||||
ULONG RefCount; /* Reference count */
|
||||
PLOGICAL_ADAPTER Adapter; /* Adapter opened by protocol */
|
||||
} ADAPTER_BINDING, *PADAPTER_BINDING;
|
||||
|
||||
#define GET_ADAPTER_BINDING(Handle)((PADAPTER_BINDING)Handle)
|
||||
|
||||
|
||||
extern LIST_ENTRY ProtocolListHead;
|
||||
extern KSPIN_LOCK ProtocolListLock;
|
||||
|
||||
#endif /* __PROTOCOL_H */
|
||||
|
||||
/* EOF */
|
93
reactos/drivers/net/ndis/makefile_rex
Normal file
93
reactos/drivers/net/ndis/makefile_rex
Normal file
|
@ -0,0 +1,93 @@
|
|||
# NDIS.SYS - NDIS library
|
||||
|
||||
TARGETNAME=ndis
|
||||
|
||||
BASE_CFLAGS = -I./include -I../../../include -DNDIS_WRAPPER -DBINARY_COMPATIBLE=1
|
||||
|
||||
RESOURCE_OBJECT = $(TARGETNAME).coff
|
||||
NDIS_OBJECTS = ndis/main.o ndis/40gone.o ndis/50gone.o ndis/buffer.o ndis/cl.o \
|
||||
ndis/cm.o ndis/co.o ndis/control.o ndis/hardware.o \
|
||||
ndis/io.o ndis/memory.o ndis/miniport.o \
|
||||
ndis/protocol.o ndis/string.o ndis/stubs.o ndis/time.o
|
||||
|
||||
all: objects $(TARGETNAME).sys
|
||||
|
||||
objects:
|
||||
mkdir objects
|
||||
|
||||
$(TARGETNAME).coff: $(TARGETNAME).rc ../../../include/reactos/resource.h
|
||||
|
||||
OBJECTS = $(NDIS_OBJECTS) $(RESOURCE_OBJECT) ../../../ntoskrnl/ntoskrnl.a
|
||||
|
||||
|
||||
ifeq ($(DOSCLI),yes)
|
||||
CLEAN_FILES = *.o objects\*.o ndis\*.o $(TARGETNAME).coff $(TARGETNAME).o $(TARGETNAME).a \
|
||||
junk.tmp base.tmp temp.exp $(TARGETNAME).sys $(TARGETNAME).sym
|
||||
else
|
||||
CLEAN_FILES = *.o objects/*.o ndis/*.o $(TARGETNAME).coff $(TARGETNAME).o $(TARGETNAME).a \
|
||||
junk.tmp base.tmp temp.exp $(TARGETNAME).sys $(TARGETNAME).sym
|
||||
endif
|
||||
|
||||
$(TARGETNAME).sys: $(OBJECTS)
|
||||
$(DLLTOOL) \
|
||||
--dllname $(TARGETNAME).sys \
|
||||
--def $(TARGETNAME).def \
|
||||
--kill-at \
|
||||
--output-lib $(TARGETNAME).a
|
||||
$(CC) \
|
||||
-mdll \
|
||||
-specs=../../svc_specs \
|
||||
-Wl,-e,_DriverEntry@8 \
|
||||
-Wl,--base-file,base.tmp \
|
||||
-Wl,--defsym,_end=end \
|
||||
-Wl,--defsym,_edata=__data_end__ \
|
||||
-Wl,--defsym,_etext=etext \
|
||||
$(OBJECTS) \
|
||||
-o junk.tmp
|
||||
- $(RM) junk.tmp
|
||||
$(DLLTOOL) \
|
||||
--dllname $(TARGETNAME).sys \
|
||||
--base-file base.tmp \
|
||||
--output-exp temp.exp \
|
||||
--def $(TARGETNAME).edf
|
||||
- $(RM) base.tmp
|
||||
$(CC) \
|
||||
-mdll \
|
||||
-specs=../../svc_specs \
|
||||
-Wl,--image-base,0x10000 \
|
||||
-Wl,-e,_DriverEntry@8 \
|
||||
-Wl,temp.exp \
|
||||
$(OBJECTS) \
|
||||
-o $(TARGETNAME).sys
|
||||
- $(RM) temp.exp
|
||||
$(NM) --numeric-sort $(TARGETNAME).sys > $(TARGETNAME).sym
|
||||
|
||||
clean: $(CLEAN_FILES:%=%_clean)
|
||||
|
||||
$(CLEAN_FILES:%=%_clean): %_clean:
|
||||
- $(RM) $*
|
||||
|
||||
.PHONY: clean $(CLEAN_FILES:%=%_clean)
|
||||
|
||||
floppy: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys
|
||||
|
||||
$(FLOPPY_DIR)/drivers/$(TARGETNAME).sys: $(TARGETNAME).sys
|
||||
ifeq ($(DOSCLI),yes)
|
||||
$(CP) $(TARGETNAME).sys $(FLOPPY_DIR)\drivers\$(TARGETNAME).sys
|
||||
else
|
||||
$(CP) $(TARGETNAME).sys $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys
|
||||
endif
|
||||
|
||||
dist: $(DIST_DIR)/drivers/$(TARGETNAME).sys
|
||||
|
||||
$(DIST_DIR)/drivers/$(TARGETNAME).sys: $(TARGETNAME).sys
|
||||
ifeq ($(DOSCLI),yes)
|
||||
$(CP) $(TARGETNAME).sys ..\..\$(DIST_DIR)\drivers\$(TARGETNAME).sys
|
||||
else
|
||||
$(CP) $(TARGETNAME).sys ../../$(DIST_DIR)/drivers/$(TARGETNAME).sys
|
||||
endif
|
||||
|
||||
#WITH_DEBUGGING = yes
|
||||
#WIN32_LEAN_AND_MEAN = yes
|
||||
#WARNINGS_ARE_ERRORS = yes
|
||||
include ../../../rules.mak
|
314
reactos/drivers/net/ndis/ndis.def
Normal file
314
reactos/drivers/net/ndis/ndis.def
Normal file
|
@ -0,0 +1,314 @@
|
|||
; NDIS Kernel Module - ReactOS Operating System
|
||||
|
||||
LIBRARY NDIS.SYS
|
||||
|
||||
EXPORTS
|
||||
ArcFilterDprIndicateReceive@16
|
||||
ArcFilterDprIndicateReceiveComplete@4
|
||||
EthChangeFilterAddresses@24
|
||||
EthCreateFilter@28
|
||||
EthDeleteFilter@4
|
||||
EthDeleteFilterOpenAdapter@12
|
||||
EthFilterAdjust@20
|
||||
;EthFilterDprIndicateReceive@32 ?
|
||||
;EthFilterDprIndicateReceiveComplete@4 ?
|
||||
EthFilterIndicateReceive@32
|
||||
EthFilterIndicateReceiveComplete@4
|
||||
EthNoteFilterOpenAdapter@16
|
||||
EthNumberOfOpenFilterAddresses@8
|
||||
EthQueryGlobalFilterAddresses@20
|
||||
EthQueryOpenFilterAddresses@24
|
||||
EthShouldAddressLoopBack@8
|
||||
FddiChangeFilterLongAddresses@24
|
||||
FddiChangeFilterShortAddresses@24
|
||||
FddiCreateFilter@36
|
||||
FddiDeleteFilter@4
|
||||
FddiDeleteFilterOpenAdapter@12
|
||||
FddiFilterAdjust@20
|
||||
;FddiFilterDprIndicateReceive@36 ?
|
||||
;FddiFilterDprIndicateReceiveComplete@4 ?
|
||||
FddiFilterIndicateReceive@36
|
||||
FddiFilterIndicateReceiveComplete@4
|
||||
FddiNoteFilterOpenAdapter@16
|
||||
FddiNumberOfOpenFilterLongAddresses@8
|
||||
FddiNumberOfOpenFilterShortAddresses@8
|
||||
FddiQueryGlobalFilterLongAddresses@20
|
||||
FddiQueryGlobalFilterShortAddresses@20
|
||||
FddiQueryOpenFilterLongAddresses@24
|
||||
FddiQueryOpenFilterShortAddresses@24
|
||||
FddiShouldAddressLoopBack@12
|
||||
NDIS_BUFFER_TO_SPAN_PAGES@4
|
||||
NdisAcquireReadWriteLock@12
|
||||
NdisAcquireSpinLock@4
|
||||
NdisAdjustBufferLength@8
|
||||
NdisAllocateBuffer@20
|
||||
NdisAllocateBufferPool@12
|
||||
NdisAllocateDmaChannel@20
|
||||
NdisAllocateMemory@20
|
||||
NdisAllocateMemoryWithTag@12
|
||||
NdisAllocatePacket@12
|
||||
NdisAllocatePacketPool@16
|
||||
NdisAllocatePacketPoolEx@20
|
||||
NdisAllocateSharedMemory@20
|
||||
NdisAllocateSpinLock@4
|
||||
NdisAnsiStringToUnicodeString@8
|
||||
NdisBufferLength@4
|
||||
NdisBufferVirtualAddress@4
|
||||
NdisCancelTimer@8
|
||||
NdisClAddParty@16
|
||||
NdisClCloseAddressFamily@4
|
||||
NdisClCloseCall@16
|
||||
NdisClDeregisterSap@4
|
||||
NdisClDropParty@12
|
||||
NdisClIncomingCallComplete@12
|
||||
NdisClMakeCall@16
|
||||
NdisClModifyCallQoS@8
|
||||
NdisClOpenAddressFamily@24
|
||||
NdisClRegisterSap@16
|
||||
NdisCloseAdapter@8
|
||||
NdisCloseConfiguration@4
|
||||
NdisCloseFile@4
|
||||
NdisCmActivateVc@8
|
||||
NdisCmAddPartyComplete@16
|
||||
NdisCmCloseAddressFamilyComplete@8
|
||||
NdisCmCloseCallComplete@12
|
||||
NdisCmDeactivateVc@4
|
||||
NdisCmDeregisterSapComplete@8
|
||||
NdisCmDispatchCallConnected@4
|
||||
NdisCmDispatchIncomingCall@12
|
||||
NdisCmDispatchIncomingCallQoSChange@8
|
||||
NdisCmDispatchIncomingCloseCall@16
|
||||
NdisCmDispatchIncomingDropParty@16
|
||||
NdisCmDropPartyComplete@8
|
||||
NdisCmMakeCallComplete@20
|
||||
NdisCmModifyCallQoSComplete@12
|
||||
NdisCmOpenAddressFamilyComplete@12
|
||||
NdisCmRegisterAddressFamily@16
|
||||
NdisCmRegisterSapComplete@12
|
||||
NdisCoCreateVc@16
|
||||
NdisCoDeleteVc@4
|
||||
NdisCoRequest@20
|
||||
NdisCoRequestComplete@20
|
||||
NdisCoSendPackets@12
|
||||
;NdisCompareAnsiString ?
|
||||
;NdisCompareUnicodeString ?
|
||||
NdisCompleteBindAdapter@12
|
||||
NdisCompleteCloseAdapter@8
|
||||
NdisCompleteDmaTransfer@24
|
||||
NdisCompleteOpenAdapter@12
|
||||
NdisCompletePnPEvent@12
|
||||
NdisCompleteQueryStatistics@12
|
||||
NdisCompleteUnbindAdapter@8
|
||||
NdisConvertStringToAtmAddress@12
|
||||
NdisCopyBuffer@24
|
||||
NdisCopyFromPacketToPacket@24
|
||||
NdisDeregisterAdapter@4
|
||||
NdisDeregisterAdapterShutdownHandler@4
|
||||
NdisDeregisterMac@8
|
||||
NdisDeregisterProtocol@8
|
||||
NdisDprAcquireSpinLock@4
|
||||
NdisDprAllocatePacket@12
|
||||
NdisDprAllocatePacketNonInterlocked@12
|
||||
NdisDprFreePacket@4
|
||||
NdisDprFreePacketNonInterlocked@4
|
||||
NdisDprReleaseSpinLock@4
|
||||
NdisEqualString@12
|
||||
NdisFlushBuffer@8
|
||||
NdisFreeBuffer@4
|
||||
NdisFreeBufferPool@4
|
||||
NdisFreeDmaChannel@4
|
||||
NdisFreeMemory@12
|
||||
NdisFreePacket@4
|
||||
NdisFreePacketPool@4
|
||||
NdisFreeSharedMemory@24
|
||||
NdisFreeSpinLock@4
|
||||
NdisGetBufferPhysicalArraySize@8
|
||||
NdisGetCurrentProcessorCounts@12
|
||||
NdisGetCurrentProcessorCpuUsage@4
|
||||
NdisGetCurrentSystemTime@4
|
||||
NdisGetDriverHandle@8
|
||||
NdisGetFirstBufferFromPacket@20
|
||||
NdisGetReceivedPacket@8
|
||||
NdisGetSystemUptime@4
|
||||
NdisIMAssociateMiniport@8
|
||||
NdisIMCancelInitializeDeviceInstance@8
|
||||
NdisIMCopySendCompletePerPacketInfo@8
|
||||
NdisIMCopySendPerPacketInfo@8
|
||||
NdisIMDeInitializeDeviceInstance@4
|
||||
NdisIMDeregisterLayeredMiniport@4
|
||||
NdisIMGetBindingContext@4
|
||||
NdisIMGetDeviceContext@4
|
||||
NdisIMInitializeDeviceInstance@8
|
||||
NdisIMInitializeDeviceInstanceEx@12
|
||||
NdisImmediateReadPciSlotInformation@20
|
||||
NdisImmediateReadPortUchar@12
|
||||
NdisImmediateReadPortUlong@12
|
||||
NdisImmediateReadPortUshort@12
|
||||
NdisImmediateReadSharedMemory@16
|
||||
NdisImmediateWritePciSlotInformation@20
|
||||
NdisImmediateWritePortUchar@12
|
||||
NdisImmediateWritePortUlong@12
|
||||
NdisImmediateWritePortUshort@12
|
||||
NdisImmediateWriteSharedMemory@16
|
||||
NdisIMQueueMiniportCallback@12
|
||||
NdisIMRegisterLayeredMiniport@16
|
||||
NdisIMRevertBack@8
|
||||
NdisIMSwitchToMiniport@8
|
||||
NdisInitAnsiString@8
|
||||
NdisInitializeEvent@4
|
||||
NdisInitializeInterrupt@40
|
||||
NdisInitializeReadWriteLock@4
|
||||
NdisInitializeString@8
|
||||
NdisInitializeTimer@12
|
||||
NdisInitializeWrapper@16
|
||||
NdisInitUnicodeString@8
|
||||
;NdisInterlockedAddLargeInterger ?
|
||||
NdisInterlockedAddUlong@12
|
||||
NdisInterlockedDecrement@4
|
||||
NdisInterlockedIncrement@4
|
||||
NdisInterlockedInsertHeadList@12
|
||||
NdisInterlockedInsertTailList@12
|
||||
NdisInterlockedPopEntrySList@8
|
||||
NdisInterlockedPushEntrySList@12
|
||||
NdisInterlockedRemoveHeadList@8
|
||||
NdisMAllocateMapRegisters@20
|
||||
NdisMAllocateSharedMemory@20
|
||||
NdisMAllocateSharedMemoryAsync@16
|
||||
NdisMapFile@12
|
||||
NdisMapIoSpace@24
|
||||
;NdisMatchPdoWithPacket ?
|
||||
NdisMCancelTimer@8
|
||||
NdisMCloseLog@4
|
||||
NdisMCmActivateVc@8
|
||||
NdisMCmCreateVc@16
|
||||
NdisMCmDeactivateVc@4
|
||||
NdisMCmDeleteVc@4
|
||||
NdisMCmRegisterAddressFamily@16
|
||||
NdisMCmRequest@16
|
||||
NdisMCoActivateVcComplete@12
|
||||
NdisMCoDeactivateVcComplete@8
|
||||
NdisMCoIndicateReceivePacket@12
|
||||
NdisMCoIndicateStatus@20
|
||||
NdisMCompleteBufferPhysicalMapping@12
|
||||
NdisMCoReceiveComplete@4
|
||||
NdisMCoRequestComplete@12
|
||||
NdisMCoSendComplete@12
|
||||
NdisMCreateLog@12
|
||||
NdisMDeregisterAdapterShutdownHandler@4
|
||||
NdisMDeregisterDevice@4
|
||||
NdisMDeregisterDmaChannel@4
|
||||
NdisMDeregisterInterrupt@4
|
||||
NdisMDeregisterIoPortRange@16
|
||||
NdisMFlushLog@4
|
||||
NdisMFreeMapRegisters@4
|
||||
NdisMFreeSharedMemory@24
|
||||
NdisMGetDeviceProperty@24
|
||||
NdisMIndicateStatus@16
|
||||
NdisMIndicateStatusComplete@4
|
||||
NdisMInitializeScatterGatherDma@12
|
||||
NdisMInitializeTimer@16
|
||||
NdisMMapIoSpace@20
|
||||
NdisMPciAssignResources@12
|
||||
NdisMPromoteMiniport@4
|
||||
NdisMQueryAdapterInstanceName@8
|
||||
NdisMQueryAdapterResources@16
|
||||
NdisMQueryInformationComplete@8
|
||||
NdisMReadDmaCounter@4
|
||||
NdisMRegisterAdapterShutdownHandler@12
|
||||
NdisMRegisterDevice@24
|
||||
NdisMRegisterDmaChannel@24
|
||||
NdisMRegisterInterrupt@28
|
||||
NdisMRegisterIoPortRange@16
|
||||
NdisMRegisterMiniport@12
|
||||
NdisMRegisterUnloadHandler@8
|
||||
NdisMRemoveMiniport@4
|
||||
NdisMResetComplete@12
|
||||
NdisMSendComplete@12
|
||||
NdisMSendResourcesAvailable@4
|
||||
NdisMSetAttributes@16
|
||||
NdisMSetAttributesEx@20
|
||||
NdisMSetInformationComplete@8
|
||||
NdisMSetMiniportSecondary@8
|
||||
NdisMSetPeriodicTimer@8
|
||||
NdisMSetTimer@8
|
||||
NdisMSleep@4
|
||||
NdisMStartBufferPhysicalMapping@24
|
||||
NdisMSynchronizeWithInterrupt@12
|
||||
NdisMTransferDataComplete@16
|
||||
NdisMUnmapIoSpace@12
|
||||
NdisMWanIndicateReceive@20
|
||||
NdisMWanIndicateReceiveComplete@4
|
||||
NdisMWanSendComplete@12
|
||||
NdisMWriteLogData@12
|
||||
NdisOpenAdapter@44
|
||||
NdisOpenConfiguration@12
|
||||
NdisOpenConfigurationKeyByIndex@20
|
||||
NdisOpenConfigurationKeyByName@16
|
||||
NdisOpenFile@24
|
||||
NdisOpenProtocolConfiguration@12
|
||||
;NdisOverrideBusNumber ?
|
||||
NdisPacketPoolUsage@4
|
||||
NdisPciAssignResources@20
|
||||
NdisQueryAdapterInstanceName@8
|
||||
;NdisQueryBindInstanceName?
|
||||
NdisQueryBuffer@12
|
||||
NdisQueryBufferOffset@12
|
||||
NdisQueryBufferSafe@16
|
||||
NdisQueryMapRegisterCount@8
|
||||
NdisReadConfiguration@20
|
||||
NdisReadEisaSlotInformation@16
|
||||
NdisReadEisaSlotInformationEx@20
|
||||
NdisReadMcaPosInformation@16
|
||||
NdisReadNetworkAddress@16
|
||||
NdisReadPciSlotInformation@20
|
||||
NdisReadPcmciaAttributeMemory@16
|
||||
;NdisReEnumerateProtocolBindings ?
|
||||
NdisRegisterAdapter@24
|
||||
NdisRegisterAdapterShutdownHandler@12
|
||||
NdisRegisterMac@24
|
||||
NdisRegisterProtocol@16
|
||||
;NdisRegisterTdiCallBack ?
|
||||
NdisReleaseAdapterResources@4
|
||||
NdisReleaseReadWriteLock@8
|
||||
NdisReleaseSpinLock@4
|
||||
NdisRemoveInterrupt@4
|
||||
NdisRequest@12
|
||||
NdisReset@8
|
||||
NdisResetEvent@4
|
||||
NdisReturnPackets@8
|
||||
NdisSend@12
|
||||
NdisSendPackets@12
|
||||
NdisSetEvent@4
|
||||
;NdisSetPacketPoolProtocolId ?
|
||||
;NdisSetProtocolFilter ?
|
||||
NdisSetTimer@8
|
||||
NdisSetupDmaTransfer@24
|
||||
NdisSystemProcessorCount@0
|
||||
NdisTerminateWrapper@8
|
||||
NdisTransferData@28
|
||||
NdisUnchainBufferAtBack@8
|
||||
NdisUnchainBufferAtFront@8
|
||||
NdisUnicodeStringToAnsiString@8
|
||||
NdisUnmapFile@4
|
||||
NdisUpcaseUnicodeString@8
|
||||
NdisUpdateSharedMemory@20
|
||||
NdisWaitEvent@8
|
||||
NdisWriteConfiguration@16
|
||||
;NdisWriteErrorLogEntry ?
|
||||
NdisWriteEventLogEntry@28
|
||||
NdisWritePciSlotInformation@20
|
||||
NdisWritePcmciaAttributeMemory@16
|
||||
TrChangeFunctionalAddress@20
|
||||
TrChangeGroupAddress@20
|
||||
TrCreateFilter@28
|
||||
TrDeleteFilter@4
|
||||
TrDeleteFilterOpenAdapter@12
|
||||
TrFilterAdjust@20
|
||||
;TrFilterDprIndicateReceive@28
|
||||
;TrFilterDprIndicateReceiveComplete@4
|
||||
TrFilterIndicateReceive@28
|
||||
TrFilterIndicateReceiveComplete@4
|
||||
TrNoteFilterOpenAdapter@16
|
||||
TrShouldAddressLoopBack@12
|
||||
|
||||
; EOF
|
314
reactos/drivers/net/ndis/ndis.edf
Normal file
314
reactos/drivers/net/ndis/ndis.edf
Normal file
|
@ -0,0 +1,314 @@
|
|||
; NDIS Kernel Module - ReactOS Operating System
|
||||
|
||||
LIBRARY NDIS.SYS
|
||||
|
||||
EXPORTS
|
||||
ArcFilterDprIndicateReceive=ArcFilterDprIndicateReceive@16
|
||||
ArcFilterDprIndicateReceiveComplete=ArcFilterDprIndicateReceiveComplete@4
|
||||
EthChangeFilterAddresses=EthChangeFilterAddresses@24
|
||||
EthCreateFilter=EthCreateFilter@28
|
||||
EthDeleteFilter=EthDeleteFilter@4
|
||||
EthDeleteFilterOpenAdapter=EthDeleteFilterOpenAdapter@12
|
||||
EthFilterAdjust=EthFilterAdjust@20
|
||||
;EthFilterDprIndicateReceive@32 ?
|
||||
;EthFilterDprIndicateReceiveComplete@4 ?
|
||||
EthFilterIndicateReceive=EthFilterIndicateReceive@32
|
||||
EthFilterIndicateReceiveComplete=EthFilterIndicateReceiveComplete@4
|
||||
EthNoteFilterOpenAdapter=EthNoteFilterOpenAdapter@16
|
||||
EthNumberOfOpenFilterAddresses=EthNumberOfOpenFilterAddresses@8
|
||||
EthQueryGlobalFilterAddresses=EthQueryGlobalFilterAddresses@20
|
||||
EthQueryOpenFilterAddresses=EthQueryOpenFilterAddresses@24
|
||||
EthShouldAddressLoopBack=EthShouldAddressLoopBack@8
|
||||
FddiChangeFilterLongAddresses=FddiChangeFilterLongAddresses@24
|
||||
FddiChangeFilterShortAddresses=FddiChangeFilterShortAddresses@24
|
||||
FddiCreateFilter=FddiCreateFilter@36
|
||||
FddiDeleteFilter=FddiDeleteFilter@4
|
||||
FddiDeleteFilterOpenAdapter=FddiDeleteFilterOpenAdapter@12
|
||||
FddiFilterAdjust=FddiFilterAdjust@20
|
||||
;FddiFilterDprIndicateReceive@36 ?
|
||||
;FddiFilterDprIndicateReceiveComplete@4 ?
|
||||
FddiFilterIndicateReceive=FddiFilterIndicateReceive@36
|
||||
FddiFilterIndicateReceiveComplete=FddiFilterIndicateReceiveComplete@4
|
||||
FddiNoteFilterOpenAdapter=FddiNoteFilterOpenAdapter@16
|
||||
FddiNumberOfOpenFilterLongAddresses=FddiNumberOfOpenFilterLongAddresses@8
|
||||
FddiNumberOfOpenFilterShortAddresses=FddiNumberOfOpenFilterShortAddresses@8
|
||||
FddiQueryGlobalFilterLongAddresses=FddiQueryGlobalFilterLongAddresses@20
|
||||
FddiQueryGlobalFilterShortAddresses=FddiQueryGlobalFilterShortAddresses@20
|
||||
FddiQueryOpenFilterLongAddresses=FddiQueryOpenFilterLongAddresses@24
|
||||
FddiQueryOpenFilterShortAddresses=FddiQueryOpenFilterShortAddresses@24
|
||||
FddiShouldAddressLoopBack=FddiShouldAddressLoopBack@12
|
||||
NDIS_BUFFER_TO_SPAN_PAGES=NDIS_BUFFER_TO_SPAN_PAGES@4
|
||||
NdisAcquireReadWriteLock=NdisAcquireReadWriteLock@12
|
||||
NdisAcquireSpinLock=NdisAcquireSpinLock@4
|
||||
NdisAdjustBufferLength=NdisAdjustBufferLength@8
|
||||
NdisAllocateBuffer=NdisAllocateBuffer@20
|
||||
NdisAllocateBufferPool=NdisAllocateBufferPool@12
|
||||
NdisAllocateDmaChannel=NdisAllocateDmaChannel@20
|
||||
NdisAllocateMemory=NdisAllocateMemory@20
|
||||
NdisAllocateMemoryWithTag=NdisAllocateMemoryWithTag@12
|
||||
NdisAllocatePacket=NdisAllocatePacket@12
|
||||
NdisAllocatePacketPool=NdisAllocatePacketPool@16
|
||||
NdisAllocatePacketPoolEx=NdisAllocatePacketPoolEx@20
|
||||
NdisAllocateSharedMemory=NdisAllocateSharedMemory@20
|
||||
NdisAllocateSpinLock=NdisAllocateSpinLock@4
|
||||
NdisAnsiStringToUnicodeString=NdisAnsiStringToUnicodeString@8
|
||||
NdisBufferLength=NdisBufferLength@4
|
||||
NdisBufferVirtualAddress=NdisBufferVirtualAddress@4
|
||||
NdisCancelTimer=NdisCancelTimer@8
|
||||
NdisClAddParty=NdisClAddParty@16
|
||||
NdisClCloseAddressFamily=NdisClCloseAddressFamily@4
|
||||
NdisClCloseCall=NdisClCloseCall@16
|
||||
NdisClDeregisterSap=NdisClDeregisterSap@4
|
||||
NdisClDropParty=NdisClDropParty@12
|
||||
NdisClIncomingCallComplete=NdisClIncomingCallComplete@12
|
||||
NdisClMakeCall=NdisClMakeCall@16
|
||||
NdisClModifyCallQoS=NdisClModifyCallQoS@8
|
||||
NdisClOpenAddressFamily=NdisClOpenAddressFamily@24
|
||||
NdisClRegisterSap=NdisClRegisterSap@16
|
||||
NdisCloseAdapter=NdisCloseAdapter@8
|
||||
NdisCloseConfiguration=NdisCloseConfiguration@4
|
||||
NdisCloseFile=NdisCloseFile@4
|
||||
NdisCmActivateVc=NdisCmActivateVc@8
|
||||
NdisCmAddPartyComplete=NdisCmAddPartyComplete@16
|
||||
NdisCmCloseAddressFamilyComplete=NdisCmCloseAddressFamilyComplete@8
|
||||
NdisCmCloseCallComplete=NdisCmCloseCallComplete@12
|
||||
NdisCmDeactivateVc=NdisCmDeactivateVc@4
|
||||
NdisCmDeregisterSapComplete=NdisCmDeregisterSapComplete@8
|
||||
NdisCmDispatchCallConnected=NdisCmDispatchCallConnected@4
|
||||
NdisCmDispatchIncomingCall=NdisCmDispatchIncomingCall@12
|
||||
NdisCmDispatchIncomingCallQoSChange=NdisCmDispatchIncomingCallQoSChange@8
|
||||
NdisCmDispatchIncomingCloseCall=NdisCmDispatchIncomingCloseCall@16
|
||||
NdisCmDispatchIncomingDropParty=NdisCmDispatchIncomingDropParty@16
|
||||
NdisCmDropPartyComplete=NdisCmDropPartyComplete@8
|
||||
NdisCmMakeCallComplete=NdisCmMakeCallComplete@20
|
||||
NdisCmModifyCallQoSComplete=NdisCmModifyCallQoSComplete@12
|
||||
NdisCmOpenAddressFamilyComplete=NdisCmOpenAddressFamilyComplete@12
|
||||
NdisCmRegisterAddressFamily=NdisCmRegisterAddressFamily@16
|
||||
NdisCmRegisterSapComplete=NdisCmRegisterSapComplete@12
|
||||
NdisCoCreateVc=NdisCoCreateVc@16
|
||||
NdisCoDeleteVc=NdisCoDeleteVc@4
|
||||
NdisCoRequest=NdisCoRequest@20
|
||||
NdisCoRequestComplete=NdisCoRequestComplete@20
|
||||
NdisCoSendPackets=NdisCoSendPackets@12
|
||||
;NdisCompareAnsiString ?
|
||||
;NdisCompareUnicodeString ?
|
||||
NdisCompleteBindAdapter=NdisCompleteBindAdapter@12
|
||||
NdisCompleteCloseAdapter=NdisCompleteCloseAdapter@8
|
||||
NdisCompleteDmaTransfer=NdisCompleteDmaTransfer@24
|
||||
NdisCompleteOpenAdapter=NdisCompleteOpenAdapter@12
|
||||
NdisCompletePnPEvent=NdisCompletePnPEvent@12
|
||||
NdisCompleteQueryStatistics=NdisCompleteQueryStatistics@12
|
||||
NdisCompleteUnbindAdapter=NdisCompleteUnbindAdapter@8
|
||||
NdisConvertStringToAtmAddress=NdisConvertStringToAtmAddress@12
|
||||
NdisCopyBuffer=NdisCopyBuffer@24
|
||||
NdisCopyFromPacketToPacket=NdisCopyFromPacketToPacket@24
|
||||
NdisDeregisterAdapter=NdisDeregisterAdapter@4
|
||||
NdisDeregisterAdapterShutdownHandler=NdisDeregisterAdapterShutdownHandler@4
|
||||
NdisDeregisterMac=NdisDeregisterMac@8
|
||||
NdisDeregisterProtocol=NdisDeregisterProtocol@8
|
||||
NdisDprAcquireSpinLock=NdisDprAcquireSpinLock@4
|
||||
NdisDprAllocatePacket=NdisDprAllocatePacket@12
|
||||
NdisDprAllocatePacketNonInterlocked=NdisDprAllocatePacketNonInterlocked@12
|
||||
NdisDprFreePacket=NdisDprFreePacket@4
|
||||
NdisDprFreePacketNonInterlocked=NdisDprFreePacketNonInterlocked@4
|
||||
NdisDprReleaseSpinLock=NdisDprReleaseSpinLock@4
|
||||
NdisEqualString=NdisEqualString@12
|
||||
NdisFlushBuffer=NdisFlushBuffer@8
|
||||
NdisFreeBuffer=NdisFreeBuffer@4
|
||||
NdisFreeBufferPool=NdisFreeBufferPool@4
|
||||
NdisFreeDmaChannel=NdisFreeDmaChannel@4
|
||||
NdisFreeMemory=NdisFreeMemory@12
|
||||
NdisFreePacket=NdisFreePacket@4
|
||||
NdisFreePacketPool=NdisFreePacketPool@4
|
||||
NdisFreeSharedMemory=NdisFreeSharedMemory@24
|
||||
NdisFreeSpinLock=NdisFreeSpinLock@4
|
||||
NdisGetBufferPhysicalArraySize=NdisGetBufferPhysicalArraySize@8
|
||||
NdisGetCurrentProcessorCounts=NdisGetCurrentProcessorCounts@12
|
||||
NdisGetCurrentProcessorCpuUsage=NdisGetCurrentProcessorCpuUsage@4
|
||||
NdisGetCurrentSystemTime=NdisGetCurrentSystemTime@4
|
||||
NdisGetDriverHandle=NdisGetDriverHandle@8
|
||||
NdisGetFirstBufferFromPacket=NdisGetFirstBufferFromPacket@20
|
||||
NdisGetReceivedPacket=NdisGetReceivedPacket@8
|
||||
NdisGetSystemUptime=NdisGetSystemUptime@4
|
||||
NdisIMAssociateMiniport=NdisIMAssociateMiniport@8
|
||||
NdisIMCancelInitializeDeviceInstance=NdisIMCancelInitializeDeviceInstance@8
|
||||
NdisIMCopySendCompletePerPacketInfo=NdisIMCopySendCompletePerPacketInfo@8
|
||||
NdisIMCopySendPerPacketInfo=NdisIMCopySendPerPacketInfo@8
|
||||
NdisIMDeInitializeDeviceInstance=NdisIMDeInitializeDeviceInstance@4
|
||||
NdisIMDeregisterLayeredMiniport=NdisIMDeregisterLayeredMiniport@4
|
||||
NdisIMGetBindingContext=NdisIMGetBindingContext@4
|
||||
NdisIMGetDeviceContext=NdisIMGetDeviceContext@4
|
||||
NdisIMInitializeDeviceInstance=NdisIMInitializeDeviceInstance@8
|
||||
NdisIMInitializeDeviceInstanceEx=NdisIMInitializeDeviceInstanceEx@12
|
||||
NdisImmediateReadPciSlotInformation=NdisImmediateReadPciSlotInformation@20
|
||||
NdisImmediateReadPortUchar=NdisImmediateReadPortUchar@12
|
||||
NdisImmediateReadPortUlong=NdisImmediateReadPortUlong@12
|
||||
NdisImmediateReadPortUshort=NdisImmediateReadPortUshort@12
|
||||
NdisImmediateReadSharedMemory=NdisImmediateReadSharedMemory@16
|
||||
NdisImmediateWritePciSlotInformation=NdisImmediateWritePciSlotInformation@20
|
||||
NdisImmediateWritePortUchar=NdisImmediateWritePortUchar@12
|
||||
NdisImmediateWritePortUlong=NdisImmediateWritePortUlong@12
|
||||
NdisImmediateWritePortUshort=NdisImmediateWritePortUshort@12
|
||||
NdisImmediateWriteSharedMemory=NdisImmediateWriteSharedMemory@16
|
||||
NdisIMQueueMiniportCallback=NdisIMQueueMiniportCallback@12
|
||||
NdisIMRegisterLayeredMiniport=NdisIMRegisterLayeredMiniport@16
|
||||
NdisIMRevertBack=NdisIMRevertBack@8
|
||||
NdisIMSwitchToMiniport=NdisIMSwitchToMiniport@8
|
||||
NdisInitAnsiString=NdisInitAnsiString@8
|
||||
NdisInitializeEvent=NdisInitializeEvent@4
|
||||
NdisInitializeInterrupt=NdisInitializeInterrupt@40
|
||||
NdisInitializeReadWriteLock=NdisInitializeReadWriteLock@4
|
||||
NdisInitializeString=NdisInitializeString@8
|
||||
NdisInitializeTimer=NdisInitializeTimer@12
|
||||
NdisInitializeWrapper=NdisInitializeWrapper@16
|
||||
NdisInitUnicodeString=NdisInitUnicodeString@8
|
||||
;NdisInterlockedAddLargeInterger ?
|
||||
NdisInterlockedAddUlong=NdisInterlockedAddUlong@12
|
||||
NdisInterlockedDecrement=NdisInterlockedDecrement@4
|
||||
NdisInterlockedIncrement=NdisInterlockedIncrement@4
|
||||
NdisInterlockedInsertHeadList=NdisInterlockedInsertHeadList@12
|
||||
NdisInterlockedInsertTailList=NdisInterlockedInsertTailList@12
|
||||
NdisInterlockedPopEntrySList=NdisInterlockedPopEntrySList@8
|
||||
NdisInterlockedPushEntrySList=NdisInterlockedPushEntrySList@12
|
||||
NdisInterlockedRemoveHeadList=NdisInterlockedRemoveHeadList@8
|
||||
NdisMAllocateMapRegisters=NdisMAllocateMapRegisters@20
|
||||
NdisMAllocateSharedMemory=NdisMAllocateSharedMemory@20
|
||||
NdisMAllocateSharedMemoryAsync=NdisMAllocateSharedMemoryAsync@16
|
||||
NdisMapFile=NdisMapFile@12
|
||||
NdisMapIoSpace=NdisMapIoSpace@24
|
||||
;NdisMatchPdoWithPacket ?
|
||||
NdisMCancelTimer=NdisMCancelTimer@8
|
||||
NdisMCloseLog=NdisMCloseLog@4
|
||||
NdisMCmActivateVc=NdisMCmActivateVc@8
|
||||
NdisMCmCreateVc=NdisMCmCreateVc@16
|
||||
NdisMCmDeactivateVc=NdisMCmDeactivateVc@4
|
||||
NdisMCmDeleteVc=NdisMCmDeleteVc@4
|
||||
NdisMCmRegisterAddressFamily=NdisMCmRegisterAddressFamily@16
|
||||
NdisMCmRequest=NdisMCmRequest@16
|
||||
NdisMCoActivateVcComplete=NdisMCoActivateVcComplete@12
|
||||
NdisMCoDeactivateVcComplete=NdisMCoDeactivateVcComplete@8
|
||||
NdisMCoIndicateReceivePacket=NdisMCoIndicateReceivePacket@12
|
||||
NdisMCoIndicateStatus=NdisMCoIndicateStatus@20
|
||||
NdisMCompleteBufferPhysicalMapping=NdisMCompleteBufferPhysicalMapping@12
|
||||
NdisMCoReceiveComplete=NdisMCoReceiveComplete@4
|
||||
NdisMCoRequestComplete=NdisMCoRequestComplete@12
|
||||
NdisMCoSendComplete=NdisMCoSendComplete@12
|
||||
NdisMCreateLog=NdisMCreateLog@12
|
||||
NdisMDeregisterAdapterShutdownHandler=NdisMDeregisterAdapterShutdownHandler@4
|
||||
NdisMDeregisterDevice=NdisMDeregisterDevice@4
|
||||
NdisMDeregisterDmaChannel=NdisMDeregisterDmaChannel@4
|
||||
NdisMDeregisterInterrupt=NdisMDeregisterInterrupt@4
|
||||
NdisMDeregisterIoPortRange=NdisMDeregisterIoPortRange@16
|
||||
NdisMFlushLog=NdisMFlushLog@4
|
||||
NdisMFreeMapRegisters=NdisMFreeMapRegisters@4
|
||||
NdisMFreeSharedMemory=NdisMFreeSharedMemory@24
|
||||
NdisMGetDeviceProperty=NdisMGetDeviceProperty@24
|
||||
NdisMIndicateStatus=NdisMIndicateStatus@16
|
||||
NdisMIndicateStatusComplete=NdisMIndicateStatusComplete@4
|
||||
NdisMInitializeScatterGatherDma=NdisMInitializeScatterGatherDma@12
|
||||
NdisMInitializeTimer=NdisMInitializeTimer@16
|
||||
NdisMMapIoSpace=NdisMMapIoSpace@20
|
||||
NdisMPciAssignResources=NdisMPciAssignResources@12
|
||||
NdisMPromoteMiniport=NdisMPromoteMiniport@4
|
||||
NdisMQueryAdapterInstanceName=NdisMQueryAdapterInstanceName@8
|
||||
NdisMQueryAdapterResources=NdisMQueryAdapterResources@16
|
||||
NdisMQueryInformationComplete=NdisMQueryInformationComplete@8
|
||||
NdisMReadDmaCounter=NdisMReadDmaCounter@4
|
||||
NdisMRegisterAdapterShutdownHandler=NdisMRegisterAdapterShutdownHandler@12
|
||||
NdisMRegisterDevice=NdisMRegisterDevice@24
|
||||
NdisMRegisterDmaChannel=NdisMRegisterDmaChannel@24
|
||||
NdisMRegisterInterrupt=NdisMRegisterInterrupt@28
|
||||
NdisMRegisterIoPortRange=NdisMRegisterIoPortRange@16
|
||||
NdisMRegisterMiniport=NdisMRegisterMiniport@12
|
||||
NdisMRegisterUnloadHandler=NdisMRegisterUnloadHandler@8
|
||||
NdisMRemoveMiniport=NdisMRemoveMiniport@4
|
||||
NdisMResetComplete=NdisMResetComplete@12
|
||||
NdisMSendComplete=NdisMSendComplete@12
|
||||
NdisMSendResourcesAvailable=NdisMSendResourcesAvailable@4
|
||||
NdisMSetAttributes=NdisMSetAttributes@16
|
||||
NdisMSetAttributesEx=NdisMSetAttributesEx@20
|
||||
NdisMSetInformationComplete=NdisMSetInformationComplete@8
|
||||
NdisMSetMiniportSecondary=NdisMSetMiniportSecondary@8
|
||||
NdisMSetPeriodicTimer=NdisMSetPeriodicTimer@8
|
||||
NdisMSetTimer=NdisMSetTimer@8
|
||||
NdisMSleep=NdisMSleep@4
|
||||
NdisMStartBufferPhysicalMapping=NdisMStartBufferPhysicalMapping@24
|
||||
NdisMSynchronizeWithInterrupt=NdisMSynchronizeWithInterrupt@12
|
||||
NdisMTransferDataComplete=NdisMTransferDataComplete@16
|
||||
NdisMUnmapIoSpace=NdisMUnmapIoSpace@12
|
||||
NdisMWanIndicateReceive=NdisMWanIndicateReceive@20
|
||||
NdisMWanIndicateReceiveComplete=NdisMWanIndicateReceiveComplete@4
|
||||
NdisMWanSendComplete=NdisMWanSendComplete@12
|
||||
NdisMWriteLogData=NdisMWriteLogData@12
|
||||
NdisOpenAdapter=NdisOpenAdapter@44
|
||||
NdisOpenConfiguration=NdisOpenConfiguration@12
|
||||
NdisOpenConfigurationKeyByIndex=NdisOpenConfigurationKeyByIndex@20
|
||||
NdisOpenConfigurationKeyByName=NdisOpenConfigurationKeyByName@16
|
||||
NdisOpenFile=NdisOpenFile@24
|
||||
NdisOpenProtocolConfiguration=NdisOpenProtocolConfiguration@12
|
||||
;NdisOverrideBusNumber ?
|
||||
NdisPacketPoolUsage=NdisPacketPoolUsage@4
|
||||
NdisPciAssignResources=NdisPciAssignResources@20
|
||||
NdisQueryAdapterInstanceName=NdisQueryAdapterInstanceName@8
|
||||
;NdisQueryBindInstanceName?
|
||||
NdisQueryBuffer=NdisQueryBuffer@12
|
||||
NdisQueryBufferOffset=NdisQueryBufferOffset@12
|
||||
NdisQueryBufferSafe=NdisQueryBufferSafe@16
|
||||
NdisQueryMapRegisterCount=NdisQueryMapRegisterCount@8
|
||||
NdisReadConfiguration=NdisReadConfiguration@20
|
||||
NdisReadEisaSlotInformation=NdisReadEisaSlotInformation@16
|
||||
NdisReadEisaSlotInformationEx=NdisReadEisaSlotInformationEx@20
|
||||
NdisReadMcaPosInformation=NdisReadMcaPosInformation@16
|
||||
NdisReadNetworkAddress=NdisReadNetworkAddress@16
|
||||
NdisReadPciSlotInformation=NdisReadPciSlotInformation@20
|
||||
NdisReadPcmciaAttributeMemory=NdisReadPcmciaAttributeMemory@16
|
||||
;NdisReEnumerateProtocolBindings ?
|
||||
NdisRegisterAdapter=NdisRegisterAdapter@24
|
||||
NdisRegisterAdapterShutdownHandler=NdisRegisterAdapterShutdownHandler@12
|
||||
NdisRegisterMac=NdisRegisterMac@24
|
||||
NdisRegisterProtocol=NdisRegisterProtocol@16
|
||||
;NdisRegisterTdiCallBack ?
|
||||
NdisReleaseAdapterResources=NdisReleaseAdapterResources@4
|
||||
NdisReleaseReadWriteLock=NdisReleaseReadWriteLock@8
|
||||
NdisReleaseSpinLock=NdisReleaseSpinLock@4
|
||||
NdisRemoveInterrupt=NdisRemoveInterrupt@4
|
||||
NdisRequest=NdisRequest@12
|
||||
NdisReset=NdisReset@8
|
||||
NdisResetEvent=NdisResetEvent@4
|
||||
NdisReturnPackets=NdisReturnPackets@8
|
||||
NdisSend=NdisSend@12
|
||||
NdisSendPackets=NdisSendPackets@12
|
||||
NdisSetEvent=NdisSetEvent@4
|
||||
;NdisSetPacketPoolProtocolId ?
|
||||
;NdisSetProtocolFilter ?
|
||||
NdisSetTimer=NdisSetTimer@8
|
||||
NdisSetupDmaTransfer=NdisSetupDmaTransfer@24
|
||||
NdisSystemProcessorCount=NdisSystemProcessorCount@0
|
||||
NdisTerminateWrapper=NdisTerminateWrapper@8
|
||||
NdisTransferData=NdisTransferData@28
|
||||
NdisUnchainBufferAtBack=NdisUnchainBufferAtBack@8
|
||||
NdisUnchainBufferAtFront=NdisUnchainBufferAtFront@8
|
||||
NdisUnicodeStringToAnsiString=NdisUnicodeStringToAnsiString@8
|
||||
NdisUnmapFile=NdisUnmapFile@4
|
||||
NdisUpcaseUnicodeString=NdisUpcaseUnicodeString@8
|
||||
NdisUpdateSharedMemory=NdisUpdateSharedMemory@20
|
||||
NdisWaitEvent=NdisWaitEvent@8
|
||||
NdisWriteConfiguration=NdisWriteConfiguration@16
|
||||
;NdisWriteErrorLogEntry ?
|
||||
NdisWriteEventLogEntry=NdisWriteEventLogEntry@28
|
||||
NdisWritePciSlotInformation=NdisWritePciSlotInformation@20
|
||||
NdisWritePcmciaAttributeMemory=NdisWritePcmciaAttributeMemory@16
|
||||
TrChangeFunctionalAddress=TrChangeFunctionalAddress@20
|
||||
TrChangeGroupAddress=TrChangeGroupAddress@20
|
||||
TrCreateFilter=TrCreateFilter@28
|
||||
TrDeleteFilter=TrDeleteFilter@4
|
||||
TrDeleteFilterOpenAdapter=TrDeleteFilterOpenAdapter@12
|
||||
TrFilterAdjust=TrFilterAdjust@20
|
||||
;TrFilterDprIndicateReceive@28
|
||||
;TrFilterDprIndicateReceiveComplete@4
|
||||
TrFilterIndicateReceive=TrFilterIndicateReceive@28
|
||||
TrFilterIndicateReceiveComplete=TrFilterIndicateReceiveComplete@4
|
||||
TrNoteFilterOpenAdapter=TrNoteFilterOpenAdapter@16
|
||||
TrShouldAddressLoopBack=TrShouldAddressLoopBack@12
|
||||
|
||||
; EOF
|
38
reactos/drivers/net/ndis/ndis.rc
Normal file
38
reactos/drivers/net/ndis/ndis.rc
Normal file
|
@ -0,0 +1,38 @@
|
|||
#include <defines.h>
|
||||
#include <reactos/resource.h>
|
||||
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
|
||||
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", RES_STR_COMPANY_NAME
|
||||
VALUE "FileDescription", "NDIS library\0"
|
||||
VALUE "FileVersion", "0.0.0\0"
|
||||
VALUE "InternalName", "ndis\0"
|
||||
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
|
||||
VALUE "OriginalFilename", "ndis.sys\0"
|
||||
VALUE "ProductName", RES_STR_PRODUCT_NAME
|
||||
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
749
reactos/drivers/net/ndis/ndis/40gone.c
Normal file
749
reactos/drivers/net/ndis/ndis/40gone.c
Normal file
|
@ -0,0 +1,749 @@
|
|||
/*
|
||||
* 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>
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
ArcFilterDprIndicateReceive(
|
||||
IN PARC_FILTER Filter,
|
||||
IN PUCHAR pRawHeader,
|
||||
IN PUCHAR pData,
|
||||
IN UINT Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
ArcFilterDprIndicateReceiveComplete(
|
||||
IN PARC_FILTER Filter)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
EthChangeFilterAddresses(
|
||||
IN PETH_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN PNDIS_REQUEST NdisRequest,
|
||||
IN UINT AddressCount,
|
||||
IN CHAR Addresses [] [ETH_LENGTH_OF_ADDRESS],
|
||||
IN BOOLEAN Set)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
EthCreateFilter(
|
||||
IN UINT MaximumMulticastAddresses,
|
||||
IN ETH_ADDRESS_CHANGE AddressChangeAction,
|
||||
IN ETH_FILTER_CHANGE FilterChangeAction,
|
||||
IN ETH_DEFERRED_CLOSE CloseAction,
|
||||
IN PUCHAR AdapterAddress,
|
||||
IN PNDIS_SPIN_LOCK Lock,
|
||||
OUT PETH_FILTER * Filter)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
EthDeleteFilter(
|
||||
IN PETH_FILTER Filter)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
EthDeleteFilterOpenAdapter(
|
||||
IN PETH_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN PNDIS_REQUEST NdisRequest)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
EthFilterAdjust(
|
||||
IN PETH_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN PNDIS_REQUEST NdisRequest,
|
||||
IN UINT FilterClasses,
|
||||
IN BOOLEAN Set)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
EthFilterIndicateReceive(
|
||||
IN PETH_FILTER Filter,
|
||||
IN NDIS_HANDLE MacReceiveContext,
|
||||
IN PCHAR Address,
|
||||
IN PVOID HeaderBuffer,
|
||||
IN UINT HeaderBufferSize,
|
||||
IN PVOID LookaheadBuffer,
|
||||
IN UINT LookaheadBufferSize,
|
||||
IN UINT PacketSize)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
EthFilterIndicateReceiveComplete(
|
||||
IN PETH_FILTER Filter)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
EthNoteFilterOpenAdapter(
|
||||
IN PETH_FILTER Filter,
|
||||
IN NDIS_HANDLE MacBindingHandle,
|
||||
IN NDIS_HANDLE NdisBindingContext,
|
||||
OUT PNDIS_HANDLE NdisFilterHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
UINT
|
||||
EXPORT
|
||||
EthNumberOfOpenFilterAddresses(
|
||||
IN PETH_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
EthQueryGlobalFilterAddresses (
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN PETH_FILTER Filter,
|
||||
IN UINT SizeOfArray,
|
||||
OUT PUINT NumberOfAddresses,
|
||||
IN OUT CHAR AddressArray [] [ETH_LENGTH_OF_ADDRESS])
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
EthQueryOpenFilterAddresses(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN PETH_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN UINT SizeOfArray,
|
||||
OUT PUINT NumberOfAddresses,
|
||||
IN OUT CHAR AddressArray [] [ETH_LENGTH_OF_ADDRESS])
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
EthShouldAddressLoopBack(
|
||||
IN PETH_FILTER Filter,
|
||||
IN CHAR Address [ETH_LENGTH_OF_ADDRESS])
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
FddiChangeFilterLongAddresses(
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN PNDIS_REQUEST NdisRequest,
|
||||
IN UINT AddressCount,
|
||||
IN CHAR Addresses [] [FDDI_LENGTH_OF_LONG_ADDRESS],
|
||||
IN BOOLEAN Set)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
FddiChangeFilterShortAddresses(
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN PNDIS_REQUEST NdisRequest,
|
||||
IN UINT AddressCount,
|
||||
IN CHAR Addresses [] [FDDI_LENGTH_OF_SHORT_ADDRESS],
|
||||
IN BOOLEAN Set)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
FddiCreateFilter(
|
||||
IN UINT MaximumMulticastLongAddresses,
|
||||
IN UINT MaximumMulticastShortAddresses,
|
||||
IN FDDI_ADDRESS_CHANGE AddressChangeAction,
|
||||
IN FDDI_FILTER_CHANGE FilterChangeAction,
|
||||
IN FDDI_DEFERRED_CLOSE CloseAction,
|
||||
IN PUCHAR AdapterLongAddress,
|
||||
IN PUCHAR AdapterShortAddress,
|
||||
IN PNDIS_SPIN_LOCK Lock,
|
||||
OUT PFDDI_FILTER * Filter)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
FddiDeleteFilter(
|
||||
IN PFDDI_FILTER Filter)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
FddiDeleteFilterOpenAdapter(
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN PNDIS_REQUEST NdisRequest)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
FddiFilterAdjust(
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN PNDIS_REQUEST NdisRequest,
|
||||
IN UINT FilterClasses,
|
||||
IN BOOLEAN Set)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
FddiFilterIndicateReceive(
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
FddiFilterIndicateReceiveComplete(
|
||||
IN PFDDI_FILTER Filter)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
FddiNoteFilterOpenAdapter(
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN NDIS_HANDLE MacBindingHandle,
|
||||
IN NDIS_HANDLE NdisBindingContext,
|
||||
OUT PNDIS_HANDLE NdisFilterHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
UINT
|
||||
EXPORT
|
||||
FddiNumberOfOpenFilterLongAddresses(
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
UINT
|
||||
EXPORT
|
||||
FddiNumberOfOpenFilterShortAddresses(
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
FddiQueryGlobalFilterLongAddresses(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN UINT SizeOfArray,
|
||||
OUT PUINT NumberOfAddresses,
|
||||
IN OUT CHAR AddressArray [] [FDDI_LENGTH_OF_LONG_ADDRESS])
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
FddiQueryGlobalFilterShortAddresses(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN UINT SizeOfArray,
|
||||
OUT PUINT NumberOfAddresses,
|
||||
IN OUT CHAR AddressArray [] [FDDI_LENGTH_OF_SHORT_ADDRESS])
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
FddiQueryOpenFilterLongAddresses(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN UINT SizeOfArray,
|
||||
OUT PUINT NumberOfAddresses,
|
||||
IN OUT CHAR AddressArray [] [FDDI_LENGTH_OF_LONG_ADDRESS])
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
FddiQueryOpenFilterShortAddresses(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN UINT SizeOfArray,
|
||||
OUT PUINT NumberOfAddresses,
|
||||
IN OUT CHAR AddressArray [] [FDDI_LENGTH_OF_SHORT_ADDRESS])
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
FddiShouldAddressLoopBack(
|
||||
IN PFDDI_FILTER Filter,
|
||||
IN CHAR Address [],
|
||||
IN UINT LengthOfAddress)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisAllocateDmaChannel(
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_HANDLE NdisDmaHandle,
|
||||
IN NDIS_HANDLE NdisAdapterHandle,
|
||||
IN PNDIS_DMA_DESCRIPTION DmaDescription,
|
||||
IN ULONG MaximumLength)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisAllocateSharedMemory(
|
||||
IN NDIS_HANDLE NdisAdapterHandle,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN Cached,
|
||||
OUT PVOID *VirtualAddress,
|
||||
OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCompleteBufferPhysicalMapping(
|
||||
IN NDIS_HANDLE NdisAdapterHandle,
|
||||
IN PNDIS_BUFFER Buffer,
|
||||
IN ULONG PhysicalMapRegister)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCompleteRequest(
|
||||
IN NDIS_HANDLE NdisBindingContext,
|
||||
IN PNDIS_REQUEST NdisRequest,
|
||||
IN NDIS_STATUS Status)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCompleteReset(
|
||||
IN NDIS_HANDLE NdisBindingContext,
|
||||
IN NDIS_STATUS Status)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCompleteSend(
|
||||
IN NDIS_HANDLE NdisBindingContext,
|
||||
IN PNDIS_PACKET Packet,
|
||||
IN NDIS_STATUS Status)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCompleteTransferData(
|
||||
IN NDIS_HANDLE NdisBindingContext,
|
||||
IN PNDIS_PACKET Packet,
|
||||
IN NDIS_STATUS Status,
|
||||
IN UINT BytesTransferred)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisIndicateReceive(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisBindingContext,
|
||||
IN NDIS_HANDLE MacReceiveContext,
|
||||
IN PVOID HeaderBuffer,
|
||||
IN UINT HeaderBufferSize,
|
||||
IN PVOID LookaheadBuffer,
|
||||
IN UINT LookaheadBufferSize,
|
||||
IN UINT PacketSize)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisIndicateReceiveComplete(
|
||||
IN NDIS_HANDLE NdisBindingContext)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisIndicateStatus(
|
||||
IN NDIS_HANDLE NdisBindingContext,
|
||||
IN NDIS_STATUS GeneralStatus,
|
||||
IN PVOID StatusBuffer,
|
||||
IN UINT StatusBufferSize)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisIndicateStatusComplete(
|
||||
IN NDIS_HANDLE NdisBindingContext)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisReadBindingInformation (
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_STRING * Binding,
|
||||
IN NDIS_HANDLE ConfigurationHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
EXPORT
|
||||
NdisReadDmaCounter(
|
||||
IN NDIS_HANDLE NdisDmaHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisStartBufferPhysicalMapping(
|
||||
IN NDIS_HANDLE NdisAdapterHandle,
|
||||
IN PNDIS_BUFFER Buffer,
|
||||
IN ULONG PhysicalMapRegister,
|
||||
IN BOOLEAN WriteToDevice,
|
||||
OUT PNDIS_PHYSICAL_ADDRESS_UNIT PhysicalAddressArray,
|
||||
OUT PUINT ArraySize)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
NdisSynchronizeWithInterrupt(
|
||||
IN PNDIS_INTERRUPT Interrupt,
|
||||
IN PVOID SynchronizeFunction,
|
||||
IN PVOID SynchronizeContext)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisUnmapIoSpace(
|
||||
IN NDIS_HANDLE NdisAdapterHandle,
|
||||
IN PVOID VirtualAddress,
|
||||
IN UINT Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
TrChangeFunctionalAddress(
|
||||
IN PTR_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN PNDIS_REQUEST NdisRequest,
|
||||
IN CHAR FunctionalAddressArray [TR_LENGTH_OF_FUNCTIONAL],
|
||||
IN BOOLEAN Set)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
TrChangeGroupAddress(
|
||||
IN PTR_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN PNDIS_REQUEST NdisRequest,
|
||||
IN CHAR GroupAddressArray [TR_LENGTH_OF_FUNCTIONAL],
|
||||
IN BOOLEAN Set)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
TrCreateFilter(
|
||||
IN TR_ADDRESS_CHANGE AddressChangeAction,
|
||||
IN TR_GROUP_CHANGE GroupChangeAction,
|
||||
IN TR_FILTER_CHANGE FilterChangeAction,
|
||||
IN TR_DEFERRED_CLOSE CloseAction,
|
||||
IN PUCHAR AdapterAddress,
|
||||
IN PNDIS_SPIN_LOCK Lock,
|
||||
OUT PTR_FILTER * Filter)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
TrDeleteFilter(
|
||||
IN PTR_FILTER Filter)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
TrDeleteFilterOpenAdapter (
|
||||
IN PTR_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN PNDIS_REQUEST NdisRequest)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
TrFilterAdjust(
|
||||
IN PTR_FILTER Filter,
|
||||
IN NDIS_HANDLE NdisFilterHandle,
|
||||
IN PNDIS_REQUEST NdisRequest,
|
||||
IN UINT FilterClasses,
|
||||
IN BOOLEAN Set)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
TrFilterIndicateReceive(
|
||||
IN PTR_FILTER Filter,
|
||||
IN NDIS_HANDLE MacReceiveContext,
|
||||
IN PVOID HeaderBuffer,
|
||||
IN UINT HeaderBufferSize,
|
||||
IN PVOID LookaheadBuffer,
|
||||
IN UINT LookaheadBufferSize,
|
||||
IN UINT PacketSize)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
TrFilterIndicateReceiveComplete(
|
||||
IN PTR_FILTER Filter)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
TrNoteFilterOpenAdapter(
|
||||
IN PTR_FILTER Filter,
|
||||
IN NDIS_HANDLE MacBindingHandle,
|
||||
IN NDIS_HANDLE NdisBindingContext,
|
||||
OUT PNDIS_HANDLE NdisFilterHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
TrShouldAddressLoopBack(
|
||||
IN PTR_FILTER Filter,
|
||||
IN CHAR DestinationAddress [TR_LENGTH_OF_ADDRESS],
|
||||
IN CHAR SourceAddress [TR_LENGTH_OF_ADDRESS])
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* EOF */
|
408
reactos/drivers/net/ndis/ndis/50gone.c
Normal file
408
reactos/drivers/net/ndis/ndis/50gone.c
Normal file
|
@ -0,0 +1,408 @@
|
|||
/*
|
||||
* 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>
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCompleteCloseAdapter(
|
||||
IN NDIS_HANDLE NdisBindingContext,
|
||||
IN NDIS_STATUS Status)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCompleteOpenAdapter(
|
||||
IN NDIS_HANDLE NdisBindingContext,
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_STATUS OpenErrorStatus)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisDeregisterAdapter(
|
||||
IN NDIS_HANDLE NdisAdapterHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisDeregisterAdapterShutdownHandler(
|
||||
IN NDIS_HANDLE NdisAdapterHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisDeregisterMac(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisMacHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisFreeDmaChannel(
|
||||
IN PNDIS_HANDLE NdisDmaHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
*/
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisIMRevertBack(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN NDIS_HANDLE SwitchHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
NdisIMSwitchToMiniport(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
OUT PNDIS_HANDLE SwitchHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisInitializeInterrupt(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN OUT PNDIS_INTERRUPT Interrupt,
|
||||
IN NDIS_HANDLE NdisAdapterHandle,
|
||||
IN PNDIS_INTERRUPT_SERVICE InterruptServiceRoutine,
|
||||
IN PVOID InterruptContext,
|
||||
IN PNDIS_DEFERRED_PROCESSING DeferredProcessingRoutine,
|
||||
IN UINT InterruptVector,
|
||||
IN UINT InterruptLevel,
|
||||
IN BOOLEAN SharedInterrupt,
|
||||
IN NDIS_INTERRUPT_MODE InterruptMode)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisOverrideBusNumber(
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
IN NDIS_HANDLE MiniportAdapterHandle OPTIONAL,
|
||||
IN ULONG BusNumber)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisRegisterAdapterShutdownHandler(
|
||||
IN NDIS_HANDLE NdisAdapterHandle,
|
||||
IN PVOID ShutdownContext,
|
||||
IN ADAPTER_SHUTDOWN_HANDLER ShutdownHandler)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisRegisterMac(
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_HANDLE NdisMacHandle,
|
||||
IN NDIS_HANDLE NdisWrapperHandle,
|
||||
IN NDIS_HANDLE MacMacContext,
|
||||
IN PNDIS_MAC_CHARACTERISTICS MacCharacteristics,
|
||||
IN UINT CharacteristicsLength)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisReleaseAdapterResources(
|
||||
IN NDIS_HANDLE NdisAdapterHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisRemoveInterrupt(
|
||||
IN PNDIS_INTERRUPT Interrupt)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisUpdateSharedMemory(
|
||||
IN NDIS_HANDLE NdisAdapterHandle,
|
||||
IN ULONG Length,
|
||||
IN PVOID VirtualAddress,
|
||||
IN NDIS_PHYSICAL_ADDRESS PhysicalAddress)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 4.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
/* EOF */
|
7
reactos/drivers/net/ndis/ndis/MAKEFILE
Normal file
7
reactos/drivers/net/ndis/ndis/MAKEFILE
Normal file
|
@ -0,0 +1,7 @@
|
|||
#
|
||||
# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
|
||||
# file to this component. This file merely indirects to the real make file
|
||||
# that is shared by all the driver components of the Windows NT DDK
|
||||
#
|
||||
|
||||
!INCLUDE $(NTMAKEENV)\makefile.def
|
314
reactos/drivers/net/ndis/ndis/NDIS.DEF
Normal file
314
reactos/drivers/net/ndis/ndis/NDIS.DEF
Normal file
|
@ -0,0 +1,314 @@
|
|||
; NDIS Kernel Module - ReactOS Operating System
|
||||
|
||||
LIBRARY NDIS.SYS
|
||||
|
||||
EXPORTS
|
||||
ArcFilterDprIndicateReceive
|
||||
ArcFilterDprIndicateReceiveComplete
|
||||
EthChangeFilterAddresses
|
||||
EthCreateFilter
|
||||
EthDeleteFilter
|
||||
EthDeleteFilterOpenAdapter
|
||||
EthFilterAdjust
|
||||
;EthFilterDprIndicateReceive ?
|
||||
;EthFilterDprIndicateReceiveComplete ?
|
||||
EthFilterIndicateReceive
|
||||
EthFilterIndicateReceiveComplete
|
||||
EthNoteFilterOpenAdapter
|
||||
EthNumberOfOpenFilterAddresses
|
||||
EthQueryGlobalFilterAddresses
|
||||
EthQueryOpenFilterAddresses
|
||||
EthShouldAddressLoopBack
|
||||
FddiChangeFilterLongAddresses
|
||||
FddiChangeFilterShortAddresses
|
||||
FddiCreateFilter
|
||||
FddiDeleteFilter
|
||||
FddiDeleteFilterOpenAdapter
|
||||
FddiFilterAdjust
|
||||
;FddiFilterDprIndicateReceive ?
|
||||
;FddiFilterDprIndicateReceiveComplete ?
|
||||
FddiFilterIndicateReceive
|
||||
FddiFilterIndicateReceiveComplete
|
||||
FddiNoteFilterOpenAdapter
|
||||
FddiNumberOfOpenFilterLongAddresses
|
||||
FddiNumberOfOpenFilterShortAddresses
|
||||
FddiQueryGlobalFilterLongAddresses
|
||||
FddiQueryGlobalFilterShortAddresses
|
||||
FddiQueryOpenFilterLongAddresses
|
||||
FddiQueryOpenFilterShortAddresses
|
||||
FddiShouldAddressLoopBack
|
||||
NDIS_BUFFER_TO_SPAN_PAGES
|
||||
NdisAcquireReadWriteLock
|
||||
NdisAcquireSpinLock
|
||||
NdisAdjustBufferLength
|
||||
NdisAllocateBuffer
|
||||
NdisAllocateBufferPool
|
||||
NdisAllocateDmaChannel
|
||||
NdisAllocateMemory
|
||||
NdisAllocateMemoryWithTag
|
||||
NdisAllocatePacket
|
||||
NdisAllocatePacketPool
|
||||
NdisAllocatePacketPoolEx
|
||||
NdisAllocateSharedMemory
|
||||
NdisAllocateSpinLock
|
||||
NdisAnsiStringToUnicodeString
|
||||
NdisBufferLength
|
||||
NdisBufferVirtualAddress
|
||||
NdisCancelTimer
|
||||
NdisClAddParty
|
||||
NdisClCloseAddressFamily
|
||||
NdisClCloseCall
|
||||
NdisClDeregisterSap
|
||||
NdisClDropParty
|
||||
NdisClIncomingCallComplete
|
||||
NdisClMakeCall
|
||||
NdisClModifyCallQoS
|
||||
NdisClOpenAddressFamily
|
||||
NdisClRegisterSap
|
||||
NdisCloseAdapter
|
||||
NdisCloseConfiguration
|
||||
NdisCloseFile
|
||||
NdisCmActivateVc
|
||||
NdisCmAddPartyComplete
|
||||
NdisCmCloseAddressFamilyComplete
|
||||
NdisCmCloseCallComplete
|
||||
NdisCmDeactivateVc
|
||||
NdisCmDeregisterSapComplete
|
||||
NdisCmDispatchCallConnected
|
||||
NdisCmDispatchIncomingCall
|
||||
NdisCmDispatchIncomingCallQoSChange
|
||||
NdisCmDispatchIncomingCloseCall
|
||||
NdisCmDispatchIncomingDropParty
|
||||
NdisCmDropPartyComplete
|
||||
NdisCmMakeCallComplete
|
||||
NdisCmModifyCallQoSComplete
|
||||
NdisCmOpenAddressFamilyComplete
|
||||
NdisCmRegisterAddressFamily
|
||||
NdisCmRegisterSapComplete
|
||||
NdisCoCreateVc
|
||||
NdisCoDeleteVc
|
||||
NdisCoRequest
|
||||
NdisCoRequestComplete
|
||||
NdisCoSendPackets
|
||||
;NdisCompareAnsiString ?
|
||||
;NdisCompareUnicodeString ?
|
||||
NdisCompleteBindAdapter
|
||||
NdisCompleteCloseAdapter
|
||||
NdisCompleteDmaTransfer
|
||||
NdisCompleteOpenAdapter
|
||||
NdisCompletePnPEvent
|
||||
NdisCompleteQueryStatistics
|
||||
NdisCompleteUnbindAdapter
|
||||
NdisConvertStringToAtmAddress
|
||||
NdisCopyBuffer
|
||||
NdisCopyFromPacketToPacket
|
||||
NdisDeregisterAdapter
|
||||
NdisDeregisterAdapterShutdownHandler
|
||||
NdisDeregisterMac
|
||||
NdisDeregisterProtocol
|
||||
NdisDprAcquireSpinLock
|
||||
NdisDprAllocatePacket
|
||||
NdisDprAllocatePacketNonInterlocked
|
||||
NdisDprFreePacket
|
||||
NdisDprFreePacketNonInterlocked
|
||||
NdisDprReleaseSpinLock
|
||||
NdisEqualString
|
||||
NdisFlushBuffer
|
||||
NdisFreeBuffer
|
||||
NdisFreeBufferPool
|
||||
NdisFreeDmaChannel
|
||||
NdisFreeMemory
|
||||
NdisFreePacket
|
||||
NdisFreePacketPool
|
||||
NdisFreeSharedMemory
|
||||
NdisFreeSpinLock
|
||||
NdisGetBufferPhysicalArraySize
|
||||
NdisGetCurrentProcessorCounts
|
||||
NdisGetCurrentProcessorCpuUsage
|
||||
NdisGetCurrentSystemTime
|
||||
NdisGetDriverHandle
|
||||
NdisGetFirstBufferFromPacket
|
||||
NdisGetReceivedPacket
|
||||
NdisGetSystemUptime
|
||||
NdisIMAssociateMiniport
|
||||
NdisIMCancelInitializeDeviceInstance
|
||||
NdisIMCopySendCompletePerPacketInfo
|
||||
NdisIMCopySendPerPacketInfo
|
||||
NdisIMDeInitializeDeviceInstance
|
||||
NdisIMDeregisterLayeredMiniport
|
||||
NdisIMGetBindingContext
|
||||
NdisIMGetDeviceContext
|
||||
NdisIMInitializeDeviceInstance
|
||||
NdisIMInitializeDeviceInstanceEx
|
||||
NdisImmediateReadPciSlotInformation
|
||||
NdisImmediateReadPortUchar
|
||||
NdisImmediateReadPortUlong
|
||||
NdisImmediateReadPortUshort
|
||||
NdisImmediateReadSharedMemory
|
||||
NdisImmediateWritePciSlotInformation
|
||||
NdisImmediateWritePortUchar
|
||||
NdisImmediateWritePortUlong
|
||||
NdisImmediateWritePortUshort
|
||||
NdisImmediateWriteSharedMemory
|
||||
NdisIMQueueMiniportCallback
|
||||
NdisIMRegisterLayeredMiniport
|
||||
NdisIMRevertBack
|
||||
NdisIMSwitchToMiniport
|
||||
NdisInitAnsiString
|
||||
NdisInitializeEvent
|
||||
NdisInitializeInterrupt
|
||||
NdisInitializeReadWriteLock
|
||||
NdisInitializeString
|
||||
NdisInitializeTimer
|
||||
NdisInitializeWrapper
|
||||
NdisInitUnicodeString
|
||||
;NdisInterlockedAddLargeInterger ?
|
||||
NdisInterlockedAddUlong
|
||||
NdisInterlockedDecrement
|
||||
NdisInterlockedIncrement
|
||||
NdisInterlockedInsertHeadList
|
||||
NdisInterlockedInsertTailList
|
||||
NdisInterlockedPopEntrySList
|
||||
NdisInterlockedPushEntrySList
|
||||
NdisInterlockedRemoveHeadList
|
||||
NdisMAllocateMapRegisters
|
||||
NdisMAllocateSharedMemory
|
||||
NdisMAllocateSharedMemoryAsync
|
||||
NdisMapFile
|
||||
NdisMapIoSpace
|
||||
;NdisMatchPdoWithPacket ?
|
||||
NdisMCancelTimer
|
||||
NdisMCloseLog
|
||||
NdisMCmActivateVc
|
||||
NdisMCmCreateVc
|
||||
NdisMCmDeactivateVc
|
||||
NdisMCmDeleteVc
|
||||
NdisMCmRegisterAddressFamily
|
||||
NdisMCmRequest
|
||||
NdisMCoActivateVcComplete
|
||||
NdisMCoDeactivateVcComplete
|
||||
NdisMCoIndicateReceivePacket
|
||||
NdisMCoIndicateStatus
|
||||
NdisMCompleteBufferPhysicalMapping
|
||||
NdisMCoReceiveComplete
|
||||
NdisMCoRequestComplete
|
||||
NdisMCoSendComplete
|
||||
NdisMCreateLog
|
||||
NdisMDeregisterAdapterShutdownHandler
|
||||
NdisMDeregisterDevice
|
||||
NdisMDeregisterDmaChannel
|
||||
NdisMDeregisterInterrupt
|
||||
NdisMDeregisterIoPortRange
|
||||
NdisMFlushLog
|
||||
NdisMFreeMapRegisters
|
||||
NdisMFreeSharedMemory
|
||||
NdisMGetDeviceProperty
|
||||
NdisMIndicateStatus
|
||||
NdisMIndicateStatusComplete
|
||||
NdisMInitializeScatterGatherDma
|
||||
NdisMInitializeTimer
|
||||
NdisMMapIoSpace
|
||||
NdisMPciAssignResources
|
||||
NdisMPromoteMiniport
|
||||
NdisMQueryAdapterInstanceName
|
||||
NdisMQueryAdapterResources
|
||||
NdisMQueryInformationComplete
|
||||
NdisMReadDmaCounter
|
||||
NdisMRegisterAdapterShutdownHandler
|
||||
NdisMRegisterDevice
|
||||
NdisMRegisterDmaChannel
|
||||
NdisMRegisterInterrupt
|
||||
NdisMRegisterIoPortRange
|
||||
NdisMRegisterMiniport
|
||||
NdisMRegisterUnloadHandler
|
||||
NdisMRemoveMiniport
|
||||
NdisMResetComplete
|
||||
NdisMSendComplete
|
||||
NdisMSendResourcesAvailable
|
||||
NdisMSetAttributes
|
||||
NdisMSetAttributesEx
|
||||
NdisMSetInformationComplete
|
||||
NdisMSetMiniportSecondary
|
||||
NdisMSetPeriodicTimer
|
||||
NdisMSetTimer
|
||||
NdisMSleep
|
||||
NdisMStartBufferPhysicalMapping
|
||||
NdisMSynchronizeWithInterrupt
|
||||
NdisMTransferDataComplete
|
||||
NdisMUnmapIoSpace
|
||||
NdisMWanIndicateReceive
|
||||
NdisMWanIndicateReceiveComplete
|
||||
NdisMWanSendComplete
|
||||
NdisMWriteLogData
|
||||
NdisOpenAdapter
|
||||
NdisOpenConfiguration
|
||||
NdisOpenConfigurationKeyByIndex
|
||||
NdisOpenConfigurationKeyByName
|
||||
NdisOpenFile
|
||||
NdisOpenProtocolConfiguration
|
||||
;NdisOverrideBusNumber ?
|
||||
NdisPacketPoolUsage
|
||||
NdisPciAssignResources
|
||||
NdisQueryAdapterInstanceName
|
||||
;NdisQueryBindInstanceName?
|
||||
NdisQueryBuffer
|
||||
NdisQueryBufferOffset
|
||||
NdisQueryBufferSafe
|
||||
NdisQueryMapRegisterCount
|
||||
NdisReadConfiguration
|
||||
NdisReadEisaSlotInformation
|
||||
NdisReadEisaSlotInformationEx
|
||||
NdisReadMcaPosInformation
|
||||
NdisReadNetworkAddress
|
||||
NdisReadPciSlotInformation
|
||||
NdisReadPcmciaAttributeMemory
|
||||
;NdisReEnumerateProtocolBindings ?
|
||||
NdisRegisterAdapter
|
||||
NdisRegisterAdapterShutdownHandler
|
||||
NdisRegisterMac
|
||||
NdisRegisterProtocol
|
||||
;NdisRegisterTdiCallBack ?
|
||||
NdisReleaseAdapterResources
|
||||
NdisReleaseReadWriteLock
|
||||
NdisReleaseSpinLock
|
||||
NdisRemoveInterrupt
|
||||
NdisRequest
|
||||
NdisReset
|
||||
NdisResetEvent
|
||||
NdisReturnPackets
|
||||
NdisSend
|
||||
NdisSendPackets
|
||||
NdisSetEvent
|
||||
;NdisSetPacketPoolProtocolId ?
|
||||
;NdisSetProtocolFilter ?
|
||||
NdisSetTimer
|
||||
NdisSetupDmaTransfer
|
||||
NdisSystemProcessorCount
|
||||
NdisTerminateWrapper
|
||||
NdisTransferData
|
||||
NdisUnchainBufferAtBack
|
||||
NdisUnchainBufferAtFront
|
||||
NdisUnicodeStringToAnsiString
|
||||
NdisUnmapFile
|
||||
NdisUpcaseUnicodeString
|
||||
NdisUpdateSharedMemory
|
||||
NdisWaitEvent
|
||||
NdisWriteConfiguration
|
||||
;NdisWriteErrorLogEntry
|
||||
NdisWriteEventLogEntry
|
||||
NdisWritePciSlotInformation
|
||||
NdisWritePcmciaAttributeMemory
|
||||
TrChangeFunctionalAddress
|
||||
TrChangeGroupAddress
|
||||
TrCreateFilter
|
||||
TrDeleteFilter
|
||||
TrDeleteFilterOpenAdapter
|
||||
TrFilterAdjust
|
||||
;TrFilterDprIndicateReceive
|
||||
;TrFilterDprIndicateReceiveComplete
|
||||
TrFilterIndicateReceive
|
||||
TrFilterIndicateReceiveComplete
|
||||
TrNoteFilterOpenAdapter
|
||||
TrShouldAddressLoopBack
|
||||
|
||||
; EOF
|
10
reactos/drivers/net/ndis/ndis/RESOURCE.RC
Normal file
10
reactos/drivers/net/ndis/ndis/RESOURCE.RC
Normal file
|
@ -0,0 +1,10 @@
|
|||
#include <windows.h>
|
||||
#include <ntverp.h>
|
||||
|
||||
#define VER_FILETYPE VFT_DRV
|
||||
#define VER_FILESUBTYPE VFT2_DRV_NETWORK
|
||||
#define VER_FILEDESCRIPTION_STR "NDIS library"
|
||||
#define VER_INTERNALNAME_STR "NDIS.SYS"
|
||||
#define VER_ORIGINALFILENAME_STR "NDIS.SYS"
|
||||
|
||||
#include "common.ver"
|
29
reactos/drivers/net/ndis/ndis/SOURCES
Normal file
29
reactos/drivers/net/ndis/ndis/SOURCES
Normal file
|
@ -0,0 +1,29 @@
|
|||
TARGETNAME=ndis
|
||||
TARGETPATH=..\objects
|
||||
TARGETTYPE=EXPORT_DRIVER
|
||||
|
||||
TARGETLIBS=
|
||||
|
||||
C_DEFINES=$(C_DEFINES) -DUNICODE -DNDIS_WRAPPER -DBINARY_COMPATIBLE=1
|
||||
|
||||
INCLUDES=..\include;..\..\..\..\include\net;$(BASEDIR)\INC
|
||||
|
||||
SOURCES= 40gone.c \
|
||||
50gone.c \
|
||||
buffer.c \
|
||||
cl.c \
|
||||
cm.c \
|
||||
co.c \
|
||||
control.c \
|
||||
hardware.c \
|
||||
io.c \
|
||||
main.c \
|
||||
memory.c \
|
||||
miniport.c \
|
||||
protocol.c \
|
||||
string.c \
|
||||
stubs.c \
|
||||
time.c \
|
||||
RESOURCE.RC
|
||||
|
||||
MSC_WARNING_LEVEL=/W3 /WX
|
772
reactos/drivers/net/ndis/ndis/buffer.c
Normal file
772
reactos/drivers/net/ndis/ndis/buffer.c
Normal file
|
@ -0,0 +1,772 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/buffer.c
|
||||
* PURPOSE: Buffer management routines
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <buffer.h>
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisAdjustBufferLength(
|
||||
IN PNDIS_BUFFER Buffer,
|
||||
IN UINT Length)
|
||||
/*
|
||||
* FUNCTION: Modifies the length of an NDIS buffer
|
||||
* ARGUMENTS:
|
||||
* Buffer = Pointer to NDIS buffer descriptor
|
||||
* Length = New size of buffer
|
||||
*/
|
||||
{
|
||||
Buffer->ByteCount = Length;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
EXPORT
|
||||
NDIS_BUFFER_TO_SPAN_PAGES(
|
||||
IN PNDIS_BUFFER Buffer)
|
||||
/*
|
||||
* FUNCTION: Determines how many physical pages a buffer is made of
|
||||
* ARGUMENTS:
|
||||
* Buffer = Pointer to NDIS buffer descriptor
|
||||
*/
|
||||
{
|
||||
if (MmGetMdlByteCount(Buffer) == 0)
|
||||
return 1;
|
||||
|
||||
return ADDRESS_AND_SIZE_TO_SPAN_PAGES(
|
||||
MmGetMdlVirtualAddress(Buffer),
|
||||
MmGetMdlByteCount(Buffer));
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisAllocateBuffer(
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_BUFFER * Buffer,
|
||||
IN NDIS_HANDLE PoolHandle,
|
||||
IN PVOID VirtualAddress,
|
||||
IN UINT Length)
|
||||
/*
|
||||
* FUNCTION: Allocates an NDIS buffer descriptor
|
||||
* ARGUMENTS:
|
||||
* Status = Address of buffer for status
|
||||
* Buffer = Address of buffer for NDIS buffer descriptor
|
||||
* PoolHandle = Handle returned by NdisAllocateBufferPool
|
||||
* VirtualAddress = Pointer to virtual address of data buffer
|
||||
* Length = Number of bytes in data buffer
|
||||
*/
|
||||
{
|
||||
KIRQL OldIrql;
|
||||
PNETWORK_HEADER Temp;
|
||||
PNDIS_BUFFER_POOL Pool = (PNDIS_BUFFER_POOL)PoolHandle;
|
||||
|
||||
NDIS_DbgPrint(MAX_TRACE, ("Status (0x%X) Buffer (0x%X) PoolHandle (0x%X) "
|
||||
"VirtualAddress (0x%X) Length (%d)\n",
|
||||
Status, Buffer, PoolHandle, VirtualAddress, Length));
|
||||
|
||||
KeAcquireSpinLock(&Pool->SpinLock, &OldIrql);
|
||||
|
||||
if (Pool->FreeList) {
|
||||
Temp = Pool->FreeList;
|
||||
Pool->FreeList = Temp->Next;
|
||||
|
||||
KeReleaseSpinLock(&Pool->SpinLock, OldIrql);
|
||||
|
||||
Temp->Next = NULL;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
MmInitializeMdl(&Temp->Mdl, VirtualAddress, Length);
|
||||
Temp->Mdl.MdlFlags |= (MDL_SOURCE_IS_NONPAGED_POOL | MDL_ALLOCATED_FIXED_SIZE);
|
||||
Temp->Mdl.MappedSystemVa = VirtualAddress;
|
||||
#else
|
||||
Temp->Mdl.Next = (PMDL)NULL;
|
||||
Temp->Mdl.Size = (CSHORT)(sizeof(MDL) +
|
||||
(ADDRESS_AND_SIZE_TO_SPAN_PAGES(VirtualAddress, Length) * sizeof(ULONG)));
|
||||
Temp->Mdl.MdlFlags = (MDL_SOURCE_IS_NONPAGED_POOL | MDL_ALLOCATED_FIXED_SIZE);
|
||||
; Temp->Mdl.StartVa = (PVOID)PAGE_ROUND_DOWN(VirtualAddress);
|
||||
Temp->Mdl.ByteOffset = (ULONG_PTR)(VirtualAddress - PAGE_ROUND_DOWN(VirtualAddress));
|
||||
Temp->Mdl.ByteCount = Length;
|
||||
Temp->Mdl.MappedSystemVa = VirtualAddress;
|
||||
#if 0
|
||||
//Temp->Mdl.Process = PsGetCurrentProcess();
|
||||
#else
|
||||
Temp->Mdl.Process = NULL;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Temp->BufferPool = Pool;
|
||||
|
||||
*Buffer = (PNDIS_BUFFER)Temp;
|
||||
*Status = NDIS_STATUS_SUCCESS;
|
||||
} else {
|
||||
KeReleaseSpinLock(&Pool->SpinLock, OldIrql);
|
||||
*Status = NDIS_STATUS_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisAllocateBufferPool(
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_HANDLE PoolHandle,
|
||||
IN UINT NumberOfDescriptors)
|
||||
/*
|
||||
* FUNCTION: Allocates storage for an NDIS buffer pool
|
||||
* ARGUMENTS:
|
||||
* Status = Address of buffer for status
|
||||
* PoolHandle = Address of buffer for pool handle
|
||||
* NumberOfDescriptors = Size of buffer pool in number of descriptors
|
||||
*/
|
||||
{
|
||||
UINT i;
|
||||
PNDIS_BUFFER_POOL Pool;
|
||||
PNETWORK_HEADER Buffer;
|
||||
|
||||
NDIS_DbgPrint(MAX_TRACE, ("Status (0x%X) PoolHandle (0x%X) NumberOfDescriptors (%d).\n",
|
||||
Status, PoolHandle, NumberOfDescriptors));
|
||||
|
||||
Pool = ExAllocatePool(NonPagedPool,
|
||||
sizeof(NDIS_BUFFER_POOL) +
|
||||
sizeof(NETWORK_HEADER) *
|
||||
NumberOfDescriptors);
|
||||
if (Pool) {
|
||||
KeInitializeSpinLock(&Pool->SpinLock);
|
||||
|
||||
if (NumberOfDescriptors > 0) {
|
||||
Buffer = &Pool->Buffers[0];
|
||||
Pool->FreeList = Buffer;
|
||||
for (i = 1; i < NumberOfDescriptors; i++) {
|
||||
Buffer->Next = &Pool->Buffers[i];
|
||||
Buffer = Buffer->Next;
|
||||
}
|
||||
Buffer->Next = NULL;
|
||||
} else
|
||||
Pool->FreeList = NULL;
|
||||
|
||||
*Status = NDIS_STATUS_SUCCESS;
|
||||
*PoolHandle = (PNDIS_HANDLE)Pool;
|
||||
} else
|
||||
*Status = NDIS_STATUS_RESOURCES;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisAllocatePacket(
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_PACKET * Packet,
|
||||
IN NDIS_HANDLE PoolHandle)
|
||||
/*
|
||||
* FUNCTION: Allocates an NDIS packet descriptor
|
||||
* ARGUMENTS:
|
||||
* Status = Address of buffer for status
|
||||
* Packet = Address of buffer for packet descriptor
|
||||
* PoolHandle = Handle returned by NdisAllocatePacketPool
|
||||
*/
|
||||
{
|
||||
KIRQL OldIrql;
|
||||
PNDIS_PACKET Temp;
|
||||
PNDIS_PACKET_POOL Pool = (PNDIS_PACKET_POOL)PoolHandle;
|
||||
|
||||
NDIS_DbgPrint(MAX_TRACE, ("Status (0x%X) Packet (0x%X) PoolHandle (0x%X).\n",
|
||||
Status, Packet, PoolHandle));
|
||||
|
||||
KeAcquireSpinLock(&Pool->SpinLock.SpinLock, &OldIrql);
|
||||
|
||||
if (Pool->FreeList) {
|
||||
Temp = Pool->FreeList;
|
||||
Pool->FreeList = (PNDIS_PACKET)Temp->Private.Head;
|
||||
|
||||
KeReleaseSpinLock(&Pool->SpinLock.SpinLock, OldIrql);
|
||||
|
||||
RtlZeroMemory(&Temp->Private, sizeof(NDIS_PACKET_PRIVATE));
|
||||
Temp->Private.Pool = Pool;
|
||||
|
||||
*Packet = Temp;
|
||||
*Status = NDIS_STATUS_SUCCESS;
|
||||
} else {
|
||||
*Status = NDIS_STATUS_RESOURCES;
|
||||
KeReleaseSpinLock(&Pool->SpinLock.SpinLock, OldIrql);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisAllocatePacketPool(
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_HANDLE PoolHandle,
|
||||
IN UINT NumberOfDescriptors,
|
||||
IN UINT ProtocolReservedLength)
|
||||
/*
|
||||
* FUNCTION: Allocates storage for an NDIS packet pool
|
||||
* ARGUMENTS:
|
||||
* Status = Address of buffer for status
|
||||
* PoolHandle = Address of buffer for pool handle
|
||||
* NumberOfDescriptors = Size of packet pool in number of descriptors
|
||||
* ProtocolReservedLength = Size of protocol reserved area in bytes
|
||||
*/
|
||||
{
|
||||
PNDIS_PACKET_POOL Pool;
|
||||
UINT Size, Length, i;
|
||||
PNDIS_PACKET Packet, NextPacket;
|
||||
|
||||
NDIS_DbgPrint(MAX_TRACE, ("Status (0x%X) PoolHandle (0x%X) "
|
||||
"NumberOfDescriptors (%d) ProtocolReservedLength (%d).\n",
|
||||
Status, PoolHandle, NumberOfDescriptors, ProtocolReservedLength));
|
||||
|
||||
Length = sizeof(NDIS_PACKET) + ProtocolReservedLength;
|
||||
Size = sizeof(NDIS_PACKET_POOL) + Length * NumberOfDescriptors;
|
||||
|
||||
Pool = ExAllocatePool(NonPagedPool, Size);
|
||||
if (Pool) {
|
||||
KeInitializeSpinLock(&Pool->SpinLock.SpinLock);
|
||||
Pool->PacketLength = Length;
|
||||
|
||||
if (NumberOfDescriptors > 0) {
|
||||
Packet = (PNDIS_PACKET)&Pool->Buffer;
|
||||
Pool->FreeList = Packet;
|
||||
|
||||
NextPacket = (PNDIS_PACKET)((ULONG_PTR)Packet + Length);
|
||||
for (i = 1; i < NumberOfDescriptors; i++) {
|
||||
Packet->Private.Head = (PNDIS_BUFFER)NextPacket;
|
||||
Packet = NextPacket;
|
||||
NextPacket = (PNDIS_PACKET)((ULONG_PTR)Packet + Length);
|
||||
}
|
||||
Packet->Private.Head = NULL;
|
||||
} else
|
||||
Pool->FreeList = NULL;
|
||||
|
||||
*Status = NDIS_STATUS_SUCCESS;
|
||||
*PoolHandle = (PNDIS_HANDLE)Pool;
|
||||
} else
|
||||
*Status = NDIS_STATUS_RESOURCES;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisAllocatePacketPoolEx(
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_HANDLE PoolHandle,
|
||||
IN UINT NumberOfDescriptors,
|
||||
IN UINT NumberOfOverflowDescriptors,
|
||||
IN UINT ProtocolReservedLength)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
EXPORT
|
||||
NdisBufferLength(
|
||||
IN PNDIS_BUFFER Buffer)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
PVOID
|
||||
EXPORT
|
||||
NdisBufferVirtualAddress(
|
||||
IN PNDIS_BUFFER Buffer)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
__inline ULONG SkipToOffset(
|
||||
PNDIS_BUFFER Buffer,
|
||||
UINT Offset,
|
||||
PVOID *Data,
|
||||
PUINT Size)
|
||||
/*
|
||||
* FUNCTION: Skips Offset bytes into a buffer chain
|
||||
* ARGUMENTS:
|
||||
* Buffer = Pointer to NDIS buffer
|
||||
* Offset = Number of bytes to skip
|
||||
* Data = Address of a pointer that on return will contain the
|
||||
* address of the offset in the buffer
|
||||
* Size = Address of a pointer that on return will contain the
|
||||
* size of the destination buffer
|
||||
* RETURNS:
|
||||
* Offset into buffer, -1 if buffer chain was smaller than Offset bytes
|
||||
* NOTES:
|
||||
* Buffer may be NULL
|
||||
*/
|
||||
{
|
||||
ULONG Address = 0;
|
||||
|
||||
for (;;) {
|
||||
|
||||
if (!Buffer)
|
||||
return -1;
|
||||
|
||||
NdisQueryBuffer(Buffer, Data, Size);
|
||||
|
||||
if (Offset < *Size) {
|
||||
Address += Offset;
|
||||
*Size -= Offset;
|
||||
break;
|
||||
}
|
||||
|
||||
Offset -= *Size;
|
||||
|
||||
NdisGetNextBuffer(Buffer, &Buffer);
|
||||
}
|
||||
|
||||
*Data = (PVOID)Address;
|
||||
|
||||
return Offset;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCopyFromPacketToPacket(
|
||||
IN PNDIS_PACKET Destination,
|
||||
IN UINT DestinationOffset,
|
||||
IN UINT BytesToCopy,
|
||||
IN PNDIS_PACKET Source,
|
||||
IN UINT SourceOffset,
|
||||
OUT PUINT BytesCopied)
|
||||
/*
|
||||
* FUNCTION: Copies data from one packet to another
|
||||
* ARGUMENTS:
|
||||
* Destination = Pointer to packet to copy data to
|
||||
* DestinationOffset = Offset in destination packet to copy data to
|
||||
* BytesToCopy = Number of bytes to copy
|
||||
* Source = Pointer to packet descriptor to copy from
|
||||
* SourceOffset = Offset in source packet to start copying from
|
||||
* BytesCopied = Address of buffer to place number of bytes copied
|
||||
*/
|
||||
{
|
||||
PNDIS_BUFFER SrcBuffer;
|
||||
PNDIS_BUFFER DstBuffer;
|
||||
PVOID DstData, SrcData;
|
||||
UINT DstSize, SrcSize;
|
||||
UINT Count, Total;
|
||||
|
||||
*BytesCopied = 0;
|
||||
|
||||
/* Skip DestinationOffset bytes in the destination packet */
|
||||
NdisGetFirstBufferFromPacket(Destination, &DstBuffer, &DstData, &DstSize, &Total);
|
||||
if (SkipToOffset(DstBuffer, DestinationOffset, &DstData, &DstSize) == -1)
|
||||
return;
|
||||
|
||||
/* Skip SourceOffset bytes in the source packet */
|
||||
NdisGetFirstBufferFromPacket(Source, &SrcBuffer, &SrcData, &SrcSize, &Total);
|
||||
if (SkipToOffset(SrcBuffer, SourceOffset, &SrcData, &SrcSize) == -1)
|
||||
return;
|
||||
|
||||
/* Copy the data */
|
||||
for (Total = 0;;) {
|
||||
/* Find out how many bytes we can copy at one time */
|
||||
if (BytesToCopy < SrcSize)
|
||||
Count = BytesToCopy;
|
||||
else
|
||||
Count = SrcSize;
|
||||
if (DstSize < Count)
|
||||
Count = DstSize;
|
||||
|
||||
RtlCopyMemory(DstData, SrcData, Count);
|
||||
|
||||
Total += Count;
|
||||
BytesToCopy -= Count;
|
||||
if (BytesToCopy == 0)
|
||||
break;
|
||||
|
||||
DstSize -= Count;
|
||||
if (DstSize == 0) {
|
||||
/* No more bytes in destination buffer. Proceed to
|
||||
the next buffer in the destination buffer chain */
|
||||
NdisGetNextBuffer(DstBuffer, &DstBuffer);
|
||||
if (!DstBuffer)
|
||||
break;
|
||||
|
||||
NdisQueryBuffer(DstBuffer, &DstData, &DstSize);
|
||||
}
|
||||
|
||||
SrcSize -= Count;
|
||||
if (SrcSize == 0) {
|
||||
/* No more bytes in source buffer. Proceed to
|
||||
the next buffer in the source buffer chain */
|
||||
NdisGetNextBuffer(SrcBuffer, &SrcBuffer);
|
||||
if (!SrcBuffer)
|
||||
break;
|
||||
|
||||
NdisQueryBuffer(SrcBuffer, &SrcData, &SrcSize);
|
||||
}
|
||||
}
|
||||
|
||||
*BytesCopied = Total;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisDprAllocatePacket(
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_PACKET *Packet,
|
||||
IN NDIS_HANDLE PoolHandle)
|
||||
/*
|
||||
* FUNCTION: Allocates a packet at IRQL DISPATCH_LEVEL
|
||||
* ARGUMENTS:
|
||||
* Status = Address of buffer to place status of operation
|
||||
* Packet = Address of buffer to place a pointer to a packet descriptor
|
||||
* PoolHandle = Handle returned by NdisAllocatePacketPool
|
||||
*/
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisDprAllocatePacketNonInterlocked(
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_PACKET *Packet,
|
||||
IN NDIS_HANDLE PoolHandle)
|
||||
/*
|
||||
* FUNCTION: Allocates a packet at IRQL DISPATCH_LEVEL (w/o synchronization)
|
||||
* ARGUMENTS:
|
||||
* Status = Address of buffer to place status of operation
|
||||
* Packet = Address of buffer to place a pointer to a packet descriptor
|
||||
* PoolHandle = Handle returned by NdisAllocatePacketPool
|
||||
*/
|
||||
{
|
||||
*Status = NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisDprFreePacket(
|
||||
IN PNDIS_PACKET Packet)
|
||||
/*
|
||||
* FUNCTION: Frees a packet at IRQL DISPATCH_LEVEL
|
||||
* ARGUMENTS:
|
||||
* Packet = Pointer to packet to free
|
||||
*/
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisDprFreePacketNonInterlocked(
|
||||
IN PNDIS_PACKET Packet)
|
||||
/*
|
||||
* FUNCTION: Frees a packet at IRQL DISPATCH_LEVEL (w/o synchronization)
|
||||
* ARGUMENTS:
|
||||
* Packet = Pointer to packet to free
|
||||
*/
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisFreeBufferPool(
|
||||
IN NDIS_HANDLE PoolHandle)
|
||||
/*
|
||||
* FUNCTION: Frees storage allocated for an NDIS buffer pool
|
||||
* ARGUMENTS:
|
||||
* PoolHandle = Handle returned by NdisAllocateBufferPool
|
||||
*/
|
||||
{
|
||||
ExFreePool((PVOID)PoolHandle);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisFreePacketPool(
|
||||
IN NDIS_HANDLE PoolHandle)
|
||||
/*
|
||||
* FUNCTION: Frees storage allocated for an NDIS packet pool
|
||||
* ARGUMENTS:
|
||||
* PoolHandle = Handle returned by NdisAllocatePacketPool
|
||||
*/
|
||||
{
|
||||
ExFreePool((PVOID)PoolHandle);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisFreeBuffer(
|
||||
IN PNDIS_BUFFER Buffer)
|
||||
/*
|
||||
* FUNCTION: Puts an NDIS buffer descriptor back in it's pool
|
||||
* ARGUMENTS:
|
||||
* Buffer = Pointer to buffer descriptor
|
||||
*/
|
||||
{
|
||||
KIRQL OldIrql;
|
||||
PNDIS_BUFFER_POOL Pool;
|
||||
PNETWORK_HEADER Temp = (PNETWORK_HEADER)Buffer;
|
||||
|
||||
NDIS_DbgPrint(MAX_TRACE, ("Buffer (0x%X).\n", Buffer));
|
||||
|
||||
Pool = Temp->BufferPool;
|
||||
|
||||
KeAcquireSpinLock(&Pool->SpinLock, &OldIrql);
|
||||
Buffer->Next = (PMDL)Pool->FreeList;
|
||||
Pool->FreeList = (PNETWORK_HEADER)Buffer;
|
||||
KeReleaseSpinLock(&Pool->SpinLock, OldIrql);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisFreePacket(
|
||||
IN PNDIS_PACKET Packet)
|
||||
/*
|
||||
* FUNCTION: Puts an NDIS packet descriptor back in it's pool
|
||||
* ARGUMENTS:
|
||||
* Packet = Pointer to packet descriptor
|
||||
*/
|
||||
{
|
||||
KIRQL OldIrql;
|
||||
|
||||
NDIS_DbgPrint(MAX_TRACE, ("Packet (0x%X).\n", Packet));
|
||||
|
||||
KeAcquireSpinLock(&Packet->Private.Pool->SpinLock.SpinLock, &OldIrql);
|
||||
Packet->Private.Head = (PNDIS_BUFFER)Packet->Private.Pool->FreeList;
|
||||
Packet->Private.Pool->FreeList = Packet;
|
||||
KeReleaseSpinLock(&Packet->Private.Pool->SpinLock.SpinLock, OldIrql);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisGetBufferPhysicalArraySize(
|
||||
IN PNDIS_BUFFER Buffer,
|
||||
OUT PUINT ArraySize)
|
||||
/*
|
||||
* FUNCTION: Returns number of discontiguous physical blocks backing a buffer
|
||||
* ARGUMENTS:
|
||||
* Buffer = Pointer to buffer descriptor
|
||||
* ArraySize = Address of buffer to place number of physical blocks
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisGetFirstBufferFromPacket(
|
||||
IN PNDIS_PACKET _Packet,
|
||||
OUT PNDIS_BUFFER *_FirstBuffer,
|
||||
OUT PVOID *_FirstBufferVA,
|
||||
OUT PUINT _FirstBufferLength,
|
||||
OUT PUINT _TotalBufferLength)
|
||||
{
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
UINT
|
||||
EXPORT
|
||||
NdisPacketPoolUsage(
|
||||
IN NDIS_HANDLE PoolHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisQueryBuffer(
|
||||
IN PNDIS_BUFFER Buffer,
|
||||
OUT PVOID *VirtualAddress OPTIONAL,
|
||||
OUT PUINT Length)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* Queries an NDIS buffer for information
|
||||
* ARGUMENTS:
|
||||
* Buffer = Pointer to NDIS buffer to query
|
||||
* VirtualAddress = Address of buffer to place virtual address
|
||||
* Length = Address of buffer to place length of buffer
|
||||
*/
|
||||
{
|
||||
if (VirtualAddress != NULL)
|
||||
*(PVOID*)VirtualAddress = MmGetSystemAddressForMdl(Buffer);
|
||||
|
||||
*Length = MmGetMdlByteCount(Buffer);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisQueryBufferOffset(
|
||||
IN PNDIS_BUFFER Buffer,
|
||||
OUT PUINT Offset,
|
||||
OUT PUINT Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisUnchainBufferAtBack(
|
||||
IN OUT PNDIS_PACKET Packet,
|
||||
OUT PNDIS_BUFFER *Buffer)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* Removes the last buffer in a packet
|
||||
* ARGUMENTS:
|
||||
* Packet = Pointer to NDIS packet
|
||||
* Buffer = Address of buffer to place pointer to removed NDIS buffer
|
||||
*/
|
||||
{
|
||||
PNDIS_BUFFER NdisBuffer, Previous;
|
||||
|
||||
NdisQueryPacket(Packet,
|
||||
NULL,
|
||||
NULL,
|
||||
&NdisBuffer,
|
||||
NULL);
|
||||
if (!NdisBuffer) {
|
||||
*Buffer = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
Previous = NULL;
|
||||
while (NdisBuffer->Next) {
|
||||
Previous = NdisBuffer;
|
||||
NdisBuffer = NdisBuffer->Next;
|
||||
}
|
||||
|
||||
if (Previous) {
|
||||
Previous->Next = NULL;
|
||||
Packet->Private.Tail = Previous;
|
||||
} else {
|
||||
Packet->Private.Head = NULL;
|
||||
Packet->Private.Tail = NULL;
|
||||
}
|
||||
|
||||
Packet->Private.ValidCounts = FALSE;
|
||||
|
||||
*Buffer = NdisBuffer;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisUnchainBufferAtFront(
|
||||
IN OUT PNDIS_PACKET Packet,
|
||||
OUT PNDIS_BUFFER *Buffer)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* Removes the first buffer in a packet
|
||||
* ARGUMENTS:
|
||||
* Packet = Pointer to NDIS packet
|
||||
* Buffer = Address of buffer to place pointer to removed NDIS buffer
|
||||
*/
|
||||
{
|
||||
PNDIS_BUFFER NdisBuffer;
|
||||
|
||||
NdisQueryPacket(Packet,
|
||||
NULL,
|
||||
NULL,
|
||||
&NdisBuffer,
|
||||
NULL);
|
||||
if (!NdisBuffer) {
|
||||
*Buffer = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
Packet->Private.Head = NdisBuffer->Next;
|
||||
|
||||
if (!NdisBuffer->Next)
|
||||
Packet->Private.Tail = NULL;
|
||||
|
||||
NdisBuffer->Next = NULL;
|
||||
|
||||
Packet->Private.ValidCounts = FALSE;
|
||||
|
||||
*Buffer = NdisBuffer;
|
||||
}
|
||||
|
||||
/* EOF */
|
202
reactos/drivers/net/ndis/ndis/cl.c
Normal file
202
reactos/drivers/net/ndis/ndis/cl.c
Normal file
|
@ -0,0 +1,202 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/cl.c
|
||||
* PURPOSE: Services for connectionless NDIS drivers
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <ndissys.h>
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPIMP
|
||||
NdisClAddParty(
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN NDIS_HANDLE ProtocolPartyContext,
|
||||
IN OUT PCO_CALL_PARAMETERS CallParameters,
|
||||
OUT PNDIS_HANDLE NdisPartyHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPIMP
|
||||
NdisClCloseAddressFamily(
|
||||
IN NDIS_HANDLE NdisAfHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPIMP
|
||||
NdisClCloseCall(
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
|
||||
IN PVOID Buffer OPTIONAL,
|
||||
IN UINT Size)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPIMP
|
||||
NdisClDeregisterSap(
|
||||
IN NDIS_HANDLE NdisSapHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPIMP
|
||||
NdisClDropParty(
|
||||
IN NDIS_HANDLE NdisPartyHandle,
|
||||
IN PVOID Buffer OPTIONAL,
|
||||
IN UINT Size)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPIMP
|
||||
NdisClIncomingCallComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN PCO_CALL_PARAMETERS CallParameters)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPIMP
|
||||
NdisClMakeCall(
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN OUT PCO_CALL_PARAMETERS CallParameters,
|
||||
IN NDIS_HANDLE ProtocolPartyContext OPTIONAL,
|
||||
OUT PNDIS_HANDLE NdisPartyHandle OPTIONAL)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPIMP
|
||||
NdisClModifyCallQoS(
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN PCO_CALL_PARAMETERS CallParameters)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPIMP
|
||||
NdisClOpenAddressFamily(
|
||||
IN NDIS_HANDLE NdisBindingHandle,
|
||||
IN PCO_ADDRESS_FAMILY AddressFamily,
|
||||
IN NDIS_HANDLE ProtocolAfContext,
|
||||
IN PNDIS_CLIENT_CHARACTERISTICS ClCharacteristics,
|
||||
IN UINT SizeOfClCharacteristics,
|
||||
OUT PNDIS_HANDLE NdisAfHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPIMP
|
||||
NdisClRegisterSap(
|
||||
IN NDIS_HANDLE NdisAfHandle,
|
||||
IN NDIS_HANDLE ProtocolSapContext,
|
||||
IN PCO_SAP Sap,
|
||||
OUT PNDIS_HANDLE NdisSapHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
/* EOF */
|
418
reactos/drivers/net/ndis/ndis/cm.c
Normal file
418
reactos/drivers/net/ndis/ndis/cm.c
Normal file
|
@ -0,0 +1,418 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/cm.c
|
||||
* PURPOSE: Call Manager services
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <ndissys.h>
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisCmActivateVc(
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN OUT PCO_CALL_PARAMETERS CallParameters)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmAddPartyComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisPartyHandle,
|
||||
IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
|
||||
IN PCO_CALL_PARAMETERS CallParameters)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmCloseAddressFamilyComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisAfHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmCloseCallComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN NDIS_HANDLE NdisPartyHandle OPTIONAL)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisCmDeactivateVc(
|
||||
IN NDIS_HANDLE NdisVcHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmDeregisterSapComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisSapHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmDispatchCallConnected(
|
||||
IN NDIS_HANDLE NdisVcHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisCmDispatchIncomingCall(
|
||||
IN NDIS_HANDLE NdisSapHandle,
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN PCO_CALL_PARAMETERS CallParameters)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmDispatchIncomingCallQoSChange(
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN PCO_CALL_PARAMETERS CallParameters)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmDispatchIncomingCloseCall(
|
||||
IN NDIS_STATUS CloseStatus,
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN PVOID Buffer OPTIONAL,
|
||||
IN UINT Size)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmDispatchIncomingDropParty(
|
||||
IN NDIS_STATUS DropStatus,
|
||||
IN NDIS_HANDLE NdisPartyHandle,
|
||||
IN PVOID Buffer OPTIONAL,
|
||||
IN UINT Size)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmDropPartyComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisPartyHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmMakeCallComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
|
||||
IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
|
||||
IN PCO_CALL_PARAMETERS CallParameters)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmModifyCallQoSComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN PCO_CALL_PARAMETERS CallParameters)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmOpenAddressFamilyComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisAfHandle,
|
||||
IN NDIS_HANDLE CallMgrAfContext)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisCmRegisterAddressFamily(
|
||||
IN NDIS_HANDLE NdisBindingHandle,
|
||||
IN PCO_ADDRESS_FAMILY AddressFamily,
|
||||
IN PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics,
|
||||
IN UINT SizeOfCmCharacteristics)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCmRegisterSapComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisSapHandle,
|
||||
IN NDIS_HANDLE CallMgrSapContext)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMCmActivateVc(
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN PCO_CALL_PARAMETERS CallParameters)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMCmCreateVc(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN NDIS_HANDLE NdisAfHandle,
|
||||
IN NDIS_HANDLE MiniportVcContext,
|
||||
OUT PNDIS_HANDLE NdisVcHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMCmDeactivateVc(
|
||||
IN NDIS_HANDLE NdisVcHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMCmDeleteVc(
|
||||
IN NDIS_HANDLE NdisVcHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMCmRegisterAddressFamily(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN PCO_ADDRESS_FAMILY AddressFamily,
|
||||
IN PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics,
|
||||
IN UINT SizeOfCmCharacteristics)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMCmRequest(
|
||||
IN NDIS_HANDLE NdisAfHandle,
|
||||
IN NDIS_HANDLE NdisVcHandle OPTIONAL,
|
||||
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
|
||||
IN OUT PNDIS_REQUEST NdisRequest)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
/* EOF */
|
226
reactos/drivers/net/ndis/ndis/co.c
Normal file
226
reactos/drivers/net/ndis/ndis/co.c
Normal file
|
@ -0,0 +1,226 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/co.c
|
||||
* PURPOSE: Services for connection-oriented NDIS drivers
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <ndissys.h>
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisCoCreateVc(
|
||||
IN NDIS_HANDLE NdisBindingHandle,
|
||||
IN NDIS_HANDLE NdisAfHandle OPTIONAL,
|
||||
IN NDIS_HANDLE ProtocolVcContext,
|
||||
IN OUT PNDIS_HANDLE NdisVcHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisCoDeleteVc(
|
||||
IN NDIS_HANDLE NdisVcHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisCoRequest(
|
||||
IN NDIS_HANDLE NdisBindingHandle,
|
||||
IN NDIS_HANDLE NdisAfHandle OPTIONAL,
|
||||
IN NDIS_HANDLE NdisVcHandle OPTIONAL,
|
||||
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
|
||||
IN OUT PNDIS_REQUEST NdisRequest)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCoRequestComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisAfHandle,
|
||||
IN NDIS_HANDLE NdisVcHandle OPTIONAL,
|
||||
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
|
||||
IN PNDIS_REQUEST NdisRequest)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCoSendPackets(
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN PPNDIS_PACKET PacketArray,
|
||||
IN UINT NumberOfPackets)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMCoActivateVcComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN PCO_CALL_PARAMETERS CallParameters)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMCoDeactivateVcComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisVcHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMCoIndicateReceivePacket(
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN PPNDIS_PACKET PacketArray,
|
||||
IN UINT NumberOfPackets)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMCoIndicateStatus(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN NDIS_HANDLE NdisVcHandle OPTIONAL,
|
||||
IN NDIS_STATUS GeneralStatus,
|
||||
IN PVOID StatusBuffer OPTIONAL,
|
||||
IN ULONG StatusBufferSize)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMCoReceiveComplete(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMCoRequestComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN PNDIS_REQUEST Request)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMCoSendComplete(
|
||||
IN NDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisVcHandle,
|
||||
IN PNDIS_PACKET Packet)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
189
reactos/drivers/net/ndis/ndis/control.c
Normal file
189
reactos/drivers/net/ndis/ndis/control.c
Normal file
|
@ -0,0 +1,189 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/control.c
|
||||
* PURPOSE: Program control routines
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <ndissys.h>
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisAcquireReadWriteLock(
|
||||
IN PNDIS_RW_LOCK Lock,
|
||||
IN BOOLEAN fWrite,
|
||||
IN PLOCK_STATE LockState)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisAcquireSpinLock(
|
||||
IN PNDIS_SPIN_LOCK SpinLock)
|
||||
/*
|
||||
* FUNCTION: Acquires a spin lock for exclusive access to a resource
|
||||
* ARGUMENTS:
|
||||
* SpinLock = Pointer to the initialized NDIS spin lock to be acquired
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisAllocateSpinLock(
|
||||
IN PNDIS_SPIN_LOCK SpinLock)
|
||||
/*
|
||||
* FUNCTION: Initializes for an NDIS spin lock
|
||||
* ARGUMENTS:
|
||||
* SpinLock = Pointer to an NDIS spin lock structure
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisDprAcquireSpinLock(
|
||||
IN PNDIS_SPIN_LOCK SpinLock)
|
||||
/*
|
||||
* FUNCTION: Acquires a spin lock from IRQL DISPATCH_LEVEL
|
||||
* ARGUMENTS:
|
||||
* SpinLock = Pointer to the initialized NDIS spin lock to be acquired
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisDprReleaseSpinLock(
|
||||
IN PNDIS_SPIN_LOCK SpinLock)
|
||||
/*
|
||||
* FUNCTION: Releases an acquired spin lock from IRQL DISPATCH_LEVEL
|
||||
* ARGUMENTS:
|
||||
* SpinLock = Pointer to the acquired NDIS spin lock to be released
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisFreeSpinLock(
|
||||
IN PNDIS_SPIN_LOCK SpinLock)
|
||||
/*
|
||||
* FUNCTION: Releases a spin lock initialized with NdisAllocateSpinLock
|
||||
* ARGUMENTS:
|
||||
* SpinLock = Pointer to an initialized NDIS spin lock
|
||||
*/
|
||||
{
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisInitializeEvent(
|
||||
IN PNDIS_EVENT Event)
|
||||
/*
|
||||
* FUNCTION: Initializes an event to be used for synchronization
|
||||
* ARGUMENTS:
|
||||
* Event = Pointer to an NDIS event structure to be initialized
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisReleaseSpinLock(
|
||||
IN PNDIS_SPIN_LOCK SpinLock)
|
||||
/*
|
||||
* FUNCTION: Releases a spin lock previously acquired with NdisAcquireSpinLock
|
||||
* ARGUMENTS:
|
||||
* SpinLock = Pointer to the acquired NDIS spin lock to be released
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisResetEvent(
|
||||
IN PNDIS_EVENT Event)
|
||||
/*
|
||||
* FUNCTION: Clears the signaled state of an event
|
||||
* ARGUMENTS:
|
||||
* Event = Pointer to the initialized event object to be reset
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisSetEvent(
|
||||
IN PNDIS_EVENT Event)
|
||||
/*
|
||||
* FUNCTION: Sets an event to a signaled state if not already signaled
|
||||
* ARGUMENTS:
|
||||
* Event = Pointer to the initialized event object to be set
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
NdisWaitEvent(
|
||||
IN PNDIS_EVENT Event,
|
||||
IN UINT MsToWait)
|
||||
/*
|
||||
* FUNCTION: Waits for an event to become signaled
|
||||
* ARGUMENTS:
|
||||
* Event = Pointer to the initialized event object to wait for
|
||||
* MsToWait = Maximum milliseconds to wait for the event to become signaled
|
||||
* RETURNS:
|
||||
* TRUE if the event is in the signaled state
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* EOF */
|
134
reactos/drivers/net/ndis/ndis/hardware.c
Normal file
134
reactos/drivers/net/ndis/ndis/hardware.c
Normal file
|
@ -0,0 +1,134 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/hardware.c
|
||||
* PURPOSE: Hardware related routines
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <ndissys.h>
|
||||
|
||||
|
||||
ULONG
|
||||
EXPORT
|
||||
NdisImmediateReadPciSlotInformation(
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
IN ULONG SlotNumber,
|
||||
IN ULONG Offset,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
EXPORT
|
||||
NdisImmediateWritePciSlotInformation(
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
IN ULONG SlotNumber,
|
||||
IN ULONG Offset,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMPciAssignResources(
|
||||
IN NDIS_HANDLE MiniportHandle,
|
||||
IN ULONG SlotNumber,
|
||||
OUT PNDIS_RESOURCE_LIST *AssignedResources)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMQueryAdapterResources(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
OUT PNDIS_RESOURCE_LIST ResourceList,
|
||||
IN OUT PUINT BufferSize)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisQueryMapRegisterCount(
|
||||
IN NDIS_INTERFACE_TYPE BusType,
|
||||
OUT PUINT MapRegisterCount)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisReadEisaSlotInformation(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
OUT PUINT SlotNumber,
|
||||
OUT PNDIS_EISA_FUNCTION_INFORMATION EisaData)
|
||||
{
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
EXPORT
|
||||
NdisReadPciSlotInformation(
|
||||
IN NDIS_HANDLE NdisAdapterHandle,
|
||||
IN ULONG SlotNumber,
|
||||
IN ULONG Offset,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
EXPORT
|
||||
NdisWritePciSlotInformation(
|
||||
IN NDIS_HANDLE NdisAdapterHandle,
|
||||
IN ULONG SlotNumber,
|
||||
IN ULONG Offset,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
440
reactos/drivers/net/ndis/ndis/io.c
Normal file
440
reactos/drivers/net/ndis/ndis/io.c
Normal file
|
@ -0,0 +1,440 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/io.c
|
||||
* PURPOSE: I/O related routines
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <ndissys.h>
|
||||
#include <miniport.h>
|
||||
|
||||
|
||||
VOID HandleDeferredProcessing(
|
||||
IN PKDPC Dpc,
|
||||
IN PVOID DeferredContext,
|
||||
IN PVOID SystemArgument1,
|
||||
IN PVOID SystemArgument2)
|
||||
/*
|
||||
* FUNCTION: Deferred interrupt processing routine
|
||||
* ARGUMENTS:
|
||||
* Dpc = Pointer to DPC object
|
||||
* DeferredContext = Pointer to context information (LOGICAL_ADAPTER)
|
||||
* SystemArgument1 = Unused
|
||||
* SystemArgument2 = Unused
|
||||
*/
|
||||
{
|
||||
PLOGICAL_ADAPTER Adapter = GET_LOGICAL_ADAPTER(DeferredContext);
|
||||
|
||||
/* Call the deferred interrupt service handler for this adapter */
|
||||
(*Adapter->Miniport->Chars.HandleInterruptHandler)(Adapter);
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN ServiceRoutine(
|
||||
IN PKINTERRUPT Interrupt,
|
||||
IN PVOID ServiceContext)
|
||||
/*
|
||||
* FUNCTION: Interrupt service routine
|
||||
* ARGUMENTS:
|
||||
* Interrupt = Pointer to interrupt object
|
||||
* ServiceContext = Pointer to context information (LOGICAL_ADAPTER)
|
||||
* RETURNS
|
||||
* TRUE if our device generated the interrupt
|
||||
*/
|
||||
{
|
||||
BOOLEAN InterruptRecognized;
|
||||
BOOLEAN QueueMiniportHandleInterrupt;
|
||||
PLOGICAL_ADAPTER Adapter = GET_LOGICAL_ADAPTER(ServiceContext);
|
||||
|
||||
/* FIXME: Support shared interrupts */
|
||||
|
||||
(*Adapter->Miniport->Chars.ISRHandler)(&InterruptRecognized,
|
||||
&QueueMiniportHandleInterrupt, Adapter);
|
||||
|
||||
if (QueueMiniportHandleInterrupt) {
|
||||
KeInsertQueueDpc(&Adapter->InterruptObject->InterruptDpc, NULL, NULL);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisFlushBuffer(
|
||||
IN PNDIS_BUFFER Buffer,
|
||||
IN BOOLEAN WriteToDevice)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
EXPORT
|
||||
NdisGetCacheFillSize(
|
||||
VOID)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisImmediateReadPortUchar(
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
IN ULONG Port,
|
||||
OUT PUCHAR Data)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisImmediateReadPortUlong(
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
IN ULONG Port,
|
||||
OUT PULONG Data)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisImmediateReadPortUshort(
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
IN ULONG Port,
|
||||
OUT PUSHORT Data)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisImmediateWritePortUchar(
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
IN ULONG Port,
|
||||
IN UCHAR Data)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisImmediateWritePortUlong(
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
IN ULONG Port,
|
||||
IN ULONG Data)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisImmediateWritePortUshort(
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
IN ULONG Port,
|
||||
IN USHORT Data)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMAllocateMapRegisters(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN UINT DmaChannel,
|
||||
IN BOOLEAN Dma32BitAddresses,
|
||||
IN ULONG PhysicalMapRegistersNeeded,
|
||||
IN ULONG MaximumPhysicalMapping)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMCompleteDmaTransfer(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN PNDIS_HANDLE MiniportDmaHandle,
|
||||
IN PNDIS_BUFFER Buffer,
|
||||
IN ULONG Offset,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN WriteToDevice)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMDeregisterDmaChannel(
|
||||
IN PNDIS_HANDLE MiniportDmaHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMDeregisterInterrupt(
|
||||
IN PNDIS_MINIPORT_INTERRUPT Interrupt)
|
||||
/*
|
||||
* FUNCTION: Releases an interrupt vector
|
||||
* ARGUMENTS:
|
||||
* Interrupt = Pointer to interrupt object
|
||||
*/
|
||||
{
|
||||
IoDisconnectInterrupt(Interrupt->InterruptObject);
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMFreeMapRegisters(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMMapIoSpace(
|
||||
OUT PVOID *VirtualAddress,
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
|
||||
IN UINT Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMQueryInformationComplete(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN NDIS_STATUS Status)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
EXPORT
|
||||
NdisMReadDmaCounter(
|
||||
IN NDIS_HANDLE MiniportDmaHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMRegisterDmaChannel(
|
||||
OUT PNDIS_HANDLE MiniportDmaHandle,
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN UINT DmaChannel,
|
||||
IN BOOLEAN Dma32BitAddresses,
|
||||
IN PNDIS_DMA_DESCRIPTION DmaDescription,
|
||||
IN ULONG MaximumLength)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMRegisterInterrupt(
|
||||
OUT PNDIS_MINIPORT_INTERRUPT Interrupt,
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN UINT InterruptVector,
|
||||
IN UINT InterruptLevel,
|
||||
IN BOOLEAN RequestIsr,
|
||||
IN BOOLEAN SharedInterrupt,
|
||||
IN NDIS_INTERRUPT_MODE InterruptMode)
|
||||
/*
|
||||
* FUNCTION: Claims access to an interrupt vector
|
||||
* ARGUMENTS:
|
||||
* Interrupt = Address of interrupt object to initialize
|
||||
* MiniportAdapterHandle = Specifies handle input to MiniportInitialize
|
||||
* InterruptVector = Specifies bus-relative vector to register
|
||||
* InterruptLevel = Specifies bus-relative DIRQL vector for interrupt
|
||||
* RequestIsr = TRUE if MiniportISR should always be called
|
||||
* SharedInterrupt = TRUE if other devices may use tha same interrupt
|
||||
* InterruptMode = Specifies type of interrupt
|
||||
* RETURNS:
|
||||
* Status of operation
|
||||
*/
|
||||
{
|
||||
NTSTATUS NtStatus;
|
||||
ULONG MappedIRQ;
|
||||
KIRQL DIrql;
|
||||
KAFFINITY Affinity = 0xFFFFFFFF;
|
||||
PLOGICAL_ADAPTER Adapter = GET_LOGICAL_ADAPTER(MiniportAdapterHandle);
|
||||
|
||||
RtlZeroMemory(Interrupt, sizeof(NDIS_MINIPORT_INTERRUPT));
|
||||
|
||||
KeInitializeSpinLock(&Interrupt->DpcCountLock);
|
||||
|
||||
KeInitializeDpc(&Interrupt->InterruptDpc, HandleDeferredProcessing, Adapter);
|
||||
|
||||
KeInitializeEvent(&Interrupt->DpcsCompletedEvent,
|
||||
NotificationEvent, FALSE);
|
||||
|
||||
Interrupt->SharedInterrupt = SharedInterrupt;
|
||||
|
||||
Adapter->InterruptObject = Interrupt;
|
||||
|
||||
MappedIRQ = HalGetInterruptVector(Adapter->AdapterType, 0,
|
||||
InterruptLevel, InterruptVector, &DIrql, &Affinity);
|
||||
|
||||
NtStatus = IoConnectInterrupt(&Interrupt->InterruptObject, ServiceRoutine, Adapter,
|
||||
&Interrupt->DpcCountLock, MappedIRQ, DIrql, DIrql, InterruptMode,
|
||||
SharedInterrupt, Affinity, FALSE);
|
||||
|
||||
return NDIS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMRegisterIoPortRange(
|
||||
OUT PVOID *PortOffset,
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN UINT InitialPort,
|
||||
IN UINT NumberOfPorts)
|
||||
/*
|
||||
* FUNCTION: Sets up driver access to device I/O ports
|
||||
* ARGUMENTS:
|
||||
* PortOffset = Address of buffer to place mapped base port address
|
||||
* 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
|
||||
* RETURNS:
|
||||
* Status of operation
|
||||
*/
|
||||
{
|
||||
#if 0
|
||||
NTSTATUS NtStatus;
|
||||
BOOLEAN ConflictDetected;
|
||||
PLOGICAL_ADAPTER Adapter = GET_LOGICAL_ADAPTER(MiniportAdapterHandle);
|
||||
PMINIPORT_DRIVER Miniport = Adapter->Miniport;
|
||||
|
||||
/* Non-PnP hardware. NT5 function */
|
||||
NtStatus = IoReportResourceForDetection(
|
||||
Miniport->DriverObject,
|
||||
NULL,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
&ConflictDetected);
|
||||
return NDIS_STATUS_FAILURE;
|
||||
#else
|
||||
/* It's yours! */
|
||||
*PortOffset = (PVOID)InitialPort;
|
||||
|
||||
return NDIS_STATUS_SUCCESS;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMSetInformationComplete(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN NDIS_STATUS Status)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMSetupDmaTransfer(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN PNDIS_HANDLE MiniportDmaHandle,
|
||||
IN PNDIS_BUFFER Buffer,
|
||||
IN ULONG Offset,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN WriteToDevice)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMTransferDataComplete(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN PNDIS_PACKET Packet,
|
||||
IN NDIS_STATUS Status,
|
||||
IN UINT BytesTransferred)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMUnmapIoSpace(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN PVOID VirtualAddress,
|
||||
IN UINT Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
/* EOF */
|
57
reactos/drivers/net/ndis/ndis/main.c
Normal file
57
reactos/drivers/net/ndis/ndis/main.c
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/main.c
|
||||
* PURPOSE: Driver entry point
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <ndissys.h>
|
||||
|
||||
#ifdef DBG
|
||||
/* See debug.h for debug/trace constants */
|
||||
DWORD DebugTraceLevel = MIN_TRACE;
|
||||
#endif /* DBG */
|
||||
|
||||
|
||||
VOID MainUnload(
|
||||
PDRIVER_OBJECT DriverObject)
|
||||
/*
|
||||
* FUNCTION: Unloads the driver
|
||||
* ARGUMENTS:
|
||||
* DriverObject = Pointer to driver object created by the system
|
||||
*/
|
||||
{
|
||||
NDIS_DbgPrint(MAX_TRACE, ("Leaving.\n"));
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
#ifndef _MSC_VER
|
||||
STDCALL
|
||||
#endif
|
||||
DriverEntry(
|
||||
PDRIVER_OBJECT DriverObject,
|
||||
PUNICODE_STRING RegistryPath)
|
||||
/*
|
||||
* FUNCTION: Main driver entry point
|
||||
* ARGUMENTS:
|
||||
* DriverObject = Pointer to a driver object for this driver
|
||||
* RegistryPath = Registry node for configuration parameters
|
||||
* RETURNS:
|
||||
* Status of driver initialization
|
||||
*/
|
||||
{
|
||||
NDIS_DbgPrint(MAX_TRACE, ("Called.\n"));
|
||||
|
||||
#ifdef _MSC_VER
|
||||
DriverObject->DriverUnload = MainUnload;
|
||||
#else
|
||||
DriverObject->DriverUnload = (PDRIVER_UNLOAD)MainUnload;
|
||||
#endif
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/* EOF */
|
229
reactos/drivers/net/ndis/ndis/memory.c
Normal file
229
reactos/drivers/net/ndis/ndis/memory.c
Normal file
|
@ -0,0 +1,229 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/memory.c
|
||||
* PURPOSE: Memory management routines
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <ndissys.h>
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisAllocateMemoryWithTag(
|
||||
OUT PVOID *VirtualAddress,
|
||||
IN UINT Length,
|
||||
IN ULONG Tag)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCreateLookaheadBufferFromSharedMemory(
|
||||
IN PVOID pSharedMemory,
|
||||
IN UINT LookaheadLength,
|
||||
OUT PVOID *pLookaheadBuffer)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisDestroyLookaheadBufferFromSharedMemory(
|
||||
IN PVOID pLookaheadBuffer)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMoveFromMappedMemory(
|
||||
OUT PVOID Destination,
|
||||
IN PVOID Source,
|
||||
IN ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMoveMappedMemory(
|
||||
OUT PVOID Destination,
|
||||
IN PVOID Source,
|
||||
IN ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMoveToMappedMemory(
|
||||
OUT PVOID Destination,
|
||||
IN PVOID Source,
|
||||
IN ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMUpdateSharedMemory(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN ULONG Length,
|
||||
IN PVOID VirtualAddress,
|
||||
IN NDIS_PHYSICAL_ADDRESS PhysicalAddress)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisAllocateMemory(
|
||||
OUT PVOID *VirtualAddress,
|
||||
IN UINT Length,
|
||||
IN UINT MemoryFlags,
|
||||
IN NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress)
|
||||
/*
|
||||
* FUNCTION: Allocates a block of memory
|
||||
* ARGUMENTS:
|
||||
* VirtualAddress = Address of buffer to place virtual
|
||||
* address of the allocated memory
|
||||
* Length = Size of the memory block to allocate
|
||||
* MemoryFlags = Flags to specify special restrictions
|
||||
* HighestAcceptableAddress = Specifies -1
|
||||
*/
|
||||
{
|
||||
PVOID Block;
|
||||
|
||||
if (MemoryFlags & NDIS_MEMORY_CONTIGUOUS) {
|
||||
/* FIXME */
|
||||
*VirtualAddress = NULL;
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
if (MemoryFlags & NDIS_MEMORY_NONCACHED) {
|
||||
/* FIXME */
|
||||
*VirtualAddress = NULL;
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
/* Plain nonpaged memory */
|
||||
Block = ExAllocatePool(NonPagedPool, Length);
|
||||
*VirtualAddress = Block;
|
||||
if (!Block)
|
||||
return NDIS_STATUS_FAILURE;
|
||||
|
||||
return NDIS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisFreeMemory(
|
||||
IN PVOID VirtualAddress,
|
||||
IN UINT Length,
|
||||
IN UINT MemoryFlags)
|
||||
/*
|
||||
* FUNCTION: Frees a memory block allocated with NdisAllocateMemory
|
||||
* ARGUMENTS:
|
||||
* VirtualAddress = Pointer to the base virtual address of the allocated memory
|
||||
* Length = Size of the allocated memory block as passed to NdisAllocateMemory
|
||||
* MemoryFlags = Memory flags passed to NdisAllocateMemory
|
||||
*/
|
||||
{
|
||||
if (MemoryFlags & NDIS_MEMORY_CONTIGUOUS) {
|
||||
/* FIXME */
|
||||
return;
|
||||
}
|
||||
|
||||
if (MemoryFlags & NDIS_MEMORY_NONCACHED) {
|
||||
/* FIXME */
|
||||
return;
|
||||
}
|
||||
|
||||
/* Plain nonpaged memory */
|
||||
ExFreePool(VirtualAddress);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisImmediateReadSharedMemory(
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
IN ULONG SharedMemoryAddress,
|
||||
OUT PUCHAR Buffer,
|
||||
IN ULONG Length)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisImmediateWriteSharedMemory(
|
||||
IN NDIS_HANDLE WrapperConfigurationContext,
|
||||
IN ULONG SharedMemoryAddress,
|
||||
IN PUCHAR Buffer,
|
||||
IN ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMAllocateSharedMemory(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN Cached,
|
||||
OUT PVOID *VirtualAddress,
|
||||
OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMAllocateSharedMemoryAsync(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN Cached,
|
||||
IN PVOID Context)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMFreeSharedMemory(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN Cached,
|
||||
IN PVOID VirtualAddress,
|
||||
IN NDIS_PHYSICAL_ADDRESS PhysicalAddress)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
/* EOF */
|
532
reactos/drivers/net/ndis/ndis/miniport.c
Normal file
532
reactos/drivers/net/ndis/ndis/miniport.c
Normal file
|
@ -0,0 +1,532 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/miniport.c
|
||||
* PURPOSE: Routines used by NDIS miniport drivers
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <miniport.h>
|
||||
|
||||
|
||||
/* Number of medias we know */
|
||||
#define MEDIA_ARRAY_SIZE 15
|
||||
|
||||
static NDIS_MEDIUM MediaArray[MEDIA_ARRAY_SIZE] = {
|
||||
NdisMedium802_3,
|
||||
NdisMedium802_5,
|
||||
NdisMediumFddi,
|
||||
NdisMediumWan,
|
||||
NdisMediumLocalTalk,
|
||||
NdisMediumDix,
|
||||
NdisMediumArcnetRaw,
|
||||
NdisMediumArcnet878_2,
|
||||
NdisMediumAtm,
|
||||
NdisMediumWirelessWan,
|
||||
NdisMediumIrda,
|
||||
NdisMediumBpc,
|
||||
NdisMediumCoWan,
|
||||
NdisMedium1394,
|
||||
NdisMediumMax
|
||||
};
|
||||
|
||||
|
||||
LIST_ENTRY MiniportListHead;
|
||||
KSPIN_LOCK MiniportListLock;
|
||||
LIST_ENTRY AdapterListHead;
|
||||
KSPIN_LOCK AdapterListLock;
|
||||
|
||||
|
||||
VOID MiniportWorker(
|
||||
PVOID Context)
|
||||
/*
|
||||
* FUNCTION: Worker function for MiniportXxx functions
|
||||
* ARGUMENTS:
|
||||
* Context = Pointer to context information (MINIPORT_DRIVER)
|
||||
*/
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
PLOGICAL_ADAPTER MiniLocateDevice(
|
||||
PNDIS_STRING AdapterName)
|
||||
/*
|
||||
* FUNCTION: Returns the logical adapter object for a specific adapter
|
||||
* ARGUMENTS:
|
||||
* AdapterName = Pointer to name of adapter
|
||||
* RETURNS:
|
||||
* Pointer to logical adapter object, or NULL if none was found.
|
||||
* If found, the adapter is referenced for the caller. The caller
|
||||
* is responsible for dereferencing after use
|
||||
*/
|
||||
{
|
||||
KIRQL OldIrql1;
|
||||
KIRQL OldIrql2;
|
||||
PLIST_ENTRY CurrentMEntry;
|
||||
PLIST_ENTRY CurrentAEntry;
|
||||
PMINIPORT_DRIVER Miniport;
|
||||
PLOGICAL_ADAPTER Adapter;
|
||||
|
||||
NDIS_DbgPrint(DEBUG_MINIPORT, ("Called. AdapterName (0x%X).\n", AdapterName));
|
||||
|
||||
KeAcquireSpinLock(&MiniportListLock, &OldIrql1);
|
||||
CurrentMEntry = MiniportListHead.Flink;
|
||||
while (CurrentMEntry != &MiniportListHead) {
|
||||
Miniport = CONTAINING_RECORD(CurrentMEntry, MINIPORT_DRIVER, ListEntry);
|
||||
|
||||
KeAcquireSpinLock(&AdapterListLock, &OldIrql2);
|
||||
CurrentAEntry = AdapterListHead.Flink;
|
||||
while (CurrentAEntry != &AdapterListHead) {
|
||||
Adapter = CONTAINING_RECORD(CurrentAEntry, LOGICAL_ADAPTER, ListEntry);
|
||||
|
||||
if (RtlCompareUnicodeString(AdapterName, &Adapter->DeviceName, TRUE) == 0) {
|
||||
ReferenceObject(Adapter);
|
||||
KeReleaseSpinLock(&AdapterListLock, OldIrql2);
|
||||
KeReleaseSpinLock(&MiniportListLock, OldIrql1);
|
||||
return Adapter;
|
||||
}
|
||||
|
||||
CurrentAEntry = CurrentAEntry->Flink;
|
||||
}
|
||||
KeReleaseSpinLock(&AdapterListLock, OldIrql2);
|
||||
|
||||
CurrentMEntry = CurrentMEntry->Flink;
|
||||
}
|
||||
KeReleaseSpinLock(&MiniportListLock, OldIrql1);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
MiniQueryInformation(
|
||||
PLOGICAL_ADAPTER Adapter,
|
||||
NDIS_OID Oid,
|
||||
ULONG Size,
|
||||
PULONG BytesWritten)
|
||||
/*
|
||||
* FUNCTION: Queries a logical adapter for properties
|
||||
* ARGUMENTS:
|
||||
* Adapter = Pointer to the logical adapter object to query
|
||||
* Oid = Specifies the oid to query for
|
||||
* Size = If non-zero overrides the length in the adapter object
|
||||
* BytesWritten = Address of buffer to place number of bytes written
|
||||
* RETURNS:
|
||||
* Status of operation
|
||||
* NOTES:
|
||||
* If the specified buffer is too small, a new buffer is allocated,
|
||||
* and the query is attempted again
|
||||
*/
|
||||
{
|
||||
NDIS_STATUS NdisStatus;
|
||||
ULONG BytesNeeded;
|
||||
|
||||
if (Adapter->QueryBufferLength == 0) {
|
||||
Adapter->QueryBuffer = ExAllocatePool(NonPagedPool, 32);
|
||||
|
||||
if (!Adapter->QueryBuffer) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Insufficient resources.\n"));
|
||||
return NDIS_STATUS_RESOURCES;
|
||||
}
|
||||
|
||||
Adapter->QueryBufferLength = 32;
|
||||
}
|
||||
|
||||
BytesNeeded = (Size = 0)? Adapter->QueryBufferLength : Size;
|
||||
|
||||
NdisStatus = (*Adapter->Miniport->Chars.QueryInformationHandler)(
|
||||
Adapter, Oid, &BytesNeeded,
|
||||
Adapter->QueryBufferLength,
|
||||
BytesWritten, &BytesNeeded);
|
||||
|
||||
if ((NT_SUCCESS(NdisStatus)) || (NdisStatus == NDIS_STATUS_PENDING)) {
|
||||
NDIS_DbgPrint(DEBUG_MINIPORT, ("Miniport returned status (0x%X).\n", NdisStatus));
|
||||
return NdisStatus;
|
||||
}
|
||||
|
||||
if (NdisStatus == NDIS_STATUS_INVALID_LENGTH) {
|
||||
ExFreePool(Adapter->QueryBuffer);
|
||||
|
||||
Adapter->QueryBufferLength += BytesNeeded;
|
||||
Adapter->QueryBuffer = ExAllocatePool(
|
||||
NonPagedPool, Adapter->QueryBufferLength);
|
||||
|
||||
if (!Adapter->QueryBuffer) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Insufficient resources.\n"));
|
||||
return NDIS_STATUS_RESOURCES;
|
||||
}
|
||||
|
||||
NdisStatus = (*Adapter->Miniport->Chars.QueryInformationHandler)(
|
||||
Adapter, Oid, Adapter->QueryBuffer, Size, BytesWritten, &BytesNeeded);
|
||||
}
|
||||
|
||||
return NdisStatus;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMCloseLog(
|
||||
IN NDIS_HANDLE LogHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMCreateLog(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN UINT Size,
|
||||
OUT PNDIS_HANDLE LogHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMDeregisterAdapterShutdownHandler(
|
||||
IN NDIS_HANDLE MiniportHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMFlushLog(
|
||||
IN NDIS_HANDLE LogHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMIndicateStatus(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN NDIS_STATUS GeneralStatus,
|
||||
IN PVOID StatusBuffer,
|
||||
IN UINT StatusBufferSize)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMIndicateStatusComplete(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisInitializeWrapper(
|
||||
OUT PNDIS_HANDLE NdisWrapperHandle,
|
||||
IN PVOID SystemSpecific1,
|
||||
IN PVOID SystemSpecific2,
|
||||
IN PVOID SystemSpecific3)
|
||||
/*
|
||||
* FUNCTION: Notifies the NDIS library that a new miniport is initializing
|
||||
* ARGUMENTS:
|
||||
* NdisWrapperHandle = Address of buffer to place NDIS wrapper handle
|
||||
* SystemSpecific1 = Pointer to the driver's driver object
|
||||
* SystemSpecific2 = Pointer to the driver's registry path
|
||||
* SystemSpecific3 = Always NULL
|
||||
*/
|
||||
{
|
||||
PMINIPORT_DRIVER Miniport;
|
||||
|
||||
Miniport = ExAllocatePool(NonPagedPool, sizeof(MINIPORT_DRIVER));
|
||||
if (!Miniport) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Insufficient resources.\n"));
|
||||
*NdisWrapperHandle = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
RtlZeroMemory(Miniport, sizeof(MINIPORT_DRIVER));
|
||||
|
||||
KeInitializeSpinLock(&Miniport->Lock);
|
||||
|
||||
Miniport->RefCount = 1;
|
||||
|
||||
ExInitializeWorkItem(&Miniport->WorkItem, MiniportWorker, Miniport);
|
||||
|
||||
Miniport->DriverObject = (PDRIVER_OBJECT)SystemSpecific1;
|
||||
/* FIXME: Copy RegistryPath */
|
||||
//Miniport->RegistryPath = SystemSpecific2;
|
||||
|
||||
/* Put miniport in global miniport list */
|
||||
ExInterlockedInsertTailList(&MiniportListHead,
|
||||
&Miniport->ListEntry,
|
||||
&MiniportListLock);
|
||||
|
||||
*NdisWrapperHandle = Miniport;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMRegisterAdapterShutdownHandler(
|
||||
IN NDIS_HANDLE MiniportHandle,
|
||||
IN PVOID ShutdownContext,
|
||||
IN ADAPTER_SHUTDOWN_HANDLER ShutdownHandler)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMRegisterMiniport(
|
||||
IN NDIS_HANDLE NdisWrapperHandle,
|
||||
IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
|
||||
IN UINT CharacteristicsLength)
|
||||
/*
|
||||
* FUNCTION: Registers a miniport's MiniportXxx entry points with the NDIS library
|
||||
* ARGUMENTS:
|
||||
* NdisWrapperHandle = Pointer to handle returned by NdisMInitializeWrapper
|
||||
* MiniportCharacteristics = Pointer to a buffer with miniport characteristics
|
||||
* CharacteristicsLength = Number of bytes in characteristics buffer
|
||||
* RETURNS:
|
||||
* Status of operation
|
||||
*/
|
||||
{
|
||||
UINT MinSize;
|
||||
NTSTATUS Status;
|
||||
NDIS_STATUS NdisStatus;
|
||||
UINT SelectedMediumIndex;
|
||||
PLOGICAL_ADAPTER Adapter;
|
||||
PMINIPORT_DRIVER Miniport = GET_MINIPORT_DRIVER(NdisWrapperHandle);
|
||||
|
||||
switch (MiniportCharacteristics->MajorNdisVersion) {
|
||||
case 0x03:
|
||||
MinSize = sizeof(NDIS30_MINIPORT_CHARACTERISTICS);
|
||||
break;
|
||||
|
||||
case 0x04:
|
||||
MinSize = sizeof(NDIS40_MINIPORT_CHARACTERISTICS);
|
||||
break;
|
||||
|
||||
case 0x05:
|
||||
MinSize = sizeof(NDIS50_MINIPORT_CHARACTERISTICS);
|
||||
break;
|
||||
|
||||
default:
|
||||
NDIS_DbgPrint(DEBUG_MINIPORT, ("Bad miniport characteristics version.\n"));
|
||||
return NDIS_STATUS_BAD_VERSION;
|
||||
}
|
||||
|
||||
if (CharacteristicsLength < MinSize) {
|
||||
NDIS_DbgPrint(DEBUG_MINIPORT, ("Bad miniport characteristics.\n"));
|
||||
return NDIS_STATUS_BAD_CHARACTERISTICS;
|
||||
}
|
||||
|
||||
/* Check if mandatory MiniportXxx functions are specified */
|
||||
if ((!MiniportCharacteristics->HaltHandler) ||
|
||||
(!MiniportCharacteristics->InitializeHandler)||
|
||||
(!MiniportCharacteristics->QueryInformationHandler) ||
|
||||
(!MiniportCharacteristics->ResetHandler) ||
|
||||
(!MiniportCharacteristics->SetInformationHandler)) {
|
||||
NDIS_DbgPrint(DEBUG_MINIPORT, ("Bad miniport characteristics.\n"));
|
||||
return NDIS_STATUS_BAD_CHARACTERISTICS;
|
||||
}
|
||||
|
||||
if (MiniportCharacteristics->MajorNdisVersion == 0x03) {
|
||||
if (!MiniportCharacteristics->SendHandler) {
|
||||
NDIS_DbgPrint(DEBUG_MINIPORT, ("Bad miniport characteristics.\n"));
|
||||
return NDIS_STATUS_BAD_CHARACTERISTICS;
|
||||
}
|
||||
} else if (MiniportCharacteristics->MajorNdisVersion >= 0x04) {
|
||||
/* NDIS 4.0+ */
|
||||
if ((!MiniportCharacteristics->SendHandler) &&
|
||||
(!MiniportCharacteristics->SendPacketsHandler)) {
|
||||
NDIS_DbgPrint(DEBUG_MINIPORT, ("Bad miniport characteristics.\n"));
|
||||
return NDIS_STATUS_BAD_CHARACTERISTICS;
|
||||
}
|
||||
}
|
||||
|
||||
RtlCopyMemory(&Miniport->Chars, MiniportCharacteristics, MinSize);
|
||||
|
||||
Adapter = ExAllocatePool(NonPagedPool, sizeof(LOGICAL_ADAPTER));
|
||||
if (!Adapter) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Insufficient resources.\n"));
|
||||
return NDIS_STATUS_RESOURCES;
|
||||
}
|
||||
|
||||
RtlZeroMemory(Adapter, sizeof(LOGICAL_ADAPTER));
|
||||
KeInitializeSpinLock(&Adapter->Lock);
|
||||
Adapter->RefCount = 1;
|
||||
Adapter->Miniport = Miniport;
|
||||
|
||||
/* Create the device object for this adapter */
|
||||
/* FIXME: Use GUIDs */
|
||||
RtlInitUnicodeString(&Adapter->DeviceName, L"\\Device\\ne2000");
|
||||
Status = IoCreateDevice(Miniport->DriverObject, 0, &Adapter->DeviceName,
|
||||
FILE_DEVICE_PHYSICAL_NETCARD, 0, FALSE, &Adapter->DeviceObject);
|
||||
if (!NT_SUCCESS(Status)) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Could not create device object.\n"));
|
||||
ExFreePool(Adapter);
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
/* Put adapter in adapter list for this miniport */
|
||||
ExInterlockedInsertTailList(&Miniport->AdapterListHead,
|
||||
&Adapter->MiniportListEntry,
|
||||
&Miniport->Lock);
|
||||
|
||||
/* Put adapter in global adapter list */
|
||||
ExInterlockedInsertTailList(&AdapterListHead,
|
||||
&Adapter->ListEntry,
|
||||
&AdapterListLock);
|
||||
|
||||
/* Call MiniportInitialize */
|
||||
(*Miniport->Chars.InitializeHandler)(
|
||||
&NdisStatus,
|
||||
&SelectedMediumIndex,
|
||||
&MediaArray[0],
|
||||
MEDIA_ARRAY_SIZE,
|
||||
Adapter,
|
||||
NULL /* FIXME: WrapperConfigurationContext */);
|
||||
|
||||
return NDIS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMResetComplete(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN NDIS_STATUS Status,
|
||||
IN BOOLEAN AddressingReset)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMSendComplete(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN PNDIS_PACKET Packet,
|
||||
IN NDIS_STATUS Status)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMSendResourcesAvailable(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMSetAttributes(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN NDIS_HANDLE MiniportAdapterContext,
|
||||
IN BOOLEAN BusMaster,
|
||||
IN NDIS_INTERFACE_TYPE AdapterType)
|
||||
/*
|
||||
* FUNCTION: Informs the NDIS library of significant features of the caller's NIC
|
||||
* ARGUMENTS:
|
||||
* MiniportAdapterHandle = Handle input to MiniportInitialize
|
||||
* MiniportAdapterContext = Pointer to context information
|
||||
* BusMaster = Specifies TRUE if the caller's NIC is a busmaster DMA device
|
||||
* AdapterType = Specifies the I/O bus interface of the caller's NIC
|
||||
*/
|
||||
{
|
||||
PLOGICAL_ADAPTER Adapter = GET_LOGICAL_ADAPTER(MiniportAdapterHandle);
|
||||
|
||||
Adapter->MiniportAdapterContext = MiniportAdapterHandle;
|
||||
Adapter->Attributes = BusMaster? NDIS_ATTRIBUTE_BUS_MASTER : 0;
|
||||
Adapter->AdapterType = AdapterType;
|
||||
Adapter->AttributesSet = TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMSetAttributesEx(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN NDIS_HANDLE MiniportAdapterContext,
|
||||
IN UINT CheckForHangTimeInSeconds OPTIONAL,
|
||||
IN ULONG AttributeFlags,
|
||||
IN NDIS_INTERFACE_TYPE AdapterType)
|
||||
/*
|
||||
* FUNCTION: Informs the NDIS library of significant features of the caller's NIC
|
||||
* ARGUMENTS:
|
||||
* MiniportAdapterHandle = Handle input to MiniportInitialize
|
||||
* MiniportAdapterContext = Pointer to context information
|
||||
* CheckForHangTimeInSeconds = Specifies interval in seconds at which
|
||||
* MiniportCheckForHang should be called
|
||||
* AttributeFlags = Bitmask that indicates specific attributes
|
||||
* AdapterType = Specifies the I/O bus interface of the caller's NIC
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMSleep(
|
||||
IN ULONG MicrosecondsToSleep)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
NdisMSynchronizeWithInterrupt(
|
||||
IN PNDIS_MINIPORT_INTERRUPT Interrupt,
|
||||
IN PVOID SynchronizeFunction,
|
||||
IN PVOID SynchronizeContext)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisMWriteLogData(
|
||||
IN NDIS_HANDLE LogHandle,
|
||||
IN PVOID LogBuffer,
|
||||
IN UINT LogBufferSize)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return NDIS_STATUS_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisTerminateWrapper(
|
||||
IN NDIS_HANDLE NdisWrapperHandle,
|
||||
IN PVOID SystemSpecific)
|
||||
/*
|
||||
* FUNCTION: Releases resources allocated by a call to NdisMInitializeWrapper
|
||||
* ARGUMENTS:
|
||||
* NdisWrapperHandle = Handle returned by NdisMInitializeWrapper
|
||||
* SystemSpecific = Always NULL
|
||||
*/
|
||||
{
|
||||
ExFreePool(NdisWrapperHandle);
|
||||
}
|
||||
|
||||
/* EOF */
|
304
reactos/drivers/net/ndis/ndis/protocol.c
Normal file
304
reactos/drivers/net/ndis/ndis/protocol.c
Normal file
|
@ -0,0 +1,304 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/protocol.c
|
||||
* PURPOSE: Routines used by NDIS protocol drivers
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <ndissys.h>
|
||||
#include <miniport.h>
|
||||
#include <protocol.h>
|
||||
|
||||
LIST_ENTRY ProtocolListHead;
|
||||
KSPIN_LOCK ProtocolListLock;
|
||||
|
||||
|
||||
VOID ProtocolWorker(
|
||||
PVOID Context)
|
||||
/*
|
||||
* FUNCTION: Worker function for ProtocolXxx functions
|
||||
* ARGUMENTS:
|
||||
* Context = Pointer to context information (PROTOCOL_BINDING)
|
||||
*/
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCloseAdapter(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisBindingHandle)
|
||||
/*
|
||||
* FUNCTION: Closes an adapter opened with NdisOpenAdapter
|
||||
* ARGUMENTS:
|
||||
* Status = Address of buffer for status information
|
||||
* NdisBindingHandle = Handle returned by NdisOpenAdapter
|
||||
*/
|
||||
{
|
||||
PADAPTER_BINDING AdapterBinding = GET_ADAPTER_BINDING(NdisBindingHandle);
|
||||
|
||||
ExFreePool(AdapterBinding);
|
||||
|
||||
*Status = NDIS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisDeregisterProtocol(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisProtocolHandle)
|
||||
/*
|
||||
* FUNCTION: Releases the resources allocated by NdisRegisterProtocol
|
||||
* ARGUMENTS:
|
||||
* Status = Address of buffer for status information
|
||||
* NdisProtocolHandle = Handle returned by NdisRegisterProtocol
|
||||
*/
|
||||
{
|
||||
ExFreePool(NdisProtocolHandle);
|
||||
*Status = NDIS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisOpenAdapter(
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_STATUS OpenErrorStatus,
|
||||
OUT PNDIS_HANDLE NdisBindingHandle,
|
||||
OUT PUINT SelectedMediumIndex,
|
||||
IN PNDIS_MEDIUM MediumArray,
|
||||
IN UINT MediumArraySize,
|
||||
IN NDIS_HANDLE NdisProtocolHandle,
|
||||
IN NDIS_HANDLE ProtocolBindingContext,
|
||||
IN PNDIS_STRING AdapterName,
|
||||
IN UINT OpenOptions,
|
||||
IN PSTRING AddressingInformation OPTIONAL)
|
||||
/*
|
||||
* FUNCTION: Opens an adapter for communication
|
||||
* ARGUMENTS:
|
||||
* Status = Address of buffer for status information
|
||||
* OpenErrorStatus = Address of buffer for secondary error code
|
||||
* NdisBindingHandle = Address of buffer for adapter binding handle
|
||||
* SelectedMediumIndex = Address of buffer for selected medium
|
||||
* MediumArray = Pointer to an array of NDIS_MEDIUMs called can support
|
||||
* MediumArraySize = Number of elements in MediumArray
|
||||
* NdisProtocolHandle = Handle returned by NdisRegisterProtocol
|
||||
* ProtocolBindingContext = Pointer to caller suplied context area
|
||||
* AdapterName = Pointer to buffer with name of adapter
|
||||
* OpenOptions = Bitmask with flags passed to next-lower driver
|
||||
* AddressingInformation = Optional pointer to buffer with NIC specific information
|
||||
*/
|
||||
{
|
||||
PADAPTER_BINDING AdapterBinding;
|
||||
PLOGICAL_ADAPTER Adapter;
|
||||
NDIS_STATUS NdisStatus;
|
||||
PNDIS_MEDIUM Medium1;
|
||||
PNDIS_MEDIUM Medium2;
|
||||
ULONG BytesWritten;
|
||||
BOOLEAN Found;
|
||||
UINT i, j;
|
||||
PPROTOCOL_BINDING Protocol = GET_PROTOCOL_BINDING(ProtocolBindingContext);
|
||||
|
||||
Adapter = MiniLocateDevice(AdapterName);
|
||||
|
||||
if (!Adapter) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Adapter not found.\n"));
|
||||
*Status = NDIS_STATUS_ADAPTER_NOT_FOUND;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Query the miniport driver for it's supported medias and search the list
|
||||
to find the first medium also supported by the protocol driver */
|
||||
|
||||
NdisStatus = MiniQueryInformation(Adapter, OID_GEN_MEDIA_SUPPORTED, 0, &BytesWritten);
|
||||
|
||||
/* FIXME: Handle this */
|
||||
if (NdisStatus == NDIS_STATUS_PENDING) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("NDIS_STATUS_PENDING returned!\n"));
|
||||
}
|
||||
|
||||
if (!NT_SUCCESS(NdisStatus))
|
||||
*Status = NdisStatus;
|
||||
|
||||
Medium1 = Adapter->QueryBuffer;
|
||||
Medium2 = MediumArray;
|
||||
Found = FALSE;
|
||||
for (i = 0; i < BytesWritten / sizeof(NDIS_MEDIUM); i++) {
|
||||
for (j = 0; j < MediumArraySize; j++) {
|
||||
if (Medium2[j] == Medium1[i]) {
|
||||
*SelectedMediumIndex = j;
|
||||
Found = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (Found)
|
||||
break;
|
||||
}
|
||||
|
||||
if (!Found) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Media is not supported.\n"));
|
||||
*Status = NDIS_STATUS_UNSUPPORTED_MEDIA;
|
||||
return;
|
||||
}
|
||||
|
||||
AdapterBinding = ExAllocatePool(NonPagedPool, sizeof(ADAPTER_BINDING));
|
||||
|
||||
if (!AdapterBinding) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Insufficient resources.\n"));
|
||||
*Status = NDIS_STATUS_RESOURCES;
|
||||
return;
|
||||
}
|
||||
|
||||
RtlZeroMemory(AdapterBinding, sizeof(ADAPTER_BINDING));
|
||||
|
||||
/* Put on protocol binding adapter list */
|
||||
ExInterlockedInsertTailList(&Protocol->AdapterListHead,
|
||||
&AdapterBinding->ProtocolListEntry,
|
||||
&Protocol->Lock);
|
||||
|
||||
*NdisBindingHandle = AdapterBinding;
|
||||
|
||||
*Status = NDIS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisRegisterProtocol(
|
||||
OUT PNDIS_STATUS Status,
|
||||
OUT PNDIS_HANDLE NdisProtocolHandle,
|
||||
IN PNDIS_PROTOCOL_CHARACTERISTICS ProtocolCharacteristics,
|
||||
IN UINT CharacteristicsLength)
|
||||
/*
|
||||
* FUNCTION: Registers an NDIS driver's ProtocolXxx entry points
|
||||
* ARGUMENTS:
|
||||
* Status = Address of buffer for status information
|
||||
* NdisProtocolHandle = Address of buffer for handle used to identify the driver
|
||||
* ProtocolCharacteristics = Pointer to NDIS_PROTOCOL_CHARACTERISTICS structure
|
||||
* CharacteristicsLength = Size of structure which ProtocolCharacteristics targets
|
||||
*/
|
||||
{
|
||||
PPROTOCOL_BINDING Protocol;
|
||||
NTSTATUS NtStatus;
|
||||
UINT MinSize;
|
||||
|
||||
switch (ProtocolCharacteristics->MajorNdisVersion) {
|
||||
case 0x03:
|
||||
MinSize = sizeof(NDIS30_PROTOCOL_CHARACTERISTICS);
|
||||
break;
|
||||
|
||||
case 0x04:
|
||||
MinSize = sizeof(NDIS40_PROTOCOL_CHARACTERISTICS);
|
||||
break;
|
||||
|
||||
case 0x05:
|
||||
MinSize = sizeof(NDIS50_PROTOCOL_CHARACTERISTICS);
|
||||
break;
|
||||
|
||||
default:
|
||||
*Status = NDIS_STATUS_BAD_VERSION;
|
||||
return;
|
||||
}
|
||||
|
||||
if (CharacteristicsLength < MinSize) {
|
||||
NDIS_DbgPrint(DEBUG_PROTOCOL, ("Bad protocol characteristics.\n"));
|
||||
*Status = NDIS_STATUS_BAD_CHARACTERISTICS;
|
||||
return;
|
||||
}
|
||||
|
||||
Protocol = ExAllocatePool(NonPagedPool, sizeof(PROTOCOL_BINDING));
|
||||
if (!Protocol) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Insufficient resources.\n"));
|
||||
*Status = NDIS_STATUS_RESOURCES;
|
||||
return;
|
||||
}
|
||||
|
||||
RtlZeroMemory(Protocol, sizeof(PROTOCOL_BINDING));
|
||||
RtlCopyMemory(&Protocol->Chars, ProtocolCharacteristics, MinSize);
|
||||
|
||||
NtStatus = RtlUpcaseUnicodeString(
|
||||
&Protocol->Chars.Name,
|
||||
&ProtocolCharacteristics->Name,
|
||||
TRUE);
|
||||
if (!NT_SUCCESS(NtStatus)) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Insufficient resources.\n"));
|
||||
ExFreePool(Protocol);
|
||||
*Status = NDIS_STATUS_RESOURCES;
|
||||
return;
|
||||
}
|
||||
|
||||
KeInitializeSpinLock(&Protocol->Lock);
|
||||
|
||||
Protocol->RefCount = 1;
|
||||
|
||||
ExInitializeWorkItem(&Protocol->WorkItem, ProtocolWorker, Protocol);
|
||||
|
||||
InitializeListHead(&Protocol->AdapterListHead);
|
||||
|
||||
*NdisProtocolHandle = Protocol;
|
||||
*Status = NDIS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisRequest(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisBindingHandle,
|
||||
IN PNDIS_REQUEST NdisRequest)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisReset(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisBindingHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisSend(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisBindingHandle,
|
||||
IN PNDIS_PACKET Packet)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisSendPackets(
|
||||
IN NDIS_HANDLE NdisBindingHandle,
|
||||
IN PPNDIS_PACKET PacketArray,
|
||||
IN UINT NumberOfPackets)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisTransferData(
|
||||
OUT PNDIS_STATUS Status,
|
||||
IN NDIS_HANDLE NdisBindingHandle,
|
||||
IN NDIS_HANDLE MacReceiveContext,
|
||||
IN UINT ByteOffset,
|
||||
IN UINT BytesToTransfer,
|
||||
IN OUT PNDIS_PACKET Packet,
|
||||
OUT PUINT BytesTransferred)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
/* EOF */
|
149
reactos/drivers/net/ndis/ndis/string.c
Normal file
149
reactos/drivers/net/ndis/ndis/string.c
Normal file
|
@ -0,0 +1,149 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/string.c
|
||||
* PURPOSE: String management routines
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <ndissys.h>
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisAnsiStringToUnicodeString(
|
||||
IN OUT PNDIS_STRING DestinationString,
|
||||
IN PNDIS_ANSI_STRING SourceString)
|
||||
/*
|
||||
* FUNCTION: Converts an ANSI string to an NDIS (unicode) string
|
||||
* ARGUMENTS:
|
||||
* DestinationString = Address of buffer to place converted string in
|
||||
* SourceString = Pointer to ANSI string to be converted
|
||||
*/
|
||||
{
|
||||
return (NDIS_STATUS)RtlAnsiStringToUnicodeString(
|
||||
(PUNICODE_STRING)DestinationString,
|
||||
(PANSI_STRING)SourceString, FALSE);
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
EXPORT
|
||||
NdisEqualString(
|
||||
IN PNDIS_STRING String1,
|
||||
IN PNDIS_STRING String2,
|
||||
IN BOOLEAN CaseInsensitive)
|
||||
/*
|
||||
* FUNCTION: Tests two strings for equality
|
||||
* ARGUMENTS:
|
||||
* String1 = Pointer to first string
|
||||
* String2 = Pointer to second string
|
||||
* CaseInsensitive = TRUE if the compare should be case insensitive
|
||||
*/
|
||||
{
|
||||
return RtlEqualUnicodeString(
|
||||
(PUNICODE_STRING)String1,
|
||||
(PUNICODE_STRING)String2,
|
||||
CaseInsensitive);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisInitAnsiString(
|
||||
IN OUT PNDIS_ANSI_STRING DestinationString,
|
||||
IN PCSTR SourceString)
|
||||
/*
|
||||
* FUNCTION: Initializes an ANSI string
|
||||
* ARGUMENTS:
|
||||
* DestinationString = Address of buffer to place string in
|
||||
* SourceString = Pointer to null terminated ANSI string
|
||||
*/
|
||||
{
|
||||
RtlInitString(
|
||||
(PANSI_STRING)DestinationString,
|
||||
(PCSZ)SourceString);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisInitializeString(
|
||||
IN OUT PNDIS_STRING DestinationString,
|
||||
IN PUCHAR SourceString)
|
||||
/*
|
||||
* FUNCTION: Initializes an NDIS (unicode) string
|
||||
* ARGUMENTS:
|
||||
* DestinationString = Address of buffer to place string in
|
||||
* SourceString = Pointer to null terminated ANSI string
|
||||
*/
|
||||
{
|
||||
ANSI_STRING AnsiString;
|
||||
|
||||
RtlInitAnsiString(
|
||||
&AnsiString,
|
||||
(PCSZ)SourceString);
|
||||
|
||||
RtlAnsiStringToUnicodeString(
|
||||
(PUNICODE_STRING)DestinationString,
|
||||
&AnsiString,
|
||||
TRUE);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisInitUnicodeString(
|
||||
IN OUT PNDIS_STRING DestinationString,
|
||||
IN PCWSTR SourceString)
|
||||
/*
|
||||
* FUNCTION: Initializes an unicode string
|
||||
* ARGUMENTS:
|
||||
* DestinationString = Address of buffer to place string in
|
||||
* SourceString = Pointer to null terminated unicode string
|
||||
*/
|
||||
{
|
||||
RtlInitUnicodeString(
|
||||
(PUNICODE_STRING)DestinationString,
|
||||
SourceString);
|
||||
}
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
EXPORT
|
||||
NdisUnicodeStringToAnsiString(
|
||||
IN OUT PNDIS_ANSI_STRING DestinationString,
|
||||
IN PNDIS_STRING SourceString)
|
||||
/*
|
||||
* FUNCTION: Converts an NDIS (unicode) string to an ANSI string
|
||||
* ARGUMENTS:
|
||||
* DestinationString = Address of buffer to place converted string in
|
||||
* SourceString = Pointer to unicode string to be converted
|
||||
*/
|
||||
{
|
||||
return (NDIS_STATUS)RtlUnicodeStringToAnsiString(
|
||||
(PANSI_STRING)DestinationString,
|
||||
(PUNICODE_STRING)SourceString,
|
||||
FALSE);
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
EXPORT
|
||||
NdisUpcaseUnicodeString(
|
||||
OUT PUNICODE_STRING DestinationString,
|
||||
IN PUNICODE_STRING SourceString)
|
||||
/*
|
||||
* FUNCTION:
|
||||
* ARGUMENTS:
|
||||
* NOTES:
|
||||
* NDIS 5.0
|
||||
*/
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/* EOF */
|
86
reactos/drivers/net/ndis/ndis/time.c
Normal file
86
reactos/drivers/net/ndis/ndis/time.c
Normal file
|
@ -0,0 +1,86 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/time.c
|
||||
* PURPOSE: Time related routines
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/08-2000 Created
|
||||
*/
|
||||
#include <ndissys.h>
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisCancelTimer(
|
||||
IN PNDIS_TIMER Timer,
|
||||
OUT PBOOLEAN TimerCancelled)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisGetCurrentSystemTime (
|
||||
IN OUT PLONGLONG pSystemTime)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisInitializeTimer(
|
||||
IN OUT PNDIS_TIMER Timer,
|
||||
IN PNDIS_TIMER_FUNCTION TimerFunction,
|
||||
IN PVOID FunctionContext)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMCancelTimer(
|
||||
IN PNDIS_MINIPORT_TIMER Timer,
|
||||
OUT PBOOLEAN TimerCancelled)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMInitializeTimer(
|
||||
IN OUT PNDIS_MINIPORT_TIMER Timer,
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN PNDIS_TIMER_FUNCTION TimerFunction,
|
||||
IN PVOID FunctionContext)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMSetPeriodicTimer(
|
||||
IN PNDIS_MINIPORT_TIMER Timer,
|
||||
IN UINT MillisecondsPeriod)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisMSetTimer(
|
||||
IN PNDIS_MINIPORT_TIMER Timer,
|
||||
IN UINT MillisecondsToDelay)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EXPORT
|
||||
NdisSetTimer(
|
||||
IN PNDIS_TIMER Timer,
|
||||
IN UINT MillisecondsToDelay)
|
||||
{
|
||||
}
|
||||
|
||||
/* EOF */
|
18
reactos/drivers/net/ndis/readme.txt
Normal file
18
reactos/drivers/net/ndis/readme.txt
Normal file
|
@ -0,0 +1,18 @@
|
|||
Build instructions for NDIS library
|
||||
-----------------------------------
|
||||
|
||||
Building with Visual C++ and Windows NT DDK:
|
||||
|
||||
Variables:
|
||||
%BASEDIR% = path to NT4 DDK (e.g. c:\ntddk)
|
||||
%DDKBUILDENV% = DDK build environment (free or checked)
|
||||
|
||||
DDK environment variables must be set! (run setenv.bat)
|
||||
|
||||
- Create the directory objects/i386/%DDKBUILDENV%
|
||||
- Run "build" to build the library
|
||||
|
||||
|
||||
Building with Mingw32 and ReactOS include files:
|
||||
|
||||
- Run "make ndis" FROM THE ReactOS ROOT DIRECTORY to build the library
|
Loading…
Add table
Add a link
Reference in a new issue