VirtualBox

Ignore:
Timestamp:
Mar 1, 2011 3:25:18 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
70285
Message:

rework NetFlt/Adp

Location:
trunk/src/VBox/HostDrivers/VBoxNetFlt
Files:
17 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk

    r35380 r36121  
    3131endif
    3232VBoxNetFlt_DEFS = IN_RT_R0 IN_SUP_STATIC
    33 VBoxNetFlt_SDKS.win = W2K3DDK WINPSDKINCS
    3433VBoxNetFlt_INCS = .
    3534VBoxNetFlt_SOURCES.darwin = \
     
    3736#VBoxNetFlt_SOURCES.darwin += \
    3837#       darwin/VBoxNetAdapter-darwin.cpp
     38VBoxNetFlt_SDKS.win = WINDDKWLH WINPSDKINCS
    3939VBoxNetFlt_SOURCES.win = \
    40         win/VBoxNetFlt-win.c \
    41         win/VBoxNetFltPt-win.c \
    42         win/VBoxNetFlt-win.rc
    43 ifdef VBOX_NETFLT_ONDEMAND_BIND
    44  VBoxNetFlt_DEFS.win += VBOX_NETFLT_ONDEMAND_BIND
    45 else
    46  VBoxNetFlt_DEFS.win += VBOXNETFLT_STATIC_CONFIG
    47  VBoxNetFlt_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
    48  VBoxNetFlt_DEFS.win += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
    49  VBoxNetFlt_DEFS.win += NDIS50_MINIPORT=1 NDIS50=1
    50  VBoxNetFlt_SOURCES.win += win/VBoxNetFltMp-win.c
    51 endif
     40        win/drv/VBoxNetFltP-win.cpp \
     41        win/drv/VBoxNetFltM-win.cpp \
     42        win/drv/VBoxNetFltRt-win.cpp \
     43        win/drv/VBoxNetFlt-win.rc
     44# with WINDDKWLH the WIN9X_COMPAT_SPINLOCK is needed to avoid inline declaration of KeInitializeSpinLock
     45# otherwise the linker would complain about dumplicate _KeInitializeSpinLock@4 definition
     46# in ntoskrnl.lib and our object files
     47VBoxNetFlt_DEFS.win += WIN9X_COMPAT_SPINLOCK=1
     48VBoxNetFlt_DEFS.win += VBOXNETFLT_STATIC_CONFIG
     49VBoxNetFlt_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
     50VBoxNetFlt_DEFS.win += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
     51VBoxNetFlt_DEFS.win += NDIS50_MINIPORT=1 NDIS50=1
    5252ifdef VBOX_LOOPBACK_USEFLAGS
    5353 VBoxNetFlt_DEFS.win += VBOX_LOOPBACK_USEFLAGS
     
    5858VBoxNetFlt_LDFLAGS.win.amd64 = -Entry:DriverEntry
    5959VBoxNetFlt_LIBS.win = \
    60         $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
    61         $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
    62         $(PATH_SDK_W2K3DDK_LIB)/ndis.lib \
     60        $(PATH_SDK_WINDDKWLH_LIB)/ntoskrnl.lib \
     61        $(PATH_SDK_WINDDKWLH_LIB)/hal.lib \
     62        $(PATH_SDK_WINDDKWLH_LIB)/ndis.lib \
    6363        $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
    6464VBoxNetFlt_LIBS = \
     
    107107VBoxNetFlt-inf_SOURCES = \
    108108        $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
    109         $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf
     109        $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf
    110110VBoxNetFlt-inf_CLEAN = $(VBoxNetFlt-inf_SOURCES)
    111111VBoxNetFlt-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetFltCat.dir
    112112
    113 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf: $(PATH_SUB_CURRENT)/win/VBoxNetFlt.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
     113$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetFlt.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
    114114        $(call MSG_GENERATE,VBoxNetFlt-inf,$@,$<)
    115115        $(call VBOX_EDIT_INF_FN,$<,$@)
    116116
    117 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf: $(PATH_SUB_CURRENT)/win/VBoxNetFlt_m.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
     117$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetFltM.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
    118118        $(call MSG_GENERATE,VBoxNetFlt-inf,$@,$<)
    119119        $(call VBOX_EDIT_INF_FN,$<,$@)
    120 
     120       
    121121 ifdef VBOX_SIGNING_MODE
    122122VBoxNetFlt-inf_SOURCES += \
    123123        $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
    124         $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll \
     124        $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll \
    125125        $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat
    126126
    127127$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys: $$(TARGET_VBoxNetFlt) | $$(dir $$@)
    128128        $(INSTALL) -m 644 $< $(@D)
    129 
    130 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll: $$(TARGET_VBoxNetFltNotify) | $$(dir $$@)
     129 
     130$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll: $$(TARGET_VBoxNetFltNobj) | $$(dir $$@)
    131131        $(INSTALL) -m 644 $< $(@D)
    132132
    133133$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat: \
    134134                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \
    135                 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll \
     135                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNobj.dll \
    136136                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \
    137                 $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf
     137                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltM.inf
    138138        $(call MSG_TOOL,Inf2Cat,VBoxNetFlt-inf,$@,$<)
    139139        $(call VBOX_MAKE_CAT_FN, $(@D),$@)
     
    149149WinNetConfig_SDKS     = WINPSDK W2K3DDK
    150150WinNetConfig_SOURCES  = \
    151         win/WinNetConfig.cpp
     151        win/cfg/VBoxNetCfg.cpp
    152152WinNetConfig_INCS.win += $(PATH_TOOL_$(VBOX_VCC_TOOL)_INC)
    153153
     
    158158NetFltInstall_TEMPLATE = VBOXR3STATIC
    159159NetFltInstall_SDKS     = WINPSDK W2K3DDK VBOX_NTDLL
    160 NetFltInstall_SOURCES  = win/NetFltInstall.cpp
     160NetFltInstall_SOURCES  = win/tools/VBoxNetFltInstall.cpp
    161161NetFltInstall_LIBS     = $(TARGET_WinNetConfig) \
    162162        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
     
    170170NetFltUninstall_TEMPLATE = VBOXR3STATIC
    171171NetFltUninstall_SDKS     = WINPSDK W2K3DDK VBOX_NTDLL
    172 NetFltUninstall_SOURCES  = win/NetFltUninstall.cpp
     172NetFltUninstall_SOURCES  = win/tools/VBoxNetFltUninstall.cpp
    173173NetFltUninstall_LIBS     = $(TARGET_WinNetConfig) \
    174174        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
     
    181181NetAdpInstall_TEMPLATE = VBOXR3STATIC
    182182NetAdpInstall_SDKS     = WINPSDK W2K3DDK VBOX_NTDLL
    183 NetAdpInstall_SOURCES  = win/NetAdpInstall.cpp
     183NetAdpInstall_SOURCES  = win/tools/VBoxNetAdpInstall.cpp
    184184NetAdpInstall_LIBS     = $(TARGET_WinNetConfig) \
    185185        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
     
    193193NetAdpUninstall_TEMPLATE = VBOXR3STATIC
    194194NetAdpUninstall_SDKS     = WINPSDK W2K3DDK VBOX_NTDLL
    195 NetAdpUninstall_SOURCES  = win/NetAdpUninstall.cpp
     195NetAdpUninstall_SOURCES  = win/tools/VBoxNetAdpUninstall.cpp
    196196NetAdpUninstall_LIBS     = $(TARGET_WinNetConfig) \
    197197        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
     
    199199
    200200#
    201 # VBoxNetFltNotify
    202 #
    203 DLLS.win += VBoxNetFltNotify
     201# VBoxNetFltNobj
     202#
     203DLLS.win += VBoxNetFltNobj
    204204if defined(VBOX_SIGNING_MODE)
    205 VBoxNetFltNotify_NOINST = true
     205VBoxNetFltNobj_NOINST = true
    206206endif
    207 VBoxNetFltNotify_TEMPLATE   = VBOXR3STATIC
    208 VBoxNetFltNotify_SDKS       = WINPSDK W2K3DDK VBOX_NTDLL
    209 VBoxNetFltNotify_DEFS       = _WIN32_WINNT=0x0500 WIN32 _ATL_STATIC_REGISTRY
    210 VBoxNetFltNotify_INCS       = \
    211         $(VBoxNetFltNotify_0_OUTDIR)
    212 VBoxNetFltNotify_SOURCES    = \
    213         win/notifyobj/VBoxNetFltNotify.cpp \
    214         win/notifyobj/VBoxNetFltNotify.def \
    215         win/notifyobj/VBoxNetFltNotify.rc
    216 VBoxNetFltNotify_LIBS       = \
     207VBoxNetFltNobj_TEMPLATE   = VBOXR3STATIC
     208VBoxNetFltNobj_SDKS       = WINPSDK W2K3DDK VBOX_NTDLL
     209VBoxNetFltNobj_DEFS       = _WIN32_WINNT=0x0500 WIN32 _ATL_STATIC_REGISTRY
     210VBoxNetFltNobj_INCS       = \
     211        $(VBoxNetFltNobj_0_OUTDIR)
     212VBoxNetFltNobj_SOURCES    = \
     213        win/nobj/VBoxNetFltNobj.cpp \
     214        win/nobj/VBoxNetFltNobj.def \
     215        win/nobj/VBoxNetFltNobj.rc
     216VBoxNetFltNobj_LIBS       = \
    217217        $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_LIB)/atls$(VBOX_VCC_CRT_TYPE).lib
    218 #VBoxNetFltNotify_INTERMEDIATES =
    219 VBoxNetFltNotify_DEPS       = \
    220         $(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn_i.c \
    221         $(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn_p.c \
    222         $(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn.h \
    223         $(VBoxNetFltNotify_0_OUTDIR)/dlldata.c \
    224         $(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn.tlb
    225 VBoxNetFltNotify_CLEAN      = $(VBoxNetFltNotify_DEPS)
    226 
    227 VBOXNETFLT_NOTIFY_IDL      ?= $(EXEC_X86_WIN32) $(call VBOX_FN_MAKE_WIN_PATH,$(firstword $(wildcard \
     218#VBoxNetFltNobj_INTERMEDIATES =
     219VBoxNetFltNobj_DEPS       = \
     220        $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_i.c \
     221        $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_p.c \
     222        $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.h \
     223        $(VBoxNetFltNobj_0_OUTDIR)/dlldata.c \
     224        $(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.tlb
     225VBoxNetFltNobj_CLEAN      = $(VBoxNetFltNobj_DEPS)
     226
     227VBOXNETFLT_NOBJ_IDL      ?= $(EXEC_X86_WIN32) $(call VBOX_FN_MAKE_WIN_PATH,$(firstword $(wildcard \
    228228        $(PATH_SDK_WINPSDK_BIN)/Midl.Exe\
    229229        $(PATH_SDK_WINPSDK)/Bin/Midl.Exe\
     
    231231        ) Sorry_Cannot_Find_The_Midl_Compiler_In_The_PSDK))
    232232
    233 $$(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn_i.c \
    234 + $$(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn_p.c \
    235 + $$(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn.h \
    236 + $$(VBoxNetFltNotify_0_OUTDIR)/dlldata.c \
    237 + $$(VBoxNetFltNotify_0_OUTDIR)/VBoxNetFltNotifyn.tlb: \
    238                 $(PATH_SUB_CURRENT)/win/notifyobj/VBoxNetFltNotifyn.idl \
     233$$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_i.c \
     234+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT_p.c \
     235+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.h \
     236+ $$(VBoxNetFltNobj_0_OUTDIR)/dlldata.c \
     237+ $$(VBoxNetFltNobj_0_OUTDIR)/VBoxNetFltNobjT.tlb: \
     238                $(PATH_SUB_CURRENT)/win/nobj/VBoxNetFltNobjT.idl \
    239239                | $$(dir $$@)
    240         $(VBOXNETFLT_NOTIFY_IDL) /nologo \
    241                 /out $(call VBOX_FN_MAKE_WIN_PATH,$(VBoxNetFltNotify_0_OUTDIR)) \
     240        $(VBOXNETFLT_NOBJ_IDL) /nologo \
     241                /out $(call VBOX_FN_MAKE_WIN_PATH,$(VBoxNetFltNobj_0_OUTDIR)) \
    242242                /cpp_cmd $(subst $(EXEC_X86_WIN32),,$(call VBOX_FN_MAKE_WIN_PATH,$(TOOL_$(VBOX_VCC_TOOL)_CC))) \
    243243                $(addprefix /I , $(call VBOX_FN_MAKE_WIN_PATH,$(SDK_W2K3DDK_INCS))) \
     
    254254 endif
    255255VBoxNetAdp_DEFS = IN_RT_R0 IN_SUP_STATIC
    256 VBoxNetAdp_SDKS = W2K3DDK WINPSDKINCS
    257256VBoxNetAdp_INCS := $(PATH_SUB_CURRENT)
     257VBoxNetAdp_SDKS = WINDDKWLH WINPSDKINCS
    258258VBoxNetAdp_SOURCES = \
    259259        VBoxNetFlt.c \
    260         win/VBoxNetFlt-win.c \
    261         win/VBoxNetFltMp-win.c \
    262         win/VBoxNetFlt-win.rc
     260        win/drv/VBoxNetFltM-win.cpp \
     261        win/drv/VBoxNetFltRt-win.cpp \
     262        win/drv/VBoxNetFlt-win.rc
    263263VBoxNetAdp_DEFS += VBOXNETFLT_STATIC_CONFIG VBOXNETADP
    264264VBoxNetAdp_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
     
    284284VBoxNetAdp-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetAdpCat.dir
    285285
    286 $(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf: $(PATH_SUB_CURRENT)/win/VBoxNetAdp.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
     286$(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetAdp.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
    287287        $(call MSG_GENERATE,VBoxNetAdp-inf,$@,$<)
    288288        $(call VBOX_EDIT_INF_FN,$<,$@)
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/VBoxNetFltInternal.h

    r33141 r36121  
    241241             * @{ */
    242242            /** Filter driver device context. */
    243             ADAPT IfAdaptor;
     243            VBOXNETFLTWIN WinIf;
    244244
    245245            volatile uint32_t cModeNetFltRefs;
     
    251251            /** The MAC address of the interface. Caching MAC for performance reasons. */
    252252            RTMAC MacAddr;
    253             /** mutex used to synchronize ADAPT init/deinit */
    254             RTSEMMUTEX hAdaptMutex;
     253            /** mutex used to synchronize WinIf init/deinit */
     254            RTSEMMUTEX hWinIfMutex;
    255255            /** @}  */
    256256# else
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette