mirror of
https://github.com/izzy2lost/dolphin.git
synced 2026-06-19 01:16:48 -07:00
Merge pull request #4910 from lioncash/netsplit
IOS Network: Move net/ip/top code into its own source files
This commit is contained in:
@@ -148,9 +148,11 @@ set(SRCS ActionReplay.cpp
|
||||
IOS/FS/FS.cpp
|
||||
IOS/Network/Config.cpp
|
||||
IOS/Network/ICMPLin.cpp
|
||||
IOS/Network/Socket.cpp
|
||||
IOS/Network/MACUtils.cpp
|
||||
IOS/Network/Net.cpp
|
||||
IOS/Network/Socket.cpp
|
||||
IOS/Network/SSL.cpp
|
||||
IOS/Network/IP/Top.cpp
|
||||
IOS/Network/KD/NetKDRequest.cpp
|
||||
IOS/Network/KD/NetKDTime.cpp
|
||||
IOS/Network/KD/NWC24Config.cpp
|
||||
|
||||
@@ -180,9 +180,11 @@
|
||||
<ClCompile Include="IOS\FS\FS.cpp" />
|
||||
<ClCompile Include="IOS\Network\Config.cpp" />
|
||||
<ClCompile Include="IOS\Network\ICMPLin.cpp" />
|
||||
<ClCompile Include="IOS\Network\Socket.cpp" />
|
||||
<ClCompile Include="IOS\Network\MACUtils.cpp" />
|
||||
<ClCompile Include="IOS\Network\Net.cpp" />
|
||||
<ClCompile Include="IOS\Network\Socket.cpp" />
|
||||
<ClCompile Include="IOS\Network\SSL.cpp" />
|
||||
<ClCompile Include="IOS\Network\IP\Top.cpp" />
|
||||
<ClCompile Include="IOS\Network\KD\NetKDRequest.cpp" />
|
||||
<ClCompile Include="IOS\Network\KD\NetKDTime.cpp" />
|
||||
<ClCompile Include="IOS\Network\KD\NWC24Config.cpp" />
|
||||
@@ -420,9 +422,11 @@
|
||||
<ClInclude Include="IOS\Network\Config.h" />
|
||||
<ClInclude Include="IOS\Network\ICMPLin.h" />
|
||||
<ClInclude Include="IOS\Network\ICMP.h" />
|
||||
<ClInclude Include="IOS\Network\Socket.h" />
|
||||
<ClInclude Include="IOS\Network\MACUtils.h" />
|
||||
<ClInclude Include="IOS\Network\Net.h" />
|
||||
<ClInclude Include="IOS\Network\Socket.h" />
|
||||
<ClInclude Include="IOS\Network\SSL.h" />
|
||||
<ClInclude Include="IOS\Network\IP\Top.h" />
|
||||
<ClInclude Include="IOS\Network\KD\NetKDRequest.h" />
|
||||
<ClInclude Include="IOS\Network\KD\NetKDTime.h" />
|
||||
<ClInclude Include="IOS\Network\KD\NWC24Config.h" />
|
||||
|
||||
@@ -127,6 +127,9 @@
|
||||
<Filter Include="IOS\Network">
|
||||
<UniqueIdentifier>{ab9cdd90-54d7-4f42-9248-d7903ce52cc8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="IOS\Network\IP">
|
||||
<UniqueIdentifier>{f20fc3ea-846b-4629-b86c-fd7860f73ee9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="IOS\Network\KD">
|
||||
<UniqueIdentifier>{165768ae-ee50-4789-8051-5c5b7023fa4b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
@@ -758,6 +761,9 @@
|
||||
<ClCompile Include="IOS\MIOS.cpp">
|
||||
<Filter>IOS</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="IOS\Network\MACUtils.cpp">
|
||||
<Filter>IOS\Network</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="IOS\Network\Net.cpp">
|
||||
<Filter>IOS\Network</Filter>
|
||||
</ClCompile>
|
||||
@@ -767,6 +773,9 @@
|
||||
<ClCompile Include="IOS\Network\SSL.cpp">
|
||||
<Filter>IOS\Network</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="IOS\Network\IP\Top.cpp">
|
||||
<Filter>IOS\Network\IP</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="IOS\Network\KD\NetKDRequest.cpp">
|
||||
<Filter>IOS\Network\KD</Filter>
|
||||
</ClCompile>
|
||||
@@ -1353,6 +1362,9 @@
|
||||
<ClInclude Include="IOS\Network\ICMPLin.h">
|
||||
<Filter>IOS\Network</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="IOS\Network\MACUtils.h">
|
||||
<Filter>IOS\Network</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="IOS\Network\Net.h">
|
||||
<Filter>IOS\Network</Filter>
|
||||
</ClInclude>
|
||||
@@ -1362,6 +1374,9 @@
|
||||
<ClInclude Include="IOS\Network\SSL.h">
|
||||
<Filter>IOS\Network</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="IOS\Network\IP\Top.h">
|
||||
<Filter>IOS\Network\IP</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="IOS\Network\KD\NetKDRequest.h">
|
||||
<Filter>IOS\Network\KD</Filter>
|
||||
</ClInclude>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "Core/IOS/FS/FS.h"
|
||||
#include "Core/IOS/FS/FileIO.h"
|
||||
#include "Core/IOS/MIOS.h"
|
||||
#include "Core/IOS/Network/IP/Top.h"
|
||||
#include "Core/IOS/Network/KD/NetKDRequest.h"
|
||||
#include "Core/IOS/Network/KD/NetKDTime.h"
|
||||
#include "Core/IOS/Network/Net.h"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,79 @@
|
||||
// Copyright 2017 Dolphin Emulator Project
|
||||
// Licensed under GPLv2+
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "Common/CommonTypes.h"
|
||||
#include "Core/IOS/Device.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <ws2tcpip.h>
|
||||
#endif
|
||||
|
||||
namespace IOS
|
||||
{
|
||||
namespace HLE
|
||||
{
|
||||
enum NET_IOCTL
|
||||
{
|
||||
IOCTL_SO_ACCEPT = 1,
|
||||
IOCTL_SO_BIND,
|
||||
IOCTL_SO_CLOSE,
|
||||
IOCTL_SO_CONNECT,
|
||||
IOCTL_SO_FCNTL,
|
||||
IOCTL_SO_GETPEERNAME,
|
||||
IOCTL_SO_GETSOCKNAME,
|
||||
IOCTL_SO_GETSOCKOPT,
|
||||
IOCTL_SO_SETSOCKOPT,
|
||||
IOCTL_SO_LISTEN,
|
||||
IOCTL_SO_POLL,
|
||||
IOCTLV_SO_RECVFROM,
|
||||
IOCTLV_SO_SENDTO,
|
||||
IOCTL_SO_SHUTDOWN,
|
||||
IOCTL_SO_SOCKET,
|
||||
IOCTL_SO_GETHOSTID,
|
||||
IOCTL_SO_GETHOSTBYNAME,
|
||||
IOCTL_SO_GETHOSTBYADDR,
|
||||
IOCTLV_SO_GETNAMEINFO,
|
||||
IOCTL_SO_UNK14,
|
||||
IOCTL_SO_INETATON,
|
||||
IOCTL_SO_INETPTON,
|
||||
IOCTL_SO_INETNTOP,
|
||||
IOCTLV_SO_GETADDRINFO,
|
||||
IOCTL_SO_SOCKATMARK,
|
||||
IOCTLV_SO_UNK1A,
|
||||
IOCTLV_SO_UNK1B,
|
||||
IOCTLV_SO_GETINTERFACEOPT,
|
||||
IOCTLV_SO_SETINTERFACEOPT,
|
||||
IOCTL_SO_SETINTERFACE,
|
||||
IOCTL_SO_STARTUP,
|
||||
IOCTL_SO_ICMPSOCKET = 0x30,
|
||||
IOCTLV_SO_ICMPPING,
|
||||
IOCTL_SO_ICMPCANCEL,
|
||||
IOCTL_SO_ICMPCLOSE
|
||||
};
|
||||
|
||||
namespace Device
|
||||
{
|
||||
class NetIPTop : public Device
|
||||
{
|
||||
public:
|
||||
NetIPTop(u32 device_id, const std::string& device_name);
|
||||
virtual ~NetIPTop();
|
||||
|
||||
IPCCommandResult IOCtl(const IOCtlRequest& request) override;
|
||||
IPCCommandResult IOCtlV(const IOCtlVRequest& request) override;
|
||||
|
||||
void Update() override;
|
||||
|
||||
private:
|
||||
#ifdef _WIN32
|
||||
WSADATA InitData;
|
||||
#endif
|
||||
};
|
||||
} // namespace Device
|
||||
} // namespace HLE
|
||||
} // namespace IOS
|
||||
@@ -0,0 +1,50 @@
|
||||
// Copyright 2017 Dolphin Emulator Project
|
||||
// Licensed under GPLv2+
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#include "Core/IOS/Network/MACUtils.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "Common/CommonTypes.h"
|
||||
#include "Common/Logging/Log.h"
|
||||
#include "Common/Network.h"
|
||||
|
||||
#include "Core/ConfigManager.h"
|
||||
#include "Core/Core.h"
|
||||
|
||||
namespace IOS
|
||||
{
|
||||
namespace Net
|
||||
{
|
||||
static void SaveMACAddress(const u8* mac)
|
||||
{
|
||||
SConfig::GetInstance().m_WirelessMac = Common::MacAddressToString(mac);
|
||||
SConfig::GetInstance().SaveSettings();
|
||||
}
|
||||
|
||||
void GetMACAddress(u8* mac)
|
||||
{
|
||||
// Parse MAC address from config, and generate a new one if it doesn't
|
||||
// exist or can't be parsed.
|
||||
std::string wireless_mac = SConfig::GetInstance().m_WirelessMac;
|
||||
|
||||
if (Core::g_want_determinism)
|
||||
wireless_mac = "12:34:56:78:9a:bc";
|
||||
|
||||
if (!Common::StringToMacAddress(wireless_mac, mac))
|
||||
{
|
||||
Common::GenerateMacAddress(Common::MACConsumer::IOS, mac);
|
||||
SaveMACAddress(mac);
|
||||
if (!wireless_mac.empty())
|
||||
{
|
||||
ERROR_LOG(IOS_NET, "The MAC provided (%s) is invalid. We have "
|
||||
"generated another one for you.",
|
||||
Common::MacAddressToString(mac).c_str());
|
||||
}
|
||||
}
|
||||
|
||||
INFO_LOG(IOS_NET, "Using MAC address: %s", Common::MacAddressToString(mac).c_str());
|
||||
}
|
||||
} // namespace Net
|
||||
} // namespace IOS
|
||||
@@ -0,0 +1,15 @@
|
||||
// Copyright 2017 Dolphin Emulator Project
|
||||
// Licensed under GPLv2+
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Common/CommonTypes.h"
|
||||
|
||||
namespace IOS
|
||||
{
|
||||
namespace Net
|
||||
{
|
||||
void GetMACAddress(u8* mac);
|
||||
} // namespace Net
|
||||
} // namespace IOS
|
||||
File diff suppressed because it is too large
Load Diff
@@ -19,66 +19,9 @@ namespace IOS
|
||||
{
|
||||
namespace HLE
|
||||
{
|
||||
enum NET_IOCTL
|
||||
{
|
||||
IOCTL_SO_ACCEPT = 1,
|
||||
IOCTL_SO_BIND,
|
||||
IOCTL_SO_CLOSE,
|
||||
IOCTL_SO_CONNECT,
|
||||
IOCTL_SO_FCNTL,
|
||||
IOCTL_SO_GETPEERNAME,
|
||||
IOCTL_SO_GETSOCKNAME,
|
||||
IOCTL_SO_GETSOCKOPT,
|
||||
IOCTL_SO_SETSOCKOPT,
|
||||
IOCTL_SO_LISTEN,
|
||||
IOCTL_SO_POLL,
|
||||
IOCTLV_SO_RECVFROM,
|
||||
IOCTLV_SO_SENDTO,
|
||||
IOCTL_SO_SHUTDOWN,
|
||||
IOCTL_SO_SOCKET,
|
||||
IOCTL_SO_GETHOSTID,
|
||||
IOCTL_SO_GETHOSTBYNAME,
|
||||
IOCTL_SO_GETHOSTBYADDR,
|
||||
IOCTLV_SO_GETNAMEINFO,
|
||||
IOCTL_SO_UNK14,
|
||||
IOCTL_SO_INETATON,
|
||||
IOCTL_SO_INETPTON,
|
||||
IOCTL_SO_INETNTOP,
|
||||
IOCTLV_SO_GETADDRINFO,
|
||||
IOCTL_SO_SOCKATMARK,
|
||||
IOCTLV_SO_UNK1A,
|
||||
IOCTLV_SO_UNK1B,
|
||||
IOCTLV_SO_GETINTERFACEOPT,
|
||||
IOCTLV_SO_SETINTERFACEOPT,
|
||||
IOCTL_SO_SETINTERFACE,
|
||||
IOCTL_SO_STARTUP,
|
||||
IOCTL_SO_ICMPSOCKET = 0x30,
|
||||
IOCTLV_SO_ICMPPING,
|
||||
IOCTL_SO_ICMPCANCEL,
|
||||
IOCTL_SO_ICMPCLOSE
|
||||
};
|
||||
|
||||
// TODO: split this up.
|
||||
namespace Device
|
||||
{
|
||||
class NetIPTop : public Device
|
||||
{
|
||||
public:
|
||||
NetIPTop(u32 device_id, const std::string& device_name);
|
||||
|
||||
virtual ~NetIPTop();
|
||||
|
||||
IPCCommandResult IOCtl(const IOCtlRequest& request) override;
|
||||
IPCCommandResult IOCtlV(const IOCtlVRequest& request) override;
|
||||
|
||||
void Update() override;
|
||||
|
||||
private:
|
||||
#ifdef _WIN32
|
||||
WSADATA InitData;
|
||||
#endif
|
||||
};
|
||||
|
||||
// **********************************************************************************
|
||||
// Interface for reading and changing network configuration (probably some other stuff as well)
|
||||
class NetNCDManage : public Device
|
||||
|
||||
@@ -53,7 +53,7 @@ typedef struct pollfd pollfd_t;
|
||||
#include "Common/NonCopyable.h"
|
||||
#include "Core/HW/Memmap.h"
|
||||
#include "Core/IOS/IPC.h"
|
||||
#include "Core/IOS/Network/Net.h"
|
||||
#include "Core/IOS/Network/IP/Top.h"
|
||||
#include "Core/IOS/Network/SSL.h"
|
||||
|
||||
namespace IOS
|
||||
|
||||
Reference in New Issue
Block a user