[NET] Link up XNet again
This commit is contained in:
parent
82793a1085
commit
fbff939832
|
@ -16,6 +16,7 @@
|
|||
#include "xenia/kernel/kernel_module.h"
|
||||
#include "xenia/kernel/kernel_state.h"
|
||||
#include "xenia/kernel/xam/xam_ordinals.h"
|
||||
#include "xenia/kernel/xnet.h"
|
||||
|
||||
namespace xe {
|
||||
namespace kernel {
|
||||
|
@ -40,8 +41,12 @@ class XamModule : public KernelModule {
|
|||
const LoaderData& loader_data() const { return loader_data_; }
|
||||
LoaderData& loader_data() { return loader_data_; }
|
||||
|
||||
XNet* xnet() { return xnet_.get(); }
|
||||
void set_xnet(XNet* net) { xnet_.reset(net); }
|
||||
|
||||
private:
|
||||
LoaderData loader_data_;
|
||||
std::unique_ptr<XNet> xnet_;
|
||||
};
|
||||
|
||||
} // namespace xam
|
||||
|
|
|
@ -247,8 +247,6 @@ dword_result_t NetDll_WSAStartup(dword_t caller, word_t version,
|
|||
}
|
||||
#endif
|
||||
|
||||
// DEBUG
|
||||
/*
|
||||
auto xam = kernel_state()->GetKernelModule<XamModule>("xam.xex");
|
||||
if (!xam->xnet()) {
|
||||
auto xnet = new XNet(kernel_state());
|
||||
|
@ -256,7 +254,6 @@ dword_result_t NetDll_WSAStartup(dword_t caller, word_t version,
|
|||
|
||||
xam->set_xnet(xnet);
|
||||
}
|
||||
*/
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -503,15 +500,17 @@ dword_result_t NetDll_XNetSetSystemLinkPort(dword_t caller, dword_t port) {
|
|||
DECLARE_XAM_EXPORT1(NetDll_XNetSetSystemLinkPort, kNetworking, kStub);
|
||||
|
||||
// https://github.com/ILOVEPIE/Cxbx-Reloaded/blob/master/src/CxbxKrnl/EmuXOnline.h#L39
|
||||
struct XEthernetStatus {
|
||||
static const uint32_t XNET_ETHERNET_LINK_ACTIVE = 0x01;
|
||||
static const uint32_t XNET_ETHERNET_LINK_100MBPS = 0x02;
|
||||
static const uint32_t XNET_ETHERNET_LINK_10MBPS = 0x04;
|
||||
static const uint32_t XNET_ETHERNET_LINK_FULL_DUPLEX = 0x08;
|
||||
static const uint32_t XNET_ETHERNET_LINK_HALF_DUPLEX = 0x10;
|
||||
enum XEthernetStatus {
|
||||
XNET_ETHERNET_LINK_ACTIVE = 0x01,
|
||||
XNET_ETHERNET_LINK_100MBPS = 0x02,
|
||||
XNET_ETHERNET_LINK_10MBPS = 0x04,
|
||||
XNET_ETHERNET_LINK_FULL_DUPLEX = 0x08,
|
||||
XNET_ETHERNET_LINK_HALF_DUPLEX = 0x10,
|
||||
};
|
||||
|
||||
dword_result_t NetDll_XNetGetEthernetLinkStatus(dword_t caller) { return 0; }
|
||||
dword_result_t NetDll_XNetGetEthernetLinkStatus(dword_t caller) {
|
||||
return XNET_ETHERNET_LINK_ACTIVE | XNET_ETHERNET_LINK_100MBPS | XNET_ETHERNET_LINK_FULL_DUPLEX;
|
||||
}
|
||||
DECLARE_XAM_EXPORT1(NetDll_XNetGetEthernetLinkStatus, kNetworking, kStub);
|
||||
|
||||
dword_result_t NetDll_XNetDnsLookup(dword_t caller, lpstring_t host,
|
||||
|
|
|
@ -179,6 +179,7 @@ X_STATUS XNet::Initialize() {
|
|||
GenerateLANKeys(lan_key_hdr->key);
|
||||
|
||||
// Now listen for packets from our little utility
|
||||
/*
|
||||
proxy_socket_ = Socket::Connect("127.0.0.1", 45981);
|
||||
if (!proxy_socket_) {
|
||||
xe::FatalError(__FILE__ ": DEBUG - Could not connect to network proxy!");
|
||||
|
@ -187,6 +188,7 @@ X_STATUS XNet::Initialize() {
|
|||
proxy_recv_thread_ = std::make_unique<XHostThread>(
|
||||
kernel_state_, 0, 0, std::bind(&XNet::ProxyRecvThreadEntry, this));
|
||||
proxy_recv_thread_->Create();
|
||||
*/
|
||||
|
||||
// Test
|
||||
// SendPacket(nullptr, nullptr, game_data, sizeof(game_data));
|
||||
|
|
Loading…
Reference in New Issue