;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; NETTUN.INF -- Tun Miniport Adapter
;;
;; Copyright (c) Microsoft Corporation.  All rights reserved.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[Version]
Signature = "$Windows NT$"
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %Msft%
DriverVer=06/21/2006,6.1.7600.16385

[Manufacturer]
%Msft% = Microsoft,NTx86

[Microsoft.NTx86]
;;
;; DisplayName = InstallSection, DeviceID
;;
%ISATAP.DisplayName% = ISATAP.ndi, *ISATAP
%6to4mp.DisplayName% = 6to4mp.ndi, *6to4mp
%TUNDIRECT.DisplayName% = TUNDIRECT.ndi, *TUNDIRECT
%TEREDO.DisplayName% = TEREDO.ndi, *TEREDO
%CPTUNNEL.DisplayName% = CPTUNNEL.ndi, *CPTUNNEL
%IPHTTPS.DisplayName% = IPHTTPS.ndi, *IPHTTPS


;;
;; TUNNEL
;;

[TUNNEL.Service]
DisplayName    = %TUNNEL.Service.DisplayName%
ServiceType    = 1    ;SERVICE_KERNEL_DRIVER
StartType      = 3    ;SERVICE_DEMAND_START
ErrorControl   = 1    ;NORMAL
ServiceBinary  = %12%\tunnel.sys
LoadOrderGroup = NDIS


;;
;; ISATAP
;;

[ISATAP.ndi]
AddReg          = ISATAP.ndi.params, ISATAP.ndi.reg
Characteristics = 0x9    ; NCF_VIRTUAL, NCF_HIDDEN
*IfType         = 131		; IF_TYPE_TUNNEL 
*MediaType      = 15		; NdisMediumTunnel
*PhysicalMediaType = 0		; NdisPhysicalMediumUnspecified 
 
[ISATAP.ndi.reg]
HKR, Ndi,                                  Service,    0,  "tunnel"
HKR, Ndi,                                  HelpText,   0,  "%ISATAP.HelpText%"
HKR, Ndi\Interfaces,                       LowerRange, 0,  "tunnel"
HKR, Ndi\Interfaces,                       UpperRange, 0,  "ndis5_ip6_tunnel"
;;
;; TUNNEL_TYPE_ISATAP == 13.
;;
HKR, ,                                     Type          , 0, "13"

[ISATAP.ndi.params]
HKR, Ndi\Params\NetworkAddress,            ParamDesc,  0,  %NetworkAddress%
HKR, Ndi\Params\NetworkAddress,            Default,    0,  ""
HKR, Ndi\Params\NetworkAddress,            Type,       0,  "text"
HKR, Ndi\Params\Type,                      ParamDesc,  0,  %Type%
HKR, Ndi\Params\Type,                      Default,    0,  ""
HKR, Ndi\Params\Type,                      Type,       0,  "int"

[ISATAP.ndi.Services]
AddService = tunnel, 2, TUNNEL.Service, ISATAP.AddEventLog

[ISATAP.AddEventLog]
AddReg =  ISATAP.AddEventLog.Reg

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

;;
;; 6to4mp
;;

[6to4mp.ndi]
AddReg          = 6to4mp.ndi.params, 6to4mp.ndi.reg
Characteristics = 0x9    ; NCF_VIRTUAL, NCF_HIDDEN
*IfType         = 131		; IF_TYPE_TUNNEL 
*MediaType      = 15		; NdisMediumTunnel
*PhysicalMediaType = 0		; NdisPhysicalMediumUnspecified 
 
[6to4mp.ndi.reg]
HKR, Ndi,                                  Service,    0,  "tunnel"
HKR, Ndi,                                  HelpText,   0,  "%6to4mp.HelpText%"
HKR, Ndi\Interfaces,                       LowerRange, 0,  "tunnel"
HKR, Ndi\Interfaces,                       UpperRange, 0,  "ndis5_ip6_tunnel"
;;
;; TUNNEL_TYPE_6TO4 == 11.
;;
HKR, ,                                     Type          , 0, "11"

[6to4mp.ndi.params]
HKR, Ndi\Params\NetworkAddress,            ParamDesc,  0,  %NetworkAddress%
HKR, Ndi\Params\NetworkAddress,            Default,    0,  ""
HKR, Ndi\Params\NetworkAddress,            Type,       0,  "text"

HKR, Ndi\Params\Type,                      ParamDesc,  0,  %Type%
HKR, Ndi\Params\Type,                      Default,    0,  ""
HKR, Ndi\Params\Type,                      Type,       0,  "int"

[6to4mp.ndi.Services]
AddService = tunnel, 2, TUNNEL.Service, 6to4mp.AddEventLog

[6to4mp.AddEventLog]
AddReg =  6to4mp.AddEventLog.Reg

[6to4mp.AddEventLog.Reg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
HKR, , TypesSupported,   0x00010001, 7

;;
;; DIRECT
;;
[TUNDIRECT.ndi]
AddReg          = TUNDIRECT.ndi.params, TUNDIRECT.ndi.reg
Characteristics = 0x9    ; NCF_VIRTUAL, NCF_HIDDEN
*IfType         = 131		; IF_TYPE_TUNNEL 
*MediaType      = 15		; NdisMediumTunnel
*PhysicalMediaType = 0		; NdisPhysicalMediumUnspecified 
 
[TUNDIRECT.ndi.reg]
HKR, Ndi,                                  Service,    0,  "tunnel"
HKR, Ndi,                                  HelpText,   0,  "%TUNDIRECT.HelpText%"
HKR, Ndi\Interfaces,                       LowerRange, 0,  "tunnel"
HKR, Ndi\Interfaces,                       UpperRange, 0,  "ndis5_ip6_tunnel"
;;
;; TUNNEL_TYPE_DIRECT == 2.
;;
HKR, ,                                     Type          , 0, "2"
HKR, ,                                     AddressLength , 0, "4"


[TUNDIRECT.ndi.params]
HKR, Ndi\Params\NetworkAddress,            ParamDesc,  0,  %NetworkAddress%
HKR, Ndi\Params\NetworkAddress,            Default,    0,  ""
HKR, Ndi\Params\NetworkAddress,            Type,       0,  "text"

HKR, Ndi\Params\Type,                      ParamDesc,  0,  %Type%
HKR, Ndi\Params\Type,                      Default,    0,  ""
HKR, Ndi\Params\Type,                      Type,       0,  "int"

[TUNDIRECT.ndi.Services]
AddService = tunnel, 2, TUNNEL.Service, TUNDIRECT.AddEventLog

[TUNDIRECT.AddEventLog]
AddReg =  TUNDIRECT.AddEventLog.Reg

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


;;
;; TEREDO
;;

[TEREDO.ndi]
AddReg = TEREDO.ndi.reg, TEREDO.ndi.params
*IfType            = 131    ; IF_TYPE_TUNNEL 
*MediaType         = 15     ; NdisMediumTunnel
*PhysicalMediaType = 0      ; NdisPhysicalMediumUnspecified 
Characteristics = 0x9       ; NCF_VIRTUAL, NCF_HIDDEN
 
[TEREDO.ndi.reg]
HKR,    Ndi,                        Service,    0,  "tunnel"
HKR,    Ndi,                        HelpText,   0,  %TEREDO.HelpText%
HKR,    Ndi\Interfaces,             LowerRange, 0,  "tunnel"
HKR,    Ndi\Interfaces,             UpperRange, 0,  "ndis5_ip6_tunnel"

;;
;; TUNNEL_TYPE_TEREDO == 14
;; This is "out-of-band" information to the tunnel.sys driver and to
;; the framing layer to help them identify the type of the tunnel
;; interface.
;;
HKR, ,                              Type,       0,  "14"

;;
;; The device name that is exported by tunnel.sys for the service
;; to communicate with.
;;
HKR, ,                              DeviceName,   0, "\Device\TeredoTun"
HKR, ,                              SymbolicName,   0, "\GLOBAL??\TeredoTun"

[TEREDO.ndi.params]
HKR,    Ndi\Params\NetworkAddress,  ParamDesc,  0,  %NetworkAddress%
HKR,    Ndi\Params\NetworkAddress,  Default,    0,  ""
HKR,    Ndi\Params\NetworkAddress,  Type,       0,  "text"

[TEREDO.ndi.Services]
AddService = tunnel, 2, TUNNEL.Service, TUNNEL.AddEventLog


;;
;; Connectivity platform
;;
[CPTUNNEL.ndi]
AddReg          = CPTUNNEL.ndi.params, CPTUNNEL.ndi.reg
Characteristics = 0x9    ; NCF_VIRTUAL, NCF_HIDDEN
*IfType         = 131		; IF_TYPE_TUNNEL 
*MediaType      = 15		; NdisMediumTunnel
*PhysicalMediaType = 0		; NdisPhysicalMediumUnspecified 
 
[CPTUNNEL.ndi.reg]
HKR, Ndi,                                  Service,    0,  "tunnel"
HKR, Ndi,                                  HelpText,   0,  "%CPTUNNEL.HelpText%"
HKR, Ndi\Interfaces,                       LowerRange, 0,  "tunnel"
HKR, Ndi\Interfaces,                       UpperRange, 0,  "ndis5_ip6_tunnel,ndis5_tunnel"
;;
;; TUNNEL_TYPE_OTHER == 1.
;; Since multiple tunnels use TUNNEL_TYPE_OTHER, we need a sub-type
;; to differentiate them.
;;
HKR, ,                              Type,       0,  "1"
HKR, ,                           SubType,       0,  "1"


[CPTUNNEL.ndi.params]
HKR, Ndi\Params\NetworkAddress,            ParamDesc,  0,  %NetworkAddress%
HKR, Ndi\Params\NetworkAddress,            Default,    0,  ""
HKR, Ndi\Params\NetworkAddress,            Type,       0,  "text"

[CPTUNNEL.ndi.Services]
AddService = tunnel, 2, TUNNEL.Service, CPTUNNEL.AddEventLog

[CPTUNNEL.AddEventLog]
AddReg =  CPTUNNEL.AddEventLog.Reg

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

;;
;; IPHTTPS
;;

[IPHTTPS.ndi]
AddReg = IPHTTPS.ndi.reg, IPHTTPS.ndi.params
*IfType            = 131    ; IF_TYPE_TUNNEL 
*MediaType         = 15     ; NdisMediumTunnel
*PhysicalMediaType = 0      ; NdisPhysicalMediumUnspecified 
Characteristics = 0x9       ; NCF_VIRTUAL, NCF_HIDDEN
 
[IPHTTPS.ndi.reg]
HKR,    Ndi,                        Service,    0,  "tunnel"
HKR,    Ndi,                        HelpText,   0,  %IPHTTPS.HelpText%
HKR,    Ndi\Interfaces,             LowerRange, 0,  "tunnel"
HKR,    Ndi\Interfaces,             UpperRange, 0,  "ndis5_ip6_tunnel"

;;
;; TUNNEL_TYPE_IPHTTPS == 15
;; This is "out-of-band" information to the tunnel.sys driver and to
;; the framing layer to help them identify the type of the tunnel
;; interface.
;;
HKR, ,                              Type,       0,  "15"

;;
;; The device name that is exported by tunnel.sys for the service
;; to communicate with.
;;
HKR, ,                              DeviceName,   0, "\Device\IpHttpsDevice"
HKR, ,                              SymbolicName,   0, "\GLOBAL??\IpHttpsDevice"

[IPHTTPS.ndi.params]
HKR,    Ndi\Params\NetworkAddress,  ParamDesc,  0,  %NetworkAddress%
HKR,    Ndi\Params\NetworkAddress,  Default,    0,  ""
HKR,    Ndi\Params\NetworkAddress,  Type,       0,  "text"

[IPHTTPS.ndi.Services]
AddService = tunnel, 2, TUNNEL.Service, TUNNEL.AddEventLog


[Strings]
; localizable
Msft = "Microsoft"

NetworkAddress = "Network Address"
Type = "Type"

TUNNEL.Service.DisplayName = "Microsoft Tunnel Miniport Adapter Driver"

ISATAP.DisplayName = "Microsoft ISATAP Adapter"
ISATAP.HelpText = "Microsoft ISATAP Adapter Driver"

6to4mp.DisplayName = "Microsoft 6to4 Adapter"
6to4mp.HelpText = "Microsoft 6to4 Adapter Driver"

TUNDIRECT.DisplayName = "Microsoft Direct Point-to-point Adapater"
TUNDIRECT.HelpText = "Microsoft Direct Point-to-point Adapter Driver"

TEREDO.DisplayName = "Microsoft Teredo Tunneling Adapter"
TEREDO.HelpText = "Microsoft Teredo Tunneling Adapter"

CPTUNNEL.DisplayName = "Microsoft Connectivity Platform Adapter"
CPTUNNEL.HelpText = "Microsoft Connectivity Platform Adapter Driver"

IPHTTPS.DisplayName = "Microsoft IP-HTTPS Platform Adapter"
IPHTTPS.HelpText = "Microsoft IP-HTTPS Platform Adapter Driver"

