Network support added to Linux build.

This commit is contained in:
pcem_emulator 2017-08-08 21:59:53 +01:00
commit 24c552ca38
7 changed files with 244 additions and 83 deletions

31
configure vendored
View file

@ -610,6 +610,8 @@ PKG_CONFIG
allegro_LIBS
allegro_CFLAGS
ALLEGRO_CONFIG
USE_NETWORKING_FALSE
USE_NETWORKING_TRUE
USE_WX_FALSE
USE_WX_TRUE
OS_LINUX_FALSE
@ -724,6 +726,7 @@ enable_silent_rules
enable_dependency_tracking
enable_debug
enable_wx
enable_networking
with_allegro_prefix
with_allegro_exec_prefix
enable_allegrotest
@ -1388,6 +1391,7 @@ Optional Features:
speeds up one-time build
--enable-debug build debug executable
--enable-wx use wxWidgets GUI
--enable-networking enable networking
--disable-allegrotest Do not try to compile and run a test LIBallegro program
--disable-sdltest Do not try to compile and run a test SDL program
@ -4158,6 +4162,21 @@ else
$as_echo "no" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable networking" >&5
$as_echo_n "checking whether to enable networking... " >&6; }
# Check whether --enable-networking was given.
if test "${enable_networking+set}" = set; then :
enableval=$enable_networking;
fi
if test "$enable_networking" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cpu" >&5
$as_echo_n "checking for cpu... " >&6; }
case "${host_cpu}" in
@ -4221,6 +4240,14 @@ else
USE_WX_FALSE=
fi
if test "$enable_networking" = "yes"; then
USE_NETWORKING_TRUE=
USE_NETWORKING_FALSE='#'
else
USE_NETWORKING_TRUE='#'
USE_NETWORKING_FALSE=
fi
if test "$enable_wx" != "yes"; then
# Do not run test for Allegro with Win32/MinGW version, as binary builds have
@ -5608,6 +5635,10 @@ if test -z "${USE_WX_TRUE}" && test -z "${USE_WX_FALSE}"; then
as_fn_error $? "conditional \"USE_WX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${USE_NETWORKING_TRUE}" && test -z "${USE_NETWORKING_FALSE}"; then
as_fn_error $? "conditional \"USE_NETWORKING\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0

View file

@ -33,6 +33,15 @@ else
AC_MSG_RESULT([no])
fi
AC_MSG_CHECKING([whether to enable networking])
AC_ARG_ENABLE(networking,
AC_HELP_STRING([--enable-networking], [enable networking]))
if test "$enable_networking" = "yes"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
AC_MSG_CHECKING([for cpu])
case "${host_cpu}" in
i?86)
@ -58,6 +67,7 @@ AM_CONDITIONAL(OS_WIN, test "$OS" = "win")
AM_CONDITIONAL(OS_LINUX, test "$OS" = "linux")
AM_CONDITIONAL(USE_WX, test "$enable_wx" = "yes")
AM_CONDITIONAL(USE_NETWORKING, test "$enable_networking" = "yes")
if test "$enable_wx" != "yes"; then
# Do not run test for Allegro with Win32/MinGW version, as binary builds have

View file

@ -7,6 +7,9 @@ CLEANFILES = $(noinst_SCRIPTS)
../pcem: pcem
cp pcem ..
slirp/libslirp.a:
$(MAKE) -C slirp
amrefresh:
@ -15,7 +18,7 @@ codegen.c codegen_ops.c codegen_timing_486.c codegen_timing_686.c codegen_timing
dac.c dells200.c device.c disc.c disc_fdi.c disc_img.c disc_sector.c dma.c esdi_at.c fdc.c fdc37c665.c fdd.c fdi2raw.c gameport.c \
hdd.c hdd_esdi.c hdd_file.c headland.c i430lx.c i430fx.c i430vx.c ide.c intel.c intel_flash.c io.c jim.c joystick_ch_flightstick_pro.c joystick_standard.c joystick_sw_pad.c \
joystick_tm_fcs.c keyboard.c keyboard_amstrad.c keyboard_at.c keyboard_olim24.c keyboard_pcjr.c keyboard_xt.c \
laserxt.c lpt.c mca.c mcr.c mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_ps2.c mouse_serial.c mouse_msystems.c neat.c nmi.c nvr.c olivetti_m24.c \
laserxt.c lpt.c mca.c mcr.c mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_msystems.c mouse_ps2.c mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c \
opti495.c paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c ps2.c ps2_mca.c ps2_nvr.c rom.c rtc.c scat.c serial.c sio.c sis496.c sound.c \
sound_ad1848.c sound_adlib.c sound_adlibgold.c sound_cms.c sound_emu8k.c sound_gus.c \
sound_mpu401_uart.c sound_opl.c sound_pas16.c sound_ps1.c sound_pssj.c sound_sb.c sound_sb_dsp.c sound_sn76489.c \
@ -45,6 +48,7 @@ pcem_SOURCES += wx-main.cc wx-config_sel.c wx-dialogbox.cc wx-utils.cc wx-app.cc
wx-glslp-parser.c wx-shader_man.c wx-shaderconfig.cc
else
pcem_CFLAGS = $(allegro_CFLAGS) -DPCEM_ALLEGRO
pcem_CXXFLAGS =
pcem_LDADD = $(allegro_LIBS) -lopenal
pcem_SOURCES += allegro-gui.c allegro-gui-config-sel.c allegro-gui-configure.c \
allegro-gui-deviceconfig.c allegro-gui-hdconf.c allegro-joystick.c \
@ -61,3 +65,9 @@ if CPU_X86_64
pcem_SOURCES += codegen_x86-64.c
endif
if USE_NETWORKING
pcem_CFLAGS += -DUSE_NETWORKING
pcem_CXXFLAGS += -DUSE_NETWORKING
pcem_SOURCES += ne2000.c nethandler.c wx-hostconfig.c
pcem_LDADD += slirp/libslirp.a
endif

View file

@ -106,6 +106,10 @@ bin_PROGRAMS = pcem$(EXEEXT)
@CPU_I386_TRUE@am__append_3 = codegen_x86.c
@CPU_I386_TRUE@am__append_4 = -msse2
@CPU_X86_64_TRUE@am__append_5 = codegen_x86-64.c
@USE_NETWORKING_TRUE@am__append_6 = -DUSE_NETWORKING
@USE_NETWORKING_TRUE@am__append_7 = -DUSE_NETWORKING
@USE_NETWORKING_TRUE@am__append_8 = ne2000.c nethandler.c wx-hostconfig.c
@USE_NETWORKING_TRUE@am__append_9 = slirp/libslirp.a
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/allegro.m4 \
@ -132,40 +136,40 @@ am__pcem_SOURCES_DIST = 386.c 386_dynarec.c 386_dynarec_ops.c 808x.c \
joystick_sw_pad.c joystick_tm_fcs.c keyboard.c \
keyboard_amstrad.c keyboard_at.c keyboard_olim24.c \
keyboard_pcjr.c keyboard_xt.c laserxt.c lpt.c mca.c mcr.c \
mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_ps2.c \
mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c opti495.c \
paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c ps2.c \
ps2_mca.c ps2_nvr.c rom.c rtc.c scat.c serial.c sio.c sis496.c \
sound.c sound_ad1848.c sound_adlib.c sound_adlibgold.c \
sound_cms.c sound_emu8k.c sound_gus.c sound_mpu401_uart.c \
sound_opl.c sound_pas16.c sound_ps1.c sound_pssj.c sound_sb.c \
sound_sb_dsp.c sound_sn76489.c sound_speaker.c sound_ssi2001.c \
sound_wss.c sound_ym7128.c soundopenal.c tandy_eeprom.c \
tandy_rom.c timer.c um8669f.c um8881f.c vid_ati_eeprom.c \
vid_ati_mach64.c vid_ati18800.c vid_ati28800.c \
vid_ati68860_ramdac.c vid_cga.c vid_cl5429.c vid_colorplus.c \
vid_ega.c vid_et4000.c vid_et4000w32.c vid_genius.c \
vid_hercules.c vid_icd2061.c vid_ics2595.c vid_incolor.c \
vid_mda.c vid_olivetti_m24.c vid_oti067.c vid_paradise.c \
vid_pc200.c vid_pc1512.c vid_pc1640.c vid_pcjr.c \
vid_ps1_svga.c vid_s3.c vid_s3_virge.c vid_sdac_ramdac.c \
vid_stg_ramdac.c vid_svga.c vid_svga_render.c vid_tandy.c \
vid_tandysl.c vid_tgui9440.c vid_tkd8001_ramdac.c vid_tvga.c \
vid_unk_ramdac.c vid_vga.c vid_voodoo.c video.c wd76c10.c \
vid_wy700.c x86seg.c x87.c xtide.c sound_dbopl.cc \
sound_resid.cc dosbox/cdrom_image.cpp dosbox/dbopl.cpp \
dosbox/nukedopl.cpp dosbox/vid_cga_comp.c resid-fp/convolve.cc \
resid-fp/convolve-sse.cc resid-fp/envelope.cc \
resid-fp/extfilt.cc resid-fp/filter.cc resid-fp/pot.cc \
resid-fp/sid.cc resid-fp/voice.cc resid-fp/wave6581_PS_.cc \
resid-fp/wave6581_PST.cc resid-fp/wave6581_P_T.cc \
resid-fp/wave6581__ST.cc resid-fp/wave8580_PS_.cc \
resid-fp/wave8580_PST.cc resid-fp/wave8580_P_T.cc \
resid-fp/wave8580__ST.cc resid-fp/wave.cc wx-main.cc \
wx-config_sel.c wx-dialogbox.cc wx-utils.cc wx-app.cc \
wx-sdl2-joystick.c wx-sdl2-mouse.c wx-sdl2-keyboard.c \
wx-sdl2-video.c wx-sdl2-midi.c wx-sdl2.c wx-config.c \
wx-deviceconfig.cc wx-status.cc wx-sdl2-status.c \
mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_msystems.c \
mouse_ps2.c mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c \
opti495.c paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c \
ps2.c ps2_mca.c ps2_nvr.c rom.c rtc.c scat.c serial.c sio.c \
sis496.c sound.c sound_ad1848.c sound_adlib.c \
sound_adlibgold.c sound_cms.c sound_emu8k.c sound_gus.c \
sound_mpu401_uart.c sound_opl.c sound_pas16.c sound_ps1.c \
sound_pssj.c sound_sb.c sound_sb_dsp.c sound_sn76489.c \
sound_speaker.c sound_ssi2001.c sound_wss.c sound_ym7128.c \
soundopenal.c tandy_eeprom.c tandy_rom.c timer.c um8669f.c \
um8881f.c vid_ati_eeprom.c vid_ati_mach64.c vid_ati18800.c \
vid_ati28800.c vid_ati68860_ramdac.c vid_cga.c vid_cl5429.c \
vid_colorplus.c vid_ega.c vid_et4000.c vid_et4000w32.c \
vid_genius.c vid_hercules.c vid_icd2061.c vid_ics2595.c \
vid_incolor.c vid_mda.c vid_olivetti_m24.c vid_oti067.c \
vid_paradise.c vid_pc200.c vid_pc1512.c vid_pc1640.c \
vid_pcjr.c vid_ps1_svga.c vid_s3.c vid_s3_virge.c \
vid_sdac_ramdac.c vid_stg_ramdac.c vid_svga.c \
vid_svga_render.c vid_tandy.c vid_tandysl.c vid_tgui9440.c \
vid_tkd8001_ramdac.c vid_tvga.c vid_unk_ramdac.c vid_vga.c \
vid_voodoo.c video.c wd76c10.c vid_wy700.c x86seg.c x87.c \
xtide.c sound_dbopl.cc sound_resid.cc dosbox/cdrom_image.cpp \
dosbox/dbopl.cpp dosbox/nukedopl.cpp dosbox/vid_cga_comp.c \
resid-fp/convolve.cc resid-fp/convolve-sse.cc \
resid-fp/envelope.cc resid-fp/extfilt.cc resid-fp/filter.cc \
resid-fp/pot.cc resid-fp/sid.cc resid-fp/voice.cc \
resid-fp/wave6581_PS_.cc resid-fp/wave6581_PST.cc \
resid-fp/wave6581_P_T.cc resid-fp/wave6581__ST.cc \
resid-fp/wave8580_PS_.cc resid-fp/wave8580_PST.cc \
resid-fp/wave8580_P_T.cc resid-fp/wave8580__ST.cc \
resid-fp/wave.cc wx-main.cc wx-config_sel.c wx-dialogbox.cc \
wx-utils.cc wx-app.cc wx-sdl2-joystick.c wx-sdl2-mouse.c \
wx-sdl2-keyboard.c wx-sdl2-video.c wx-sdl2-midi.c wx-sdl2.c \
wx-config.c wx-deviceconfig.cc wx-status.cc wx-sdl2-status.c \
wx-resources.cpp wx-thread.c wx-common.c wx-sdl2-display.c \
wx-sdl2-video-renderer.c wx-sdl2-video-gl3.c wx-glslp-parser.c \
wx-shader_man.c wx-shaderconfig.cc allegro-gui.c \
@ -173,7 +177,8 @@ am__pcem_SOURCES_DIST = 386.c 386_dynarec.c 386_dynarec_ops.c 808x.c \
allegro-gui-deviceconfig.c allegro-gui-hdconf.c \
allegro-joystick.c allegro-keyboard.c allegro-main.c \
allegro-midi.c allegro-mouse.c allegro-video.c \
thread-pthread.c codegen_x86.c codegen_x86-64.c
thread-pthread.c codegen_x86.c codegen_x86-64.c ne2000.c \
nethandler.c wx-hostconfig.c
@USE_WX_TRUE@am__objects_1 = pcem-wx-main.$(OBJEXT) \
@USE_WX_TRUE@ pcem-wx-config_sel.$(OBJEXT) \
@USE_WX_TRUE@ pcem-wx-dialogbox.$(OBJEXT) \
@ -209,6 +214,9 @@ am__pcem_SOURCES_DIST = 386.c 386_dynarec.c 386_dynarec_ops.c 808x.c \
@USE_WX_FALSE@ pcem-thread-pthread.$(OBJEXT)
@CPU_I386_TRUE@am__objects_3 = pcem-codegen_x86.$(OBJEXT)
@CPU_X86_64_TRUE@am__objects_4 = pcem-codegen_x86-64.$(OBJEXT)
@USE_NETWORKING_TRUE@am__objects_5 = pcem-ne2000.$(OBJEXT) \
@USE_NETWORKING_TRUE@ pcem-nethandler.$(OBJEXT) \
@USE_NETWORKING_TRUE@ pcem-wx-hostconfig.$(OBJEXT)
am_pcem_OBJECTS = pcem-386.$(OBJEXT) pcem-386_dynarec.$(OBJEXT) \
pcem-386_dynarec_ops.$(OBJEXT) pcem-808x.$(OBJEXT) \
pcem-acer386sx.$(OBJEXT) pcem-ali1429.$(OBJEXT) \
@ -241,9 +249,9 @@ am_pcem_OBJECTS = pcem-386.$(OBJEXT) pcem-386_dynarec.$(OBJEXT) \
pcem-laserxt.$(OBJEXT) pcem-lpt.$(OBJEXT) pcem-mca.$(OBJEXT) \
pcem-mcr.$(OBJEXT) pcem-mem.$(OBJEXT) pcem-mfm_at.$(OBJEXT) \
pcem-mfm_xebec.$(OBJEXT) pcem-model.$(OBJEXT) \
pcem-mouse.$(OBJEXT) pcem-mouse_ps2.$(OBJEXT) \
pcem-mouse_serial.$(OBJEXT) pcem-neat.$(OBJEXT) \
pcem-nmi.$(OBJEXT) pcem-nvr.$(OBJEXT) \
pcem-mouse.$(OBJEXT) pcem-mouse_msystems.$(OBJEXT) \
pcem-mouse_ps2.$(OBJEXT) pcem-mouse_serial.$(OBJEXT) \
pcem-neat.$(OBJEXT) pcem-nmi.$(OBJEXT) pcem-nvr.$(OBJEXT) \
pcem-olivetti_m24.$(OBJEXT) pcem-opti495.$(OBJEXT) \
pcem-paths.$(OBJEXT) pcem-pc.$(OBJEXT) pcem-pci.$(OBJEXT) \
pcem-pic.$(OBJEXT) pcem-piix.$(OBJEXT) pcem-pit.$(OBJEXT) \
@ -298,10 +306,12 @@ am_pcem_OBJECTS = pcem-386.$(OBJEXT) pcem-386_dynarec.$(OBJEXT) \
pcem-wave8580_PST.$(OBJEXT) pcem-wave8580_P_T.$(OBJEXT) \
pcem-wave8580__ST.$(OBJEXT) pcem-wave.$(OBJEXT) \
$(am__objects_1) $(am__objects_2) $(am__objects_3) \
$(am__objects_4)
$(am__objects_4) $(am__objects_5)
pcem_OBJECTS = $(am_pcem_OBJECTS)
am__DEPENDENCIES_1 =
@USE_WX_FALSE@pcem_DEPENDENCIES = $(am__DEPENDENCIES_1)
@USE_WX_FALSE@pcem_DEPENDENCIES = $(am__DEPENDENCIES_1) \
@USE_WX_FALSE@ $(am__append_9)
@USE_WX_TRUE@pcem_DEPENDENCIES = $(am__append_9)
pcem_LINK = $(CXXLD) $(pcem_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
SCRIPTS = $(noinst_SCRIPTS)
@ -513,44 +523,48 @@ pcem_SOURCES = 386.c 386_dynarec.c 386_dynarec_ops.c 808x.c \
joystick_sw_pad.c joystick_tm_fcs.c keyboard.c \
keyboard_amstrad.c keyboard_at.c keyboard_olim24.c \
keyboard_pcjr.c keyboard_xt.c laserxt.c lpt.c mca.c mcr.c \
mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_ps2.c \
mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c opti495.c \
paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c ps2.c \
ps2_mca.c ps2_nvr.c rom.c rtc.c scat.c serial.c sio.c sis496.c \
sound.c sound_ad1848.c sound_adlib.c sound_adlibgold.c \
sound_cms.c sound_emu8k.c sound_gus.c sound_mpu401_uart.c \
sound_opl.c sound_pas16.c sound_ps1.c sound_pssj.c sound_sb.c \
sound_sb_dsp.c sound_sn76489.c sound_speaker.c sound_ssi2001.c \
sound_wss.c sound_ym7128.c soundopenal.c tandy_eeprom.c \
tandy_rom.c timer.c um8669f.c um8881f.c vid_ati_eeprom.c \
vid_ati_mach64.c vid_ati18800.c vid_ati28800.c \
vid_ati68860_ramdac.c vid_cga.c vid_cl5429.c vid_colorplus.c \
vid_ega.c vid_et4000.c vid_et4000w32.c vid_genius.c \
vid_hercules.c vid_icd2061.c vid_ics2595.c vid_incolor.c \
vid_mda.c vid_olivetti_m24.c vid_oti067.c vid_paradise.c \
vid_pc200.c vid_pc1512.c vid_pc1640.c vid_pcjr.c \
vid_ps1_svga.c vid_s3.c vid_s3_virge.c vid_sdac_ramdac.c \
vid_stg_ramdac.c vid_svga.c vid_svga_render.c vid_tandy.c \
vid_tandysl.c vid_tgui9440.c vid_tkd8001_ramdac.c vid_tvga.c \
vid_unk_ramdac.c vid_vga.c vid_voodoo.c video.c wd76c10.c \
vid_wy700.c x86seg.c x87.c xtide.c sound_dbopl.cc \
sound_resid.cc dosbox/cdrom_image.cpp dosbox/dbopl.cpp \
dosbox/nukedopl.cpp dosbox/vid_cga_comp.c resid-fp/convolve.cc \
resid-fp/convolve-sse.cc resid-fp/envelope.cc \
resid-fp/extfilt.cc resid-fp/filter.cc resid-fp/pot.cc \
resid-fp/sid.cc resid-fp/voice.cc resid-fp/wave6581_PS_.cc \
resid-fp/wave6581_PST.cc resid-fp/wave6581_P_T.cc \
resid-fp/wave6581__ST.cc resid-fp/wave8580_PS_.cc \
resid-fp/wave8580_PST.cc resid-fp/wave8580_P_T.cc \
resid-fp/wave8580__ST.cc resid-fp/wave.cc $(am__append_1) \
$(am__append_2) $(am__append_3) $(am__append_5)
mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_msystems.c \
mouse_ps2.c mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c \
opti495.c paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c \
ps2.c ps2_mca.c ps2_nvr.c rom.c rtc.c scat.c serial.c sio.c \
sis496.c sound.c sound_ad1848.c sound_adlib.c \
sound_adlibgold.c sound_cms.c sound_emu8k.c sound_gus.c \
sound_mpu401_uart.c sound_opl.c sound_pas16.c sound_ps1.c \
sound_pssj.c sound_sb.c sound_sb_dsp.c sound_sn76489.c \
sound_speaker.c sound_ssi2001.c sound_wss.c sound_ym7128.c \
soundopenal.c tandy_eeprom.c tandy_rom.c timer.c um8669f.c \
um8881f.c vid_ati_eeprom.c vid_ati_mach64.c vid_ati18800.c \
vid_ati28800.c vid_ati68860_ramdac.c vid_cga.c vid_cl5429.c \
vid_colorplus.c vid_ega.c vid_et4000.c vid_et4000w32.c \
vid_genius.c vid_hercules.c vid_icd2061.c vid_ics2595.c \
vid_incolor.c vid_mda.c vid_olivetti_m24.c vid_oti067.c \
vid_paradise.c vid_pc200.c vid_pc1512.c vid_pc1640.c \
vid_pcjr.c vid_ps1_svga.c vid_s3.c vid_s3_virge.c \
vid_sdac_ramdac.c vid_stg_ramdac.c vid_svga.c \
vid_svga_render.c vid_tandy.c vid_tandysl.c vid_tgui9440.c \
vid_tkd8001_ramdac.c vid_tvga.c vid_unk_ramdac.c vid_vga.c \
vid_voodoo.c video.c wd76c10.c vid_wy700.c x86seg.c x87.c \
xtide.c sound_dbopl.cc sound_resid.cc dosbox/cdrom_image.cpp \
dosbox/dbopl.cpp dosbox/nukedopl.cpp dosbox/vid_cga_comp.c \
resid-fp/convolve.cc resid-fp/convolve-sse.cc \
resid-fp/envelope.cc resid-fp/extfilt.cc resid-fp/filter.cc \
resid-fp/pot.cc resid-fp/sid.cc resid-fp/voice.cc \
resid-fp/wave6581_PS_.cc resid-fp/wave6581_PST.cc \
resid-fp/wave6581_P_T.cc resid-fp/wave6581__ST.cc \
resid-fp/wave8580_PS_.cc resid-fp/wave8580_PST.cc \
resid-fp/wave8580_P_T.cc resid-fp/wave8580__ST.cc \
resid-fp/wave.cc $(am__append_1) $(am__append_2) \
$(am__append_3) $(am__append_5) $(am__append_8)
@USE_WX_FALSE@pcem_CFLAGS = $(allegro_CFLAGS) -DPCEM_ALLEGRO \
@USE_WX_FALSE@ $(am__append_4)
@USE_WX_FALSE@ $(am__append_4) $(am__append_6)
@USE_WX_TRUE@pcem_CFLAGS = $(shell wx-config --cxxflags) $(shell \
@USE_WX_TRUE@ sdl2-config --cflags) $(am__append_4)
@USE_WX_TRUE@pcem_CXXFLAGS = $(shell wx-config --cxxflags) $(shell sdl2-config --cflags)
@USE_WX_FALSE@pcem_LDADD = $(allegro_LIBS) -lopenal
@USE_WX_TRUE@pcem_LDADD = @LIBS@
@USE_WX_TRUE@ sdl2-config --cflags) $(am__append_4) \
@USE_WX_TRUE@ $(am__append_6)
@USE_WX_FALSE@pcem_CXXFLAGS = $(am__append_7)
@USE_WX_TRUE@pcem_CXXFLAGS = $(shell wx-config --cxxflags) $(shell \
@USE_WX_TRUE@ sdl2-config --cflags) $(am__append_7)
@USE_WX_FALSE@pcem_LDADD = $(allegro_LIBS) -lopenal $(am__append_9)
@USE_WX_TRUE@pcem_LDADD = @LIBS@ $(am__append_9)
all: all-am
.SUFFIXES:
@ -722,9 +736,12 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-mfm_xebec.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-model.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-mouse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-mouse_msystems.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-mouse_ps2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-mouse_serial.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-ne2000.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-neat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-nethandler.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-nmi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-nukedopl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-nvr.Po@am__quote@
@ -837,6 +854,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-deviceconfig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-dialogbox.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-glslp-parser.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-hostconfig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-resources.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-sdl2-display.Po@am__quote@
@ -1768,6 +1786,20 @@ pcem-mouse.obj: mouse.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-mouse.obj `if test -f 'mouse.c'; then $(CYGPATH_W) 'mouse.c'; else $(CYGPATH_W) '$(srcdir)/mouse.c'; fi`
pcem-mouse_msystems.o: mouse_msystems.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-mouse_msystems.o -MD -MP -MF $(DEPDIR)/pcem-mouse_msystems.Tpo -c -o pcem-mouse_msystems.o `test -f 'mouse_msystems.c' || echo '$(srcdir)/'`mouse_msystems.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-mouse_msystems.Tpo $(DEPDIR)/pcem-mouse_msystems.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mouse_msystems.c' object='pcem-mouse_msystems.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-mouse_msystems.o `test -f 'mouse_msystems.c' || echo '$(srcdir)/'`mouse_msystems.c
pcem-mouse_msystems.obj: mouse_msystems.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-mouse_msystems.obj -MD -MP -MF $(DEPDIR)/pcem-mouse_msystems.Tpo -c -o pcem-mouse_msystems.obj `if test -f 'mouse_msystems.c'; then $(CYGPATH_W) 'mouse_msystems.c'; else $(CYGPATH_W) '$(srcdir)/mouse_msystems.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-mouse_msystems.Tpo $(DEPDIR)/pcem-mouse_msystems.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mouse_msystems.c' object='pcem-mouse_msystems.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-mouse_msystems.obj `if test -f 'mouse_msystems.c'; then $(CYGPATH_W) 'mouse_msystems.c'; else $(CYGPATH_W) '$(srcdir)/mouse_msystems.c'; fi`
pcem-mouse_ps2.o: mouse_ps2.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-mouse_ps2.o -MD -MP -MF $(DEPDIR)/pcem-mouse_ps2.Tpo -c -o pcem-mouse_ps2.o `test -f 'mouse_ps2.c' || echo '$(srcdir)/'`mouse_ps2.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-mouse_ps2.Tpo $(DEPDIR)/pcem-mouse_ps2.Po
@ -3518,6 +3550,48 @@ pcem-codegen_x86-64.obj: codegen_x86-64.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-codegen_x86-64.obj `if test -f 'codegen_x86-64.c'; then $(CYGPATH_W) 'codegen_x86-64.c'; else $(CYGPATH_W) '$(srcdir)/codegen_x86-64.c'; fi`
pcem-ne2000.o: ne2000.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-ne2000.o -MD -MP -MF $(DEPDIR)/pcem-ne2000.Tpo -c -o pcem-ne2000.o `test -f 'ne2000.c' || echo '$(srcdir)/'`ne2000.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-ne2000.Tpo $(DEPDIR)/pcem-ne2000.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ne2000.c' object='pcem-ne2000.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-ne2000.o `test -f 'ne2000.c' || echo '$(srcdir)/'`ne2000.c
pcem-ne2000.obj: ne2000.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-ne2000.obj -MD -MP -MF $(DEPDIR)/pcem-ne2000.Tpo -c -o pcem-ne2000.obj `if test -f 'ne2000.c'; then $(CYGPATH_W) 'ne2000.c'; else $(CYGPATH_W) '$(srcdir)/ne2000.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-ne2000.Tpo $(DEPDIR)/pcem-ne2000.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ne2000.c' object='pcem-ne2000.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-ne2000.obj `if test -f 'ne2000.c'; then $(CYGPATH_W) 'ne2000.c'; else $(CYGPATH_W) '$(srcdir)/ne2000.c'; fi`
pcem-nethandler.o: nethandler.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-nethandler.o -MD -MP -MF $(DEPDIR)/pcem-nethandler.Tpo -c -o pcem-nethandler.o `test -f 'nethandler.c' || echo '$(srcdir)/'`nethandler.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-nethandler.Tpo $(DEPDIR)/pcem-nethandler.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nethandler.c' object='pcem-nethandler.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-nethandler.o `test -f 'nethandler.c' || echo '$(srcdir)/'`nethandler.c
pcem-nethandler.obj: nethandler.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-nethandler.obj -MD -MP -MF $(DEPDIR)/pcem-nethandler.Tpo -c -o pcem-nethandler.obj `if test -f 'nethandler.c'; then $(CYGPATH_W) 'nethandler.c'; else $(CYGPATH_W) '$(srcdir)/nethandler.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-nethandler.Tpo $(DEPDIR)/pcem-nethandler.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nethandler.c' object='pcem-nethandler.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-nethandler.obj `if test -f 'nethandler.c'; then $(CYGPATH_W) 'nethandler.c'; else $(CYGPATH_W) '$(srcdir)/nethandler.c'; fi`
pcem-wx-hostconfig.o: wx-hostconfig.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-wx-hostconfig.o -MD -MP -MF $(DEPDIR)/pcem-wx-hostconfig.Tpo -c -o pcem-wx-hostconfig.o `test -f 'wx-hostconfig.c' || echo '$(srcdir)/'`wx-hostconfig.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-wx-hostconfig.Tpo $(DEPDIR)/pcem-wx-hostconfig.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='wx-hostconfig.c' object='pcem-wx-hostconfig.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-wx-hostconfig.o `test -f 'wx-hostconfig.c' || echo '$(srcdir)/'`wx-hostconfig.c
pcem-wx-hostconfig.obj: wx-hostconfig.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-wx-hostconfig.obj -MD -MP -MF $(DEPDIR)/pcem-wx-hostconfig.Tpo -c -o pcem-wx-hostconfig.obj `if test -f 'wx-hostconfig.c'; then $(CYGPATH_W) 'wx-hostconfig.c'; else $(CYGPATH_W) '$(srcdir)/wx-hostconfig.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-wx-hostconfig.Tpo $(DEPDIR)/pcem-wx-hostconfig.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='wx-hostconfig.c' object='pcem-wx-hostconfig.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-wx-hostconfig.obj `if test -f 'wx-hostconfig.c'; then $(CYGPATH_W) 'wx-hostconfig.c'; else $(CYGPATH_W) '$(srcdir)/wx-hostconfig.c'; fi`
.cc.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@ -4191,6 +4265,9 @@ uninstall-am: uninstall-binPROGRAMS
../pcem: pcem
cp pcem ..
slirp/libslirp.a:
$(MAKE) -C slirp
amrefresh:
# Tell versions [3.59,3.63) of GNU make to not export all variables.

View file

@ -34,7 +34,9 @@
#include "slirp/slirp.h"
#include "slirp/queue.h"
#ifdef _WIN32
#include <pcap.h>
#endif
#include "ibm.h"
#include "device.h"
@ -52,6 +54,7 @@ uint8_t maclocal[6] = {0xac, 0xde, 0x48, 0x88, 0xbb, 0xaa};
#define NETBLOCKING 0 //we won't block our pcap
#ifdef _WIN32
static HINSTANCE net_hLib = 0; /* handle to DLL */
static char *net_lib_name = "wpcap.dll";
pcap_t *net_pcap;
@ -74,6 +77,7 @@ PCAP_CLOSE _pcap_close;
PCAP_GETNONBLOCK _pcap_getnonblock;
PCAP_COMPILE _pcap_compile;
PCAP_SETFILTER _pcap_setfilter;
#endif
queueADT slirpq;
int net_slirp_inited = 0;
@ -824,12 +828,13 @@ void ne2000_write(uint16_t address, uint8_t value, void *p)
slirp_input(&ne2000->mem[ne2000->tx_page_start*256 - BX_NE2K_MEMSTART], ne2000->tx_bytes);
pclog("ne2000 slirp sending packet\n");
}
#ifdef _WIN32
if(net_is_pcap && net_pcap!=NULL)
{
_pcap_sendpacket(net_pcap, &ne2000->mem[ne2000->tx_page_start*256 - BX_NE2K_MEMSTART], ne2000->tx_bytes);
pclog("ne2000 pcap sending packet\n");
}
#endif
ne2000_tx_event(value, ne2000);
// Schedule a timer to trigger a tx-complete interrupt
// The number of microseconds is the bit-time / 10.
@ -1350,8 +1355,9 @@ static void ne2000_poller(void *p)
ne2000_t *ne2000 = (ne2000_t *)p;
struct queuepacket *qp;
const unsigned char *data;
#ifdef _WIN32
struct pcap_pkthdr h;
#endif
if (net_is_slirp)
{
while (QueuePeek(slirpq) > 0)
@ -1373,6 +1379,7 @@ static void ne2000_poller(void *p)
slirp_tic();
}
}//end slirp
#ifdef _WIN32
if (net_is_pcap && net_pcap!=NULL)
{
data = _pcap_next(net_pcap,&h);
@ -1389,6 +1396,7 @@ static void ne2000_poller(void *p)
ne2000_rx_frame(ne2000,data,h.caplen);
}
}
#endif
}
@ -1407,6 +1415,7 @@ void *ne2000_init()
//0 pcap
//1 slirp
//
#ifdef _WIN32
net_is_slirp = (config_get_int(CFG_GLOBAL, NULL, "net_type", NET_SLIRP) == NET_SLIRP) ? 1 : 0;
pclog("ne2000 pcap device %s\n",config_get_string(CFG_GLOBAL, NULL,"pcap_device","nothing"));
@ -1415,6 +1424,10 @@ void *ne2000_init()
net_is_pcap = 0;
else if (net_is_slirp == 0)
net_is_pcap = 1;
#else
net_is_slirp = 1;
net_is_pcap = 0;
#endif
io_sethandler(addr, 0x0010, ne2000_read, NULL, NULL, ne2000_write, NULL, NULL, ne2000);
io_sethandler(addr+0x10, 0x0010, ne2000_asic_read_b, ne2000_asic_read_w, NULL, ne2000_asic_write_b, ne2000_asic_write_w, NULL, ne2000);
@ -1468,6 +1481,7 @@ void *ne2000_init()
net_is_slirp=0;
}
}
#ifdef _WIN32
if (net_is_pcap)
{ //pcap
char errbuf[32768];
@ -1583,7 +1597,7 @@ void *ne2000_init()
pclog("ne2000 net_is_pcap is %d and net_pcap is %x\n",net_is_pcap,net_pcap);
}
} //end pcap setup
#endif
pclog("ne2000 is_slirp %d is_pcap %d\n",net_is_slirp,net_is_pcap);
return ne2000;
@ -1600,12 +1614,14 @@ void ne2000_close(void *p)
net_slirp_inited=0;
pclog("ne2000 exiting slirp\n");
}
#ifdef _WIN32
if(net_is_pcap && net_pcap!=NULL)
{
_pcap_close(net_pcap);
FreeLibrary(net_hLib);
pclog("ne2000 closing pcap\n");
}
#endif
pclog("ne2000 close\n");
}

View file

@ -1,5 +1,7 @@
#ifdef _WIN32
#include <windows.h>
#include <winsock2.h>
#endif
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>

View file

@ -1,9 +1,11 @@
#ifdef _WIN32
#define BITMAP WINDOWS_BITMAP
#include <windows.h>
#include <windowsx.h>
#undef BITMAP
#include <pcap.h>
#endif
#include "wx-utils.h"
#include "wx-sdl2.h"
@ -13,6 +15,7 @@
#include "config.h"
#include "nethandler.h"
#ifdef _WIN32
static HINSTANCE net_hLib = 0;
static char *net_lib_name = "wpcap.dll";
static pcap_if_t *alldevs;
@ -23,6 +26,7 @@ void (*_pcap_freealldevs)(pcap_if_t *);
pcap_t *(*_pcap_open_live)(const char *, int, int, int, char *);
int (*_pcap_datalink)(pcap_t *);
void (*_pcap_close)(pcap_t *);
#endif
#define ETH_DEV_NAME_MAX 256 /* maximum device name size */
#define ETH_DEV_DESC_MAX 256 /* maximum device description size */
@ -31,6 +35,7 @@ void (*_pcap_close)(pcap_t *);
#define ETH_MAX_PACKET 1514 /* maximum ethernet packet size */
#define PCAP_READ_TIMEOUT -1
#ifdef _WIN32
static int get_network_name(char *dev_name, char *regval)
{
if (dev_name[strlen( "\\Device\\NPF_" )] == '{')
@ -62,12 +67,14 @@ static int get_network_name(char *dev_name, char *regval)
}
return -1;
}
#endif
int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM lParam)
{
void *h;
#ifdef _WIN32
pcap_if_t *dev;
char errbuf[PCAP_ERRBUF_SIZE];
#endif
switch (message)
{
@ -78,7 +85,7 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM
h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBO_NETWORK_DEVICE"));
wx_sendmessage(h, WX_CB_SETCURSEL, 0, 0);
wx_enablewindow(h, FALSE);
#ifdef _WIN32
net_hLib = LoadLibraryA(net_lib_name);
if (net_hLib)
@ -148,6 +155,7 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM
}
}
}
#endif
return TRUE;
case WX_COMMAND:
@ -157,6 +165,7 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM
h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBO_NETWORK_TYPE"));
type = wx_sendmessage(h, WX_CB_GETCURSEL, 0, 0);
#ifdef _WIN32
if (type) /*PCAP*/
{
int dev;
@ -169,13 +178,16 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM
}
else /*SLiRP*/
{
#endif
config_set_int(CFG_GLOBAL, NULL, "net_type", NET_SLIRP);
config_set_string(CFG_GLOBAL, NULL, "pcap_device", "nothing");
#ifdef _WIN32
}
#endif
saveconfig_global_only();
wx_enddialog(hdlg, 1);
#ifdef _WIN32
if (net_hLib)
{
_pcap_freealldevs(alldevs);
@ -186,11 +198,13 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM
_pcap_close = NULL;
FreeLibrary(net_hLib);
}
#endif
return TRUE;
}
else if (wParam == wxID_CANCEL)
{
wx_enddialog(hdlg, 0);
#ifdef _WIN32
if (net_hLib)
{
_pcap_freealldevs(alldevs);
@ -201,6 +215,7 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM
_pcap_close = NULL;
FreeLibrary(net_hLib);
}
#endif
return TRUE;
}
else if (ID_IS("IDC_COMBO_NETWORK_TYPE"))