From 0800cdbbc28db490c5efa5f33e4d0edc5a059c8e Mon Sep 17 00:00:00 2001 From: TheLastRar Date: Sun, 7 Feb 2021 00:49:58 +0000 Subject: [PATCH] DEV9: Merge _DEV9open into InitNet, and check ethEnable before calling --- pcsx2/DEV9/DEV9.cpp | 7 +++++-- pcsx2/DEV9/DEV9.h | 4 ---- pcsx2/DEV9/Linux/Linux.cpp | 32 -------------------------------- pcsx2/DEV9/Win32/Win32.cpp | 35 ----------------------------------- pcsx2/DEV9/net.cpp | 34 ++++++++++++++++++++++++++++++++-- pcsx2/DEV9/net.h | 2 +- 6 files changed, 38 insertions(+), 76 deletions(-) diff --git a/pcsx2/DEV9/DEV9.cpp b/pcsx2/DEV9/DEV9.cpp index d771b10677..85dec091a1 100644 --- a/pcsx2/DEV9/DEV9.cpp +++ b/pcsx2/DEV9/DEV9.cpp @@ -219,7 +219,10 @@ s32 DEV9open(void* pDsp) config.hddEnable = false; } - return _DEV9open(); + if (config.ethEnable) + InitNet(); + + return 0; } void DEV9close() @@ -227,7 +230,7 @@ void DEV9close() DevCon.WriteLn("DEV9close"); dev9.ata->Close(); - _DEV9close(); + TermNet(); } int DEV9irqHandler(void) diff --git a/pcsx2/DEV9/DEV9.h b/pcsx2/DEV9/DEV9.h index a4ead40162..85cc5b78aa 100644 --- a/pcsx2/DEV9/DEV9.h +++ b/pcsx2/DEV9/DEV9.h @@ -135,10 +135,6 @@ EXTERN dev9Struct dev9; EXTERN int ThreadRun; -s32 _DEV9open(); -void _DEV9close(); -//void DEV9thread(); - //Yes these are meant to be a lowercase extern extern std::string s_strIniPath; extern std::string s_strLogPath; diff --git a/pcsx2/DEV9/Linux/Linux.cpp b/pcsx2/DEV9/Linux/Linux.cpp index 3ab5e7aa1c..3709cbb451 100644 --- a/pcsx2/DEV9/Linux/Linux.cpp +++ b/pcsx2/DEV9/Linux/Linux.cpp @@ -219,35 +219,3 @@ void DEV9configure() gtk_widget_hide(GTK_WIDGET(dlg)); paused_core.AllowResume(); } - -NetAdapter* GetNetAdapter() -{ - NetAdapter* na; - na = new PCAPAdapter(); - - if (!na->isInitialised()) - { - delete na; - return 0; - } - return na; -} -s32 _DEV9open() -{ - NetAdapter* na = GetNetAdapter(); - if (!na) - { - Console.Error("Failed to GetNetAdapter()"); - config.ethEnable = false; - } - else - { - InitNet(na); - } - return 0; -} - -void _DEV9close() -{ - TermNet(); -} diff --git a/pcsx2/DEV9/Win32/Win32.cpp b/pcsx2/DEV9/Win32/Win32.cpp index f6a1fdb897..60a094c64a 100644 --- a/pcsx2/DEV9/Win32/Win32.cpp +++ b/pcsx2/DEV9/Win32/Win32.cpp @@ -372,38 +372,3 @@ UINT DEV9ThreadProc() { return 0; }*/ -NetAdapter* GetNetAdapter() -{ - NetAdapter* na = static_cast(new TAPAdapter()); - - if (!na->isInitialised()) - { - delete na; - return 0; - } - return na; -} -s32 _DEV9open() -{ - //handleDEV9Thread = CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) DEV9ThreadProc, &dwThrdParam, CREATE_SUSPENDED, &dwThreadId); - //SetThreadPriority(handleDEV9Thread,THREAD_PRIORITY_HIGHEST); - //ResumeThread (handleDEV9Thread); - NetAdapter* na = GetNetAdapter(); - if (!na) - { - Console.Error("Failed to GetNetAdapter()"); - config.ethEnable = false; - } - else - { - InitNet(na); - } - return 0; -} - -void _DEV9close() -{ - //TerminateThread(handleDEV9Thread,0); - //handleDEV9Thread = NULL; - TermNet(); -} diff --git a/pcsx2/DEV9/net.cpp b/pcsx2/DEV9/net.cpp index cc22ef8797..173ee4d355 100644 --- a/pcsx2/DEV9/net.cpp +++ b/pcsx2/DEV9/net.cpp @@ -23,6 +23,11 @@ #include "net.h" #include "DEV9.h" +#ifdef _WIN32 +#include "Win32\tap.h" +#endif +#include "pcap_io.h" + NetAdapter* nif; std::thread rx_thread; @@ -48,9 +53,34 @@ void tx_put(NetPacket* pkt) //pkt must be copied if its not processed by here, since it can be allocated on the callers stack } -void InitNet(NetAdapter* ad) +NetAdapter* GetNetAdapter() { - nif = ad; +#ifdef _WIN32 + NetAdapter* na = static_cast(new TAPAdapter()); +#else + NetAdapter* na = static_cast(new PCAPAdapter()); +#endif + + if (!na->isInitialised()) + { + delete na; + return nullptr; + } + return na; +} + +void InitNet() +{ + NetAdapter* na = GetNetAdapter(); + + if (!na) + { + Console.Error("Failed to GetNetAdapter()"); + config.ethEnable = false; + return; + } + + nif = na; RxRunning = true; rx_thread = std::thread(NetRxThread); diff --git a/pcsx2/DEV9/net.h b/pcsx2/DEV9/net.h index f5cd3f69d9..54df4268d5 100644 --- a/pcsx2/DEV9/net.h +++ b/pcsx2/DEV9/net.h @@ -56,5 +56,5 @@ protected: }; void tx_put(NetPacket* ptr); -void InitNet(NetAdapter* adapter); +void InitNet(); void TermNet();