[compat] HaikuOS port (#2805)

Still had the issues with libusb, but that should get solved with the other PRs anyways
Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2805
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
lizzie 2025-10-22 04:53:40 +02:00 committed by crueter
parent 992bae4e2a
commit 87cacbeed4
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
28 changed files with 250 additions and 129 deletions

View file

@ -15,7 +15,7 @@
#ifdef _WIN32
#include <winsock2.h>
#include <ws2tcpip.h>
#elif defined(__unix__) || defined(__APPLE__)
#else
#include <arpa/inet.h>
#include <errno.h>
#include <fcntl.h>
@ -24,8 +24,6 @@
#include <poll.h>
#include <sys/socket.h>
#include <unistd.h>
#else
#error "Unimplemented platform"
#endif
#include "common/assert.h"
@ -165,7 +163,7 @@ Errno TranslateNativeError(int e, CallType call_type = CallType::Other) {
}
}
#elif defined(__unix__) || defined(__APPLE__) // ^ _WIN32 v __unix__
#else // ^^^ Windows vvv POSIX
using SOCKET = int;
using WSAPOLLFD = pollfd;

View file

@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@ -104,7 +107,7 @@ constexpr IPv4Address TranslateIPv4(in_addr addr) {
auto& bytes = addr.S_un.S_un_b;
return IPv4Address{bytes.s_b1, bytes.s_b2, bytes.s_b3, bytes.s_b4};
}
#elif defined(__unix__) || defined(__APPLE__)
#else
constexpr IPv4Address TranslateIPv4(in_addr addr) {
const u32 bytes = addr.s_addr;
return IPv4Address{static_cast<u8>(bytes), static_cast<u8>(bytes >> 8),

View file

@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@ -8,15 +11,6 @@
#include <span>
#include <utility>
#if defined(_WIN32)
// windows
#elif defined(__unix__) || defined(__APPLE__)
// unix
#else
// haiku
#error "Platform not implemented"
#endif
#include "common/common_types.h"
#include "core/internal_network/network.h"
@ -28,7 +22,7 @@ struct ProxyPacket;
class SocketBase {
public:
#if defined(__unix__) || defined(__APPLE__)
#ifndef _WIN32
using SOCKET = int;
static constexpr SOCKET INVALID_SOCKET = -1;
static constexpr SOCKET SOCKET_ERROR = -1;