36 &ConfigurationParameter,
82 Adapter->WrapperConfigurationHandle);
92 Adapter->OptimizationMode = GenericUlong;
100 Adapter->FlowControlMode = GenericUlong;
108 switch (GenericUlong)
152 Adapter->MaximumFrameSize = GenericUlong;
220 UINT i, ResourceListSize = 0;
227 Adapter->WrapperConfigurationHandle,
246 Adapter->WrapperConfigurationHandle,
255 for (
i = 0;
i < AssignedResources->
Count; ++
i)
263 Adapter->IoAddress =
Descriptor->u.Memory.Start;
264 Adapter->IoLength =
Descriptor->u.Memory.Length;
270 Adapter->InterruptVector =
Descriptor->u.Interrupt.Vector;
271 Adapter->InterruptLevel =
Descriptor->u.Interrupt.Level;
282 if (!Adapter->IoAddress.QuadPart || !Adapter->InterruptVector)
290 Adapter->IoAddress.QuadPart,
291 Adapter->IoAddress.QuadPart + Adapter->IoLength));
293 Adapter->InterruptVector,
294 Adapter->InterruptLevel));
297 Adapter->AdapterHandle,
333 Adapter->SendBuffer = CoalesceBuffer;
388 Adapter->Send.HeadTcb = Tcb;
389 Adapter->Send.CurrentTcb = Tcb;
390 Adapter->Send.LastTcb = Tcb;
417 &Adapter->TbdOriginal,
418 &Adapter->TbdPhysOriginal);
419 if (!Adapter->TbdOriginal)
425 Adapter->Send.HeadTbd = Tbd;
426 Adapter->Send.CurrentTbd = Tbd;
461 &Adapter->RbdOriginal,
462 &Adapter->RbdPhysOriginal);
463 if (!Adapter->RbdOriginal)
483 (
PVOID*)&Adapter->ReceiveBuffer,
484 &Adapter->ReceiveBufferPhys);
485 if (!Adapter->ReceiveBuffer)
563 Adapter->CurrentRx = 0;
569 NvRbd.
x64 = &Adapter->Receive.NvRbd.x64[
i];
583 NvRbd.
x32 = &Adapter->Receive.NvRbd.x32[
i];
615 if (Adapter->Interrupt.InterruptObject)
618 Adapter->Interrupt.InterruptObject =
NULL;
629 if (Adapter->TbdOriginal)
634 Adapter->TbdOriginal,
635 Adapter->TbdPhysOriginal);
636 Adapter->TbdOriginal =
NULL;
638 if (Adapter->RbdOriginal)
643 Adapter->RbdOriginal,
644 Adapter->RbdPhysOriginal);
645 Adapter->RbdOriginal =
NULL;
647 if (Adapter->SendBuffer)
666 Adapter->SendBuffer =
NULL;
669 if (Adapter->ReceiveBuffer)
674 Adapter->ReceiveBuffer,
675 Adapter->ReceiveBufferPhys);
676 Adapter->ReceiveBuffer =
NULL;
684 Adapter->IoBase =
NULL;
687 if (Adapter->Lock.SpinLock)
689 if (Adapter->Send.Lock.SpinLock)
691 if (Adapter->Receive.Lock.SpinLock)
710 PVOID UnalignedAdapter;
854#if defined(SARCH_XBOX)
#define ALIGN_UP_BY(size, align)
static const WCHAR Cleanup[]
#define ETH_IS_LOCALLY_ADMINISTERED(Address)
#define NDIS_DbgPrint(_t_, _x_)
static NDIS_STATUS AllocateAdapterMemory(_In_ PNVNET_ADAPTER Adapter)
VOID NvNetFreeAdapter(_In_ PNVNET_ADAPTER Adapter)
static VOID NvNetInitReceiveMemory(_In_ PNVNET_ADAPTER Adapter)
VOID NvNetInitTransmitMemory(_In_ PNVNET_ADAPTER Adapter)
static NDIS_STATUS AllocateReceiveBuffers(_In_ PNVNET_ADAPTER Adapter)
static NDIS_STATUS AllocateReceiveDescriptors(_In_ PNVNET_ADAPTER Adapter)
static NDIS_STATUS AllocateTransmitDescriptors(_In_ PNVNET_ADAPTER Adapter)
static VOID QueryInteger(_In_ NDIS_HANDLE ConfigurationHandle, _In_ PCWSTR EntryName, _Out_ PULONG EntryContext, _In_ ULONG DefaultValue, _In_ ULONG Minimum, _In_ ULONG Maximum)
static NDIS_STATUS AllocateTransmitBuffers(_In_ PNVNET_ADAPTER Adapter)
NDIS_STATUS NTAPI MiniportInitialize(_Out_ PNDIS_STATUS OpenErrorStatus, _Out_ PUINT SelectedMediumIndex, _In_ PNDIS_MEDIUM MediumArray, _In_ UINT MediumArraySize, _In_ NDIS_HANDLE MiniportAdapterHandle, _In_ NDIS_HANDLE WrapperConfigurationContext)
static NDIS_STATUS NvNetInitializeAdapterResources(_Inout_ PNVNET_ADAPTER Adapter)
static NDIS_STATUS AllocateTransmitBlocks(_In_ PNVNET_ADAPTER Adapter)
static NDIS_STATUS NvNetReadConfiguration(_Inout_ PNVNET_ADAPTER Adapter)
VOID EXPORT NdisCloseConfiguration(IN NDIS_HANDLE ConfigurationHandle)
VOID EXPORT NdisReadConfiguration(OUT PNDIS_STATUS Status, OUT PNDIS_CONFIGURATION_PARAMETER *ParameterValue, IN NDIS_HANDLE ConfigurationHandle, IN PNDIS_STRING Keyword, IN NDIS_PARAMETER_TYPE ParameterType)
VOID EXPORT NdisReadNetworkAddress(OUT PNDIS_STATUS Status, OUT PVOID *NetworkAddress, OUT PUINT NetworkAddressLength, IN NDIS_HANDLE ConfigurationHandle)
VOID EXPORT NdisOpenConfiguration(OUT PNDIS_STATUS Status, OUT PNDIS_HANDLE ConfigurationHandle, IN NDIS_HANDLE WrapperConfigurationContext)
VOID EXPORT NdisMQueryAdapterResources(OUT PNDIS_STATUS Status, IN NDIS_HANDLE WrapperConfigurationContext, OUT PNDIS_RESOURCE_LIST ResourceList, IN OUT PUINT BufferSize)
NDIS_STATUS EXPORT NdisMMapIoSpace(OUT PVOID *VirtualAddress, IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_PHYSICAL_ADDRESS PhysicalAddress, IN UINT Length)
VOID EXPORT NdisMDeregisterInterrupt(IN PNDIS_MINIPORT_INTERRUPT Interrupt)
VOID EXPORT NdisMUnmapIoSpace(IN NDIS_HANDLE MiniportAdapterHandle, IN PVOID VirtualAddress, IN UINT Length)
NDIS_STATUS EXPORT NdisMInitializeScatterGatherDma(IN NDIS_HANDLE MiniportAdapterHandle, IN BOOLEAN Dma64BitAddresses, IN ULONG MaximumPhysicalMapping)
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)
VOID EXPORT NdisFreeMemory(IN PVOID VirtualAddress, IN UINT Length, IN UINT MemoryFlags)
NDIS_STATUS EXPORT NdisAllocateMemoryWithTag(OUT PVOID *VirtualAddress, IN UINT Length, IN ULONG Tag)
VOID EXPORT NdisMAllocateSharedMemory(IN NDIS_HANDLE MiniportAdapterHandle, IN ULONG Length, IN BOOLEAN Cached, OUT PVOID *VirtualAddress, OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress)
VOID EXPORT NdisMFreeSharedMemory(IN NDIS_HANDLE MiniportAdapterHandle, IN ULONG Length, IN BOOLEAN Cached, IN PVOID VirtualAddress, IN NDIS_PHYSICAL_ADDRESS PhysicalAddress)
ULONG EXPORT NdisGetSharedDataAlignment(VOID)
VOID EXPORT NdisInitUnicodeString(IN OUT PNDIS_STRING DestinationString, IN PCWSTR SourceString)
#define ETH_LENGTH_OF_ADDRESS
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define CmResourceTypeMemory
#define CmResourceTypeInterrupt
_Must_inspect_result_ _Out_ PNDIS_STATUS _Outptr_result_bytebuffer_to_ NetworkAddressLength PVOID * NetworkAddress
#define NDIS_STATUS_NOT_RECOGNIZED
#define NdisInterruptLatched
#define NdisZeroMemory(Destination, Length)
#define NDIS_ATTRIBUTE_BUS_MASTER
#define NDIS_ERROR_CODE_INTERRUPT_CONNECT
#define NdisInterruptLevelSensitive
#define NDIS_ERROR_CODE_OUT_OF_RESOURCES
#define NdisAllocateSpinLock(_SpinLock)
#define NDIS_ERROR_CODE_NETWORK_ADDRESS
#define NDIS_ERROR_CODE_ADAPTER_NOT_FOUND
#define NDIS_ERROR_CODE_RESOURCE_CONFLICT
#define NDIS_ERROR_CODE_HARDWARE_FAILURE
#define NDIS_STATUS_FAILURE
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT SelectedMediumIndex
#define NDIS_STATUS_SUCCESS
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT _In_ UINT MediumArraySize
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _In_ NDIS_HANDLE WrapperConfigurationContext
#define NdisGetPhysicalAddressLow(PhysicalAddress)
_In_ NDIS_HANDLE MiniportAdapterHandle
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE ConfigurationHandle
#define NDIS_STATUS_UNSUPPORTED_MEDIA
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_CONFIGURATION_PARAMETER _In_ NDIS_HANDLE _In_ PNDIS_STRING Keyword
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS OpenErrorStatus
#define NDIS_STATUS_ADAPTER_NOT_FOUND
#define NdisFreeSpinLock(_SpinLock)
#define NDIS_ATTRIBUTE_USES_SAFE_BUFFER_APIS
#define NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION
#define NdisGetPhysicalAddressHigh(PhysicalAddress)
#define NDIS_STATUS_RESOURCES
_In_ PCWSTR _Inout_ _At_ QueryTable EntryContext
VOID EXPORT NdisMSetAttributesEx(IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_HANDLE MiniportAdapterContext, IN UINT CheckForHangTimeInSeconds OPTIONAL, IN ULONG AttributeFlags, IN NDIS_INTERFACE_TYPE AdapterType)
NDIS_STATUS NvNetRecognizeHardware(_Inout_ PNVNET_ADAPTER Adapter)
VOID NvNetSetupMacAddress(_In_ PNVNET_ADAPTER Adapter, _In_reads_bytes_(ETH_LENGTH_OF_ADDRESS) PUCHAR MacAddress)
NDIS_STATUS NvNetInitNIC(_In_ PNVNET_ADAPTER Adapter, _In_ BOOLEAN InitPhy)
NDIS_STATUS NvNetGetPermanentMacAddress(_Inout_ PNVNET_ADAPTER Adapter, _Out_writes_bytes_all_(ETH_LENGTH_OF_ADDRESS) PUCHAR MacAddress)
enum _NDIS_MEDIUM * PNDIS_MEDIUM
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define NVREG_IRQSTAT_MASK
#define DEV_HAS_LARGEDESC
#define NVREG_MIISTAT_MASK_ALL
struct _NVNET_DESCRIPTOR_32 NVNET_DESCRIPTOR_32
struct _NVNET_DESCRIPTOR_64 NVNET_DESCRIPTOR_64
VOID NvNetStartAdapter(_In_ PNVNET_ADAPTER Adapter)
#define NVNET_RECEIVE_DESCRIPTORS
#define NVNET_TRANSMIT_BLOCKS
NVNET_PROCESS_TRANSMIT ProcessTransmitDescriptorsLegacy
NVNET_PROCESS_TRANSMIT ProcessTransmitDescriptors64
NVNET_TRANSMIT_PACKET NvNetTransmitPacket64
@ NV_OPTIMIZATION_MODE_DYNAMIC
@ NV_OPTIMIZATION_MODE_THROUGHPUT
#define NVNET_MAXIMUM_FRAME_SIZE
#define NvNetDisableInterrupts(Adapter)
#define NV_PACKET_PRIORITY
@ NV_FLOW_CONTROL_DISABLE
#define NvNetLogError(Adapter, ErrorCode)
struct _NVNET_ADAPTER NVNET_ADAPTER
#define NV_SEND_LARGE_SEND
#define NVNET_RECEIVE_BUFFER_SIZE
NVNET_PROCESS_TRANSMIT ProcessTransmitDescriptors32
#define NV_FORCE_SPEED_AND_DUPLEX
#define NVNET_MAXIMUM_FRAME_SIZE_JUMBO
#define NV_FORCE_FULL_DUPLEX
#define NV_USE_SOFT_MAC_ADDRESS
#define NVNET_MAXIMUM_VLAN_ID
NVNET_TRANSMIT_PACKET NvNetTransmitPacket32
FORCEINLINE VOID NV_WRITE(_In_ PNVNET_ADAPTER Adapter, _In_ NVNET_REGISTER Register, _In_ ULONG Value)
#define NVNET_TRANSMIT_DESCRIPTORS
#define NV_USER_SPEED_100
#define NVNET_TRANSMIT_BUFFERS
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
union _NDIS_CONFIGURATION_PARAMETER::@2109 ParameterData
UCHAR PermanentMacAddress[ETH_LENGTH_OF_ADDRESS]
PNVNET_TRANSMIT_PACKET TransmitPacket
NDIS_MINIPORT_INTERRUPT Interrupt
NDIS_HANDLE AdapterHandle
UCHAR CurrentMacAddress[ETH_LENGTH_OF_ADDRESS]
NDIS_HANDLE WrapperConfigurationHandle
PNVNET_PROCESS_TRANSMIT ProcessTransmit
NDIS_PHYSICAL_ADDRESS PhysicalAddress
NDIS_PHYSICAL_ADDRESS PhysicalAddress
_In_ SIZE_T DescriptorSize
#define ALIGN_UP_POINTER_BY(ptr, align)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
FORCEINLINE VOID PushEntryList(_Inout_ PSINGLE_LIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PSINGLE_LIST_ENTRY Entry)
#define ETH_IS_BROADCAST(Address)
#define ETH_IS_MULTICAST(Address)
#define ETH_COPY_NETWORK_ADDRESS(_D, _S)