mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-12-14 15:49:12 +00:00
Network libs fixes , stubs and more (#1324)
* some rework on netctl calls * added libs stubs using from RE6 * added ORBIS_NET_CTL_INFO_IP_ADDRESS case in sceNetCtlGetInfo * added sceNetInetPton * some dummy functions and change some functions to debug level * clang format fix * fix for sceNetInetPton * posix OS fix? * linux + macOS fixes? * fix? * sceSharePlayGetCurrentConnectionInfo
This commit is contained in:
186
src/core/libraries/share_play/shareplay.cpp
Normal file
186
src/core/libraries/share_play/shareplay.cpp
Normal file
@@ -0,0 +1,186 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "shareplay.h"
|
||||
|
||||
#include "common/logging/log.h"
|
||||
#include "core/libraries/error_codes.h"
|
||||
#include "core/libraries/libs.h"
|
||||
|
||||
namespace Libraries::SharePlay {
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayCrashDaemon() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayGetCurrentConnectionInfo(OrbisSharePlayConnectionInfo* pInfo) {
|
||||
memset(pInfo, 0, sizeof(*pInfo));
|
||||
pInfo->status = ORBIS_SHARE_PLAY_CONNECTION_STATUS_DORMANT;
|
||||
LOG_DEBUG(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayGetCurrentConnectionInfoA() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayGetCurrentInfo() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayGetEvent() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayInitialize() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayNotifyDialogOpen() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayNotifyForceCloseForCdlg() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayNotifyOpenQuickMenu() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayResumeScreenForCdlg() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayServerLock() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayServerUnLock() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlaySetMode() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlaySetProhibition() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlaySetProhibitionModeWithAppId() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayStartStandby() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayStartStreaming() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayStopStandby() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayStopStreaming() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayTerminate() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI Func_2E93C0EA6A6B67C4() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI Func_C1C236728D88E177() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI Func_E9E80C474781F115() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
int PS4_SYSV_ABI Func_F3DD6199DA15ED44() {
|
||||
LOG_ERROR(Lib_SharePlay, "(STUBBED) called");
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
void RegisterlibSceSharePlay(Core::Loader::SymbolsResolver* sym) {
|
||||
LIB_FUNCTION("ggnCfalLU-8", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayCrashDaemon);
|
||||
LIB_FUNCTION("OOrLKB0bSDs", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayGetCurrentConnectionInfo);
|
||||
LIB_FUNCTION("+MCXJlWdi+s", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayGetCurrentConnectionInfoA);
|
||||
LIB_FUNCTION("vUMkWXQff3w", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayGetCurrentInfo);
|
||||
LIB_FUNCTION("Md7Mdkr8LBc", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayGetEvent);
|
||||
LIB_FUNCTION("isruqthpYcw", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayInitialize);
|
||||
LIB_FUNCTION("9zwJpai7jGc", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayNotifyDialogOpen);
|
||||
LIB_FUNCTION("VUW2V9cUTP4", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayNotifyForceCloseForCdlg);
|
||||
LIB_FUNCTION("XL0WwUJoQPg", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayNotifyOpenQuickMenu);
|
||||
LIB_FUNCTION("6-1fKaa5HlY", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayResumeScreenForCdlg);
|
||||
LIB_FUNCTION("U28jAuLHj6c", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayServerLock);
|
||||
LIB_FUNCTION("3Oaux9ITEtY", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayServerUnLock);
|
||||
LIB_FUNCTION("QZy+KmyqKPU", "libSceSharePlay", 1, "libSceSharePlay", 0, 0, sceSharePlaySetMode);
|
||||
LIB_FUNCTION("co2NCj--pnc", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlaySetProhibition);
|
||||
LIB_FUNCTION("KADsbjNCgPo", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlaySetProhibitionModeWithAppId);
|
||||
LIB_FUNCTION("-F6NddfUsa4", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayStartStandby);
|
||||
LIB_FUNCTION("rWVNHNnEx6g", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayStartStreaming);
|
||||
LIB_FUNCTION("zEDkUWLVwFI", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayStopStandby);
|
||||
LIB_FUNCTION("aGlema+JxUU", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayStopStreaming);
|
||||
LIB_FUNCTION("UaLjloJinow", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayTerminate);
|
||||
LIB_FUNCTION("LpPA6mprZ8Q", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
Func_2E93C0EA6A6B67C4);
|
||||
LIB_FUNCTION("wcI2co2I4Xc", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
Func_C1C236728D88E177);
|
||||
LIB_FUNCTION("6egMR0eB8RU", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
Func_E9E80C474781F115);
|
||||
LIB_FUNCTION("891hmdoV7UQ", "libSceSharePlay", 1, "libSceSharePlay", 0, 0,
|
||||
Func_F3DD6199DA15ED44);
|
||||
LIB_FUNCTION("OOrLKB0bSDs", "libSceSharePlayCompat", 1, "libSceSharePlay", 0, 0,
|
||||
sceSharePlayGetCurrentConnectionInfo);
|
||||
};
|
||||
|
||||
} // namespace Libraries::SharePlay
|
||||
54
src/core/libraries/share_play/shareplay.h
Normal file
54
src/core/libraries/share_play/shareplay.h
Normal file
@@ -0,0 +1,54 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <core/libraries/np_manager/np_manager.h>
|
||||
#include "common/types.h"
|
||||
|
||||
namespace Core::Loader {
|
||||
class SymbolsResolver;
|
||||
}
|
||||
|
||||
namespace Libraries::SharePlay {
|
||||
|
||||
constexpr int ORBIS_SHARE_PLAY_CONNECTION_STATUS_DORMANT = 0x00;
|
||||
constexpr int ORBIS_SHARE_PLAY_CONNECTION_STATUS_READY = 0x01;
|
||||
constexpr int ORBIS_SHARE_PLAY_CONNECTION_STATUS_CONNECTED = 0x02;
|
||||
|
||||
struct OrbisSharePlayConnectionInfo {
|
||||
int status;
|
||||
int mode;
|
||||
Libraries::NpManager::OrbisNpOnlineId hostOnlineId;
|
||||
Libraries::NpManager::OrbisNpOnlineId visitorOnlineId;
|
||||
s32 hostUserId;
|
||||
s32 visitorUserId;
|
||||
};
|
||||
|
||||
int PS4_SYSV_ABI sceSharePlayCrashDaemon();
|
||||
int PS4_SYSV_ABI sceSharePlayGetCurrentConnectionInfo(OrbisSharePlayConnectionInfo* pInfo);
|
||||
int PS4_SYSV_ABI sceSharePlayGetCurrentConnectionInfoA();
|
||||
int PS4_SYSV_ABI sceSharePlayGetCurrentInfo();
|
||||
int PS4_SYSV_ABI sceSharePlayGetEvent();
|
||||
int PS4_SYSV_ABI sceSharePlayInitialize();
|
||||
int PS4_SYSV_ABI sceSharePlayNotifyDialogOpen();
|
||||
int PS4_SYSV_ABI sceSharePlayNotifyForceCloseForCdlg();
|
||||
int PS4_SYSV_ABI sceSharePlayNotifyOpenQuickMenu();
|
||||
int PS4_SYSV_ABI sceSharePlayResumeScreenForCdlg();
|
||||
int PS4_SYSV_ABI sceSharePlayServerLock();
|
||||
int PS4_SYSV_ABI sceSharePlayServerUnLock();
|
||||
int PS4_SYSV_ABI sceSharePlaySetMode();
|
||||
int PS4_SYSV_ABI sceSharePlaySetProhibition();
|
||||
int PS4_SYSV_ABI sceSharePlaySetProhibitionModeWithAppId();
|
||||
int PS4_SYSV_ABI sceSharePlayStartStandby();
|
||||
int PS4_SYSV_ABI sceSharePlayStartStreaming();
|
||||
int PS4_SYSV_ABI sceSharePlayStopStandby();
|
||||
int PS4_SYSV_ABI sceSharePlayStopStreaming();
|
||||
int PS4_SYSV_ABI sceSharePlayTerminate();
|
||||
int PS4_SYSV_ABI Func_2E93C0EA6A6B67C4();
|
||||
int PS4_SYSV_ABI Func_C1C236728D88E177();
|
||||
int PS4_SYSV_ABI Func_E9E80C474781F115();
|
||||
int PS4_SYSV_ABI Func_F3DD6199DA15ED44();
|
||||
|
||||
void RegisterlibSceSharePlay(Core::Loader::SymbolsResolver* sym);
|
||||
} // namespace Libraries::SharePlay
|
||||
Reference in New Issue
Block a user