; Copyright	(c)	2006, Microsoft
;

[version]
Signature	= "$WINDOWS NT$"
Class		= Net
ClassGUID	= {4D36E972-E325-11CE-BFC1-08002BE10318}
Provider	= %Msft%
DriverVer = 10/07/2006,6.2.0.127


[Manufacturer]
%Nvidia%	= Nvidia, NTamd64

[ControlFlags]
ExcludeFromSelect =*


[Nvidia.NTamd64]
%NVENET.DeviceDesc.MCP1% 	= NVENET10.NDI,	PCI\VEN_10DE&DEV_01C3		; MCP1
%NVENET.DeviceDesc.MCP2% 	= NVENET20.NDI,	PCI\VEN_10DE&DEV_0066		; MCP2
%NVENET.DeviceDesc.MCP2S% 	= NVENET2S.NDI,	PCI\VEN_10DE&DEV_008C		; MCP2S
%NVENET.DeviceDesc.MCP2S% 	= NVENET2S.NDI,	PCI\VEN_10DE&DEV_0086		; MCP2S-NB
%NVENET.DeviceDesc.CK8% 	= NVENETCK8.NDI,PCI\VEN_10DE&DEV_00D6		; CK8
%NVENET.DeviceDesc.CKS% 	= NVENET30.NDI,	PCI\VEN_10DE&DEV_00DF		; CK8S
%NVENET.DeviceDesc.CKS% 	= NVENET30.NDI,	PCI\VEN_10DE&DEV_00E6		; CK8S-NB
%NVENET.DeviceDesc.MCP4% 	= NVENET40.NDI,	PCI\VEN_10DE&DEV_0038		; MCP4
%NVENET.DeviceDesc.MCP4% 	= NVENET40.NDI,	PCI\VEN_10DE&DEV_0037		; MCP4-NB



;=======================================================================
;			NVENET10 Section
;=======================================================================

[NVENET10.NDI.NTamd64]
Characteristics	= 0x84					; NCF_PHYSICAL | NCF_HAS_UI
BusType			= 1				; Pretend ISA
AddReg			= BasicFeatures.reg, SpeedDuplexUpto100.reg, BasicFlowControl.reg,  \
                          BasicPriority.reg
CopyFiles		= NVENET.CopyFiles
*IfType			= 6				; IF_TYPE_ETHERNET_CSMACD
*MediaType		= 0				; NdisMedium802_3
*PhysicalMediaType      = 14				; NdisPhysicalMedium802_3

;=======================================================================
;			NVENET20 Section
;=======================================================================

[NVENET20.NDI.NTamd64]
Characteristics	= 0x84					; NCF_PHYSICAL | NCF_HAS_UI
BusType			= 1				; Pretend ISA
AddReg			= BasicFeatures.reg, SpeedDuplexUpto100.reg, BasicFlowControl.reg,  \
                          BasicPriority.reg
CopyFiles		= NVENET.CopyFiles
*IfType			= 6				; IF_TYPE_ETHERNET_CSMACD
*MediaType		= 0				; NdisMedium802_3
*PhysicalMediaType 	= 14				; NdisPhysicalMedium802_3


;=======================================================================
;			NVENET2S Section
;=======================================================================

[NVENET2S.NDI.NTamd64]
Characteristics	= 0x84					; NCF_PHYSICAL | NCF_HAS_UI
BusType			= 1				; Pretend ISA
AddReg			= BasicFeatures.reg, SpeedDuplexUpto1000.reg, BasicFlowControl.reg, 	\
			  LSOv4.reg,								\
			  LSOv2Ipv4.reg, LSOv2Ipv6.reg,						\
			  TCPChecksumOffloadV4.reg,	UDPChecksumOffloadV4.reg,		\
			  TCPChecksumOffloadV6.reg,	UDPChecksumOffloadV6.reg,		\
			  IPChecksumOffloadV4.reg,      BasicPriority.reg			   
CopyFiles		= NVENET.CopyFiles
*IfType			= 6				; IF_TYPE_ETHERNET_CSMACD
*MediaType		= 0				; NdisMedium802_3
*PhysicalMediaType 	= 14				; NdisPhysicalMedium802_3

;=======================================================================
;			NVENETCK8 Section
;=======================================================================

[NVENETCK8.NDI.NTamd64]
Characteristics	= 0x84					; NCF_PHYSICAL | NCF_HAS_UI
BusType			= 1				; Pretend ISA
AddReg			= BasicFeatures.reg, SpeedDuplexUpto100.reg, BasicFlowControl.reg,      \
                          BasicPriority.reg
CopyFiles		= NVENET.CopyFiles
*IfType			= 6				; IF_TYPE_ETHERNET_CSMACD
*MediaType		= 0				; NdisMedium802_3
*PhysicalMediaType      = 14				; NdisPhysicalMedium802_3


;=======================================================================
;			NVENET30 Section
;=======================================================================

[NVENET30.NDI.NTamd64]
Characteristics	= 0x84					; NCF_PHYSICAL | NCF_HAS_UI
BusType			= 1				; Pretend ISA
AddReg			= BasicFeatures.reg, SpeedDuplexUpto1000.reg, JumboPacket.reg,	\
			  BasicFlowControl.reg,	 LSOv4.reg,				\
			  LSOv2Ipv4.reg, LSOv2Ipv6.reg,						\
			  TCPChecksumOffloadV4.reg,	UDPChecksumOffloadV4.reg,	\
			  TCPChecksumOffloadV6.reg,	UDPChecksumOffloadV6.reg,		\
			  IPChecksumOffloadV4.reg,      BasicPriority.reg
CopyFiles		= NVENET.CopyFiles
*IfType			= 6				; IF_TYPE_ETHERNET_CSMACD
*MediaType		= 0				; NdisMedium802_3
*PhysicalMediaType      = 14				; NdisPhysicalMedium802_3


;=======================================================================
;			NVENET40 Section
;=======================================================================

[NVENET40.NDI.NTamd64]
Characteristics	= 0x84					; NCF_PHYSICAL | NCF_HAS_UI
BusType			= 1						; Pretend ISA
AddReg			= BasicFeatures.reg, SpeedDuplexUpto1000.reg, JumboPacket.reg,	\
			  BasicFlowControl.reg,	LSOv4.reg,				\
			  LSOv2Ipv4.reg, LSOv2Ipv6.reg,						\
			  TCPChecksumOffloadV4.reg,	UDPChecksumOffloadV4.reg,	\
			  TCPChecksumOffloadV6.reg,	UDPChecksumOffloadV6.reg,		\
			  IPChecksumOffloadV4.reg,      BasicPriority.reg
CopyFiles		= NVENET.CopyFiles
*IfType			= 6				; IF_TYPE_ETHERNET_CSMACD
*MediaType		= 0				; NdisMedium802_3
*PhysicalMediaType      = 14				; NdisPhysicalMedium802_3



;=======================================================================
;			Services Section
;=======================================================================

[NVENET10.ndi.NTamd64.Services]
AddService = NVENETFD, 2, NVENET.Service, common.EventLog

[NVENET20.ndi.NTamd64.Services]
AddService = NVENETFD, 2, NVENET.Service, common.EventLog

[NVENET2S.ndi.NTamd64.Services]
AddService = NVENETFD, 2, NVENET.Service, common.EventLog


[NVENETCK8.ndi.NTamd64.Services]
AddService = NVENETFD, 2, NVENET.Service, common.EventLog

[NVENET30.ndi.NTamd64.Services]
AddService = NVENETFD, 2, NVENET.Service, common.EventLog

[NVENET40.ndi.NTamd64.Services]
AddService = NVENETFD, 2, NVENET.Service, common.EventLog


[NVENET.Service]
DisplayName		= %NVENET.Service.DispName%
ServiceType		= 1	;%SERVICE_KERNEL_DRIVER%
StartType		= 3	;%SERVICE_DEMAND_START%
ErrorControl	= 1	;%SERVICE_ERROR_NORMAL%
ServiceBinary	= %12%\nvm60x64.sys
LoadOrderGroup	= NDIS

[SourceDisksNames]
; diskid = description[, [tagfile] [, <unused>,	subdir]]
1 =	%DiskId1%,,,

[SourceDisksFiles]
; filename_on_source = diskID[,	[subdir][, size]]
nvm60x64.sys = 1,,
;=======================================================================
;		Destination Directories
;=======================================================================

[DestinationDirs]
NVENET.CopyFiles	 = 12
 
[NVENET.CopyFiles]
nvm60x64.sys,,,2


[common.EventLog]
AddReg = common.AddEventLog.reg

[common.AddEventLog.reg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
HKR, , TypesSupported,	 0x00010001, 7

;=======================================================================
;		Registry Section
;=======================================================================

[BasicFeatures.reg]
HKR, Ndi,				Service,		0, "NVENET"
HKR, Ndi\Interfaces,			LowerRange,		0, "ethernet"
HKR, Ndi\Interfaces,			UpperRange,		0, "ndis5"
 
 
; Network Address
HKR, Ndi\params\NetworkAddress,			ParamDesc,	0, "%NetworkAddress%"
HKR, Ndi\params\NetworkAddress,			default,	0, " "
HKR, Ndi\params\NetworkAddress,			type,		0, "edit"
HKR, Ndi\params\NetworkAddress,			LimitText,	0, "12"
HKR, Ndi\params\NetworkAddress,			UpperCase,	0, "1"
HKR, Ndi\params\NetworkAddress,			optional,	0, "1"

; Interrupt	Moderation
HKR, Ndi\params\*InterruptModeration,		ParamDesc,	0, "%InterruptModeration%"
HKR, Ndi\params\*InterruptModeration,		default,	0, "1"
HKR, Ndi\params\*InterruptModeration,		type,		0, "enum"
HKR, Ndi\params\*InterruptModeration\enum,	"0",		0, "%Disabled%"
HKR, Ndi\params\*InterruptModeration\enum,	"1",		0, "%Enabled%"
 
;
; Basic	Flow Control
;
[BasicFlowControl.reg]
HKR, Ndi\params\*FlowControl,			ParamDesc,	0, "%FlowControl%" 
HKR, Ndi\params\*FlowControl,			default,	0, "0"
HKR, Ndi\params\*FlowControl\Enum,		"0",		0, %FlowControlDisabled%
HKR, Ndi\params\*FlowControl\Enum,		"1",		0, %FlowControlRxEnabled%
HKR, Ndi\params\*FlowControl,			type,		0, "enum"


; Flow Control
[FlowControl.reg]
HKR, Ndi\params\*FlowControl,			ParamDesc,  	0, "%FlowControl%" 
HKR, Ndi\params\*FlowControl,			default,	0, "0"
HKR, Ndi\params\*FlowControl\Enum,		"0",		0, %FlowControlDisabled%
HKR, Ndi\params\*FlowControl\Enum,		"1",		0, %FlowControlRxEnabled%
HKR, Ndi\params\*FlowControl\Enum,		"2",		0, %FlowControlTxEnabled%
HKR, Ndi\params\*FlowControl\Enum,		"3",		0, %FlowControlRxTxEnabled%
HKR, Ndi\params\*FlowControl,			type,	   	0, "enum"

; Jumbo	Packet
[JumboPacket.reg]
HKR, Ndi\params\*JumboPacket,			ParamDesc,	0, "%JumboPacket%"
HKR, Ndi\params\*JumboPacket,			default,	0, "1514"
HKR, Ndi\params\*JumboPacket,			type,		0, "int"

; Speed	Duplex Setting
[SpeedDuplexUpto100.reg]
HKR, Ndi\params\*SpeedDuplex,			ParamDesc, 	0, "%SpeedDuplex%"
HKR, Ndi\params\*SpeedDuplex,			default,   	0, "0"
HKR, Ndi\params\*SpeedDuplex,			type,	   	0, "enum"
HKR, Ndi\params\*SpeedDuplex\enum,		"0",	   	0, "%AutoNegotiation%"
HKR, Ndi\params\*SpeedDuplex\enum,		"1",	   	0, "%HD10MB%"
HKR, Ndi\params\*SpeedDuplex\enum,		"2",	   	0, "%FD10MB%"
HKR, Ndi\params\*SpeedDuplex\enum,		"3",	   	0, "%HD100MB%"
HKR, Ndi\params\*SpeedDuplex\enum,		"4",	   	0, "%FD100MB%"

; Speed	Duplex Setting
[SpeedDuplexUpto1000.reg]
HKR, Ndi\params\*SpeedDuplex,			ParamDesc, 	0, "%SpeedDuplex%"
HKR, Ndi\params\*SpeedDuplex,			default,   	0, "0"
HKR, Ndi\params\*SpeedDuplex,			type,	   	0, "enum"
HKR, Ndi\params\*SpeedDuplex\enum,		"0",	   	0, "%AutoNegotiation%"
HKR, Ndi\params\*SpeedDuplex\enum,		"1",	   	0, "%HD10MB%"
HKR, Ndi\params\*SpeedDuplex\enum,		"2",	   	0, "%FD10MB%"
HKR, Ndi\params\*SpeedDuplex\enum,		"3",	   	0, "%HD100MB%"
HKR, Ndi\params\*SpeedDuplex\enum,		"4",	   	0, "%FD100MB%"

; TCP Checksum offload V4
[TCPChecksumOffloadV4.reg]
HKR, Ndi\params\*TCPChecksumOffloadIPv4,			ParamDesc,	0, "%TCPChecksumOffloadV4%"	
HKR, Ndi\params\*TCPChecksumOffloadIPv4,			default,	0, "3"
HKR, Ndi\params\*TCPChecksumOffloadIPv4,			type,		0, "enum"
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum,		"0",		0, "%Disabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum,		"1",		0, "%TCPChecksumOffloadV4RxEnabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum,		"2",		0, "%TCPChecksumOffloadV4TxEnabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum,		"3",		0, "%TCPChecksumOffloadV4RxTxEnabled%"

; UDP Checksum offload V4
[UDPChecksumOffloadV4.reg]
HKR, Ndi\params\*UDPChecksumOffloadIPv4,			ParamDesc,	0, "%UDPChecksumOffloadV4%"	
HKR, Ndi\params\*UDPChecksumOffloadIPv4,			default,	0, "3"
HKR, Ndi\params\*UDPChecksumOffloadIPv4,			type,		0, "enum"
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum,		"0",		0, "%Disabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum,		"1",		0, "%UDPChecksumOffloadV4RxEnabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum,		"2",		0, "%UDPChecksumOffloadV4TxEnabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum,		"3",		0, "%UDPChecksumOffloadV4RxTxEnabled%"

; TCP Checksum offload V6
[TCPChecksumOffloadV6.reg]
HKR, Ndi\params\*TCPChecksumOffloadIPv6,			ParamDesc,	0, "%TCPChecksumOffloadV6%"	
HKR, Ndi\params\*TCPChecksumOffloadIPv6,			default,	0, "3"
HKR, Ndi\params\*TCPChecksumOffloadIPv6,			type,		0, "enum"
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum,		"0",		0, "%Disabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum,		"1",		0, "%TCPChecksumOffloadV6RxEnabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum,		"2",		0, "%TCPChecksumOffloadV6TxEnabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum,		"3",		0, "%TCPChecksumOffloadV6RxTxEnabled%"

; UDP Checksum offload V6
[UDPChecksumOffloadV6.reg]
HKR, Ndi\params\*UDPChecksumOffloadIPv6,			ParamDesc,	0, "%UDPChecksumOffloadV6%"	
HKR, Ndi\params\*UDPChecksumOffloadIPv6,			default,	0, "3"
HKR, Ndi\params\*UDPChecksumOffloadIPv6,			type,		0, "enum"
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum,		"0",		0, "%Disabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum,		"1",		0, "%UDPChecksumOffloadV6RxEnabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum,		"2",		0, "%UDPChecksumOffloadV6TxEnabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum,		"3",		0, "%UDPChecksumOffloadV6RxTxEnabled%"

; IP Checksum offload V4
[IPChecksumOffloadV4.reg]
HKR, Ndi\params\*IPChecksumOffloadIPv4,			ParamDesc,	0, "%IPChecksumOffloadV4%" 
HKR, Ndi\params\*IPChecksumOffloadIPv4,			default,	0, "3"
HKR, Ndi\params\*IPChecksumOffloadIPv4,			type,		0, "enum"
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum,		"0",		0, "%Disabled%"
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum,		"1",		0, "%IPChecksumOffloadV4RxEnabled%"
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum,		"2",		0, "%IPChecksumOffloadV4TxEnabled%"
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum,		"3",		0, "%IPChecksumOffloadV4RxTxEnabled%"

[LSOv4.reg]
HKR, Ndi\params\*LsoV1IPv4,				ParamDesc,	0, "%LsoV1IPv4%" 
HKR, Ndi\params\*LsoV1IPv4,				default,	0, "1"
HKR, Ndi\params\*LsoV1IPv4,				type,		0, "enum"
HKR, Ndi\params\*LsoV1IPv4\enum,			"0",		0, "%Disabled%"
HKR, Ndi\params\*LsoV1IPv4\enum,			"1",		0, "%Enabled%"

[LSOv2Ipv4.reg]
HKR, Ndi\params\*LsoV2IPv4,				ParamDesc,	0, "%LsoV2IPv4%" 
HKR, Ndi\params\*LsoV2IPv4,				default,	0, "1"
HKR, Ndi\params\*LsoV2IPv4,				type,		0, "enum"
HKR, Ndi\params\*LsoV2IPv4\enum,			"0",		0, "%Disabled%"
HKR, Ndi\params\*LsoV2IPv4\enum,			"1",		0, "%Enabled%"

[LSOv2Ipv6.reg]
HKR, Ndi\params\*LsoV2IPv6,				ParamDesc,	0, "%LsoV2IPv6%" 
HKR, Ndi\params\*LsoV2IPv6,				default,	0, "1"
HKR, Ndi\params\*LsoV2IPv6,				type,		0, "enum"
HKR, Ndi\params\*LsoV2IPv6\enum,			"0",		0, "%Disabled%"
HKR, Ndi\params\*LsoV2IPv6\enum,			"1",		0, "%Enabled%"

[BasicPriority.reg]
HKR, Ndi\params\*PriorityVLANTag,		ParamDesc,	0, "%PriorityVLANTag%" 
HKR, Ndi\params\*PriorityVLANTag,		default,	0, "1"
HKR, Ndi\params\*PriorityVLANTag,		type,		0, "enum"
HKR, Ndi\params\*PriorityVLANTag\enum,		"0",		0, "%PriorityAndVLANDisabled%"
HKR, Ndi\params\*PriorityVLANTag\enum,		"1",		0, "%PriorityEnabled%"

;=======================================================================
;			Strings	Section
;=======================================================================

[Strings]
Msft				= "Microsoft"
Nvidia				= "NVIDIA"
DiskId1				= "NVIDIA nForce Networking Controller Driver Disk 1"

NVENET.DeviceDesc.MCP1		= "NVIDIA nForce Networking Controller"
NVENET.DeviceDesc.MCP2		= "NVIDIA nForce Networking Controller"
NVENET.DeviceDesc.MCP2S 	= "NVIDIA nForce Networking Controller"
NVENET.DeviceDesc.CK8 		= "NVIDIA nForce Networking Controller"
NVENET.DeviceDesc.CKS 		= "NVIDIA nForce Networking Controller"
NVENET.DeviceDesc.CK04 		= "NVIDIA nForce Networking Controller"
NVENET.DeviceDesc.MCP4 		= "NVIDIA nForce Networking Controller"


NVENET.Service.DispName		= "NVIDIA nForce Networking Controller Driver"
Enabled				= "Enabled"
Disabled			= "Disabled"
RSS				= "Receive Side Scaling"
JumboPacket			= "Jumbo Packet"
LsoV1IPv4				= "Large Send Offload version 1 (IPv4)"
LsoV2IPv4				= "Large Send Offload version 2 (IPv4)"
LsoV2IPv6				= "Large Send Offload version 2 (IPv6)"
NetworkAddress			= "Network Address"
InterruptModeration		= "Interrupt Moderation"	

;
; Speed	and	Duplex settings
;
SpeedDuplex			= "Speed & duplex settings"
Autonegotiation			= "Auto Negotiation"
HD10MB				= "10 Mbps Half Duplex"
FD10MB				= "10 Mpbs Full Duplex"
HD100MB				= "100 Mbps Half Duplex" 
FD100MB				= "100 Mbps Full Duplex"

;
; Flow Control values
;
FlowControl			= "Flow Control"
FlowControlDisabled		= "Disabled"
FlowControlRxEnabled		= "Flow Control Rx Enabled"
FlowControlTxEnabled		= "Flow Control Tx Enabled"
FlowControlRxTxEnabled		= "Flow Control Rx/Tx Enabled"

;
; TCP Checkum offload V4
;
TCPChecksumOffloadV4		= "TCP Checksum Offload (IPv4)"
TCPChecksumOffloadV4RxEnabled	= "TCP RX Checksum offload enabled"
TCPChecksumOffloadV4TxEnabled	= "TCP TX Checksum offload enabled"
TCPChecksumOffloadV4RxTxEnabled	= "TCP RX/TX Checksum offload enabled"

;
; UDP Checkum offload V4
;
UDPChecksumOffloadV4		= "UDP Checksum Offload (IPv4)"
UDPChecksumOffloadV4RxEnabled	= "UDP RX Checksum offload enabled"
UDPChecksumOffloadV4TxEnabled	= "UDP TX Checksum offload enabled"
UDPChecksumOffloadV4RxTxEnabled	= "UDP RX/TX Checksum offload enabled"


;
; TCP Checkum offload V6
;
TCPChecksumOffloadV6		= "TCP Checksum Offload (IPv6)"
TCPChecksumOffloadV6RxEnabled	= "TCP RX Checksum offload enabled"
TCPChecksumOffloadV6TxEnabled	= "TCP TX Checksum offload enabled"
TCPChecksumOffloadV6RxTxEnabled	= "TCP RX/TX Checksum offload enabled"

;
; UDP Checkum offload V6
;
UDPChecksumOffloadV6		= "UDP Checksum Offload (IPv6)"
UDPChecksumOffloadV6RxEnabled	= "UDP RX Checksum offload enabled"
UDPChecksumOffloadV6TxEnabled	= "UDP TX Checksum offload enabled"
UDPChecksumOffloadV6RxTxEnabled	= "UDP RX/TX Checksum offload enabled"

;
; IP Checksum offload V4
;
IPChecksumOffloadV4		= "IP Checksum Offload"
IPChecksumOffloadV4RxEnabled	= "IP RX Checksum offload enabled"
IPChecksumOffloadV4TxEnabled	= "IP TX Checksum offload enabled"
IPChecksumOffloadV4RxTxEnabled	= "IP RX/TX Checksum offload enabled"

;
; VLAN & Priority 
;
PriorityVLANTag                 = "Priority & VLAN"
PriorityAndVLANDisabled         = "Priority & VLAN Disabled"
PriorityEnabled                 = "Priority Enabled"
