diff options
| author | Maufeat <sahyno1996@gmail.com> | 2025-06-26 18:55:34 +0000 |
|---|---|---|
| committer | crueter <crueter@noreply.localhost> | 2025-06-26 18:55:34 +0000 |
| commit | 2e6a289a0b4e53098d4ee4a9f6baf038d21981f8 (patch) | |
| tree | 8be8276b6d13e8383babefa2bb40264a7ac34c4a /src/core/hle/service/sockets/bsd.cpp | |
| parent | b2e602325cf3ed80ac81b7501465ef8eae567007 (diff) | |
Add Airplane Mode + Host Network Interface Details (#204)
Adds Airplane Mode function to settings, host states, etc.
Windows implemented only for now.
Closes #203
Co-authored-by: crueter <swurl@swurl.xyz>
Co-authored-by: Aleksandr Popovich <alekpopo@pm.me>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/204
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-committed-by: Maufeat <sahyno1996@gmail.com>
Diffstat (limited to 'src/core/hle/service/sockets/bsd.cpp')
| -rw-r--r-- | src/core/hle/service/sockets/bsd.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp index 4be70e0559..07df83caad 100644 --- a/src/core/hle/service/sockets/bsd.cpp +++ b/src/core/hle/service/sockets/bsd.cpp @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project -// SPDX-License-Identifier: GPL-2.0-or-later - // SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + #include <array> #include <memory> #include <utility> @@ -22,6 +22,7 @@ #include "core/internal_network/socket_proxy.h" #include "core/internal_network/sockets.h" #include "network/network.h" +#include <common/settings.h> using Common::Expected; using Common::Unexpected; @@ -489,6 +490,12 @@ void BSD::ExecuteWork(HLERequestContext& ctx, Work work) { } std::pair<s32, Errno> BSD::SocketImpl(Domain domain, Type type, Protocol protocol) { + + if (Settings::values.airplane_mode.GetValue()) { + LOG_ERROR(Service, "Airplane mode is enabled, cannot create socket"); + return {-1, Errno::NOTCONN}; + } + if (type == Type::SEQPACKET) { UNIMPLEMENTED_MSG("SOCK_SEQPACKET errno management"); } else if (type == Type::RAW && (domain != Domain::INET || protocol != Protocol::ICMP)) { |
