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:
georgemoralis 2024-10-11 10:37:36 +03:00 committed by GitHub
parent dc99d3ebfc
commit dbdbb40c0b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 1599 additions and 73 deletions

View file

@ -0,0 +1,309 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "remoteplay.h"
#include "common/logging/log.h"
#include "core/libraries/error_codes.h"
#include "core/libraries/libs.h"
namespace Libraries::Remoteplay {
int PS4_SYSV_ABI sceRemoteplayApprove() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayChangeEnterKey() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayClearAllRegistData() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayClearConnectHistory() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayConfirmDeviceRegist() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayDisconnect() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayGeneratePinCode() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayGetApMode() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayGetConnectHistory() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayGetConnectionStatus(s32 userId, int* pStatus) {
*pStatus = ORBIS_REMOTEPLAY_CONNECTION_STATUS_DISCONNECT;
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayGetConnectUserId() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayGetMbusDeviceInfo() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayGetOperationStatus() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayGetRemoteplayStatus() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayGetRpMode() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayImeClose() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayImeFilterResult() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayImeGetEvent() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayImeNotify() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayImeNotifyEventResult() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayImeOpen() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayImeSetCaret() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayImeSetText() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayInitialize() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayIsRemoteOskReady() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayIsRemotePlaying() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayNotifyMbusDeviceRegistComplete() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayNotifyNpPushWakeup() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayNotifyPinCodeError() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayNotifyUserDelete() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayPrintAllRegistData() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayProhibit() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayProhibitStreaming() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayServerLock() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayServerUnLock() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplaySetApMode() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplaySetLogLevel() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplaySetProhibition() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplaySetProhibitionForVsh() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplaySetRpMode() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceRemoteplayTerminate() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI Func_1D5EE365ED5FADB3() {
LOG_ERROR(Lib_Remoteplay, "(STUBBED) called");
return ORBIS_OK;
}
void RegisterlibSceRemoteplay(Core::Loader::SymbolsResolver* sym) {
LIB_FUNCTION("xQeIryTX7dY", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayApprove);
LIB_FUNCTION("IYZ+Mu+8tPo", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayChangeEnterKey);
LIB_FUNCTION("ZYUsJtcAnqA", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayClearAllRegistData);
LIB_FUNCTION("cCheyCbF7qw", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayClearConnectHistory);
LIB_FUNCTION("tPYT-kGbZh8", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayConfirmDeviceRegist);
LIB_FUNCTION("6Lg4BNleJWc", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayDisconnect);
LIB_FUNCTION("j98LdSGy4eY", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayGeneratePinCode);
LIB_FUNCTION("L+cL-M-DP3w", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayGetApMode);
LIB_FUNCTION("g4K51cY+PEw", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayGetConnectHistory);
LIB_FUNCTION("g3PNjYKWqnQ", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayGetConnectionStatus);
LIB_FUNCTION("3eBNV9A0BUM", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayGetConnectUserId);
LIB_FUNCTION("ufesWMVX6iU", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayGetMbusDeviceInfo);
LIB_FUNCTION("DxU4JGh4S2k", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayGetOperationStatus);
LIB_FUNCTION("n5OxFJEvPlc", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayGetRemoteplayStatus);
LIB_FUNCTION("Cekhs6LSHC0", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayGetRpMode);
LIB_FUNCTION("ig1ocbR7Ptw", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayImeClose);
LIB_FUNCTION("gV9-8cJPM3I", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayImeFilterResult);
LIB_FUNCTION("cMk57DZXe6c", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayImeGetEvent);
LIB_FUNCTION("-gwkQpOCl68", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayImeNotify);
LIB_FUNCTION("58v9tSlRxc8", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayImeNotifyEventResult);
LIB_FUNCTION("C3r2zT5ebMg", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayImeOpen);
LIB_FUNCTION("oB730zwoz0s", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayImeSetCaret);
LIB_FUNCTION("rOTg1Nljp8w", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayImeSetText);
LIB_FUNCTION("k1SwgkMSOM8", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayInitialize);
LIB_FUNCTION("R8RZC1ZIkzU", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayIsRemoteOskReady);
LIB_FUNCTION("uYhiELUtLgA", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayIsRemotePlaying);
LIB_FUNCTION("d-BBSEq1nfc", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayNotifyMbusDeviceRegistComplete);
LIB_FUNCTION("Yytq7NE38R8", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayNotifyNpPushWakeup);
LIB_FUNCTION("Wg-w8xjMZA4", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayNotifyPinCodeError);
LIB_FUNCTION("yheulqylKwI", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayNotifyUserDelete);
LIB_FUNCTION("t5ZvUiZ1hpE", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayPrintAllRegistData);
LIB_FUNCTION("mrNh78tBpmg", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayProhibit);
LIB_FUNCTION("7QLrixwVHcU", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayProhibitStreaming);
LIB_FUNCTION("-ThIlThsN80", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayServerLock);
LIB_FUNCTION("0Z-Pm5rZJOI", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayServerUnLock);
LIB_FUNCTION("xSrhtSLIjOc", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplaySetApMode);
LIB_FUNCTION("5-2agAeaE+c", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplaySetLogLevel);
LIB_FUNCTION("Rf0XMVR7xPw", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplaySetProhibition);
LIB_FUNCTION("n4l3FTZtNQM", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplaySetProhibitionForVsh);
LIB_FUNCTION("-BPcEQ1w8xc", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplaySetRpMode);
LIB_FUNCTION("BOwybKVa3Do", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
sceRemoteplayTerminate);
LIB_FUNCTION("HV7jZe1frbM", "libSceRemoteplay", 1, "libSceRemoteplay", 0, 0,
Func_1D5EE365ED5FADB3);
};
} // namespace Libraries::Remoteplay

View file

@ -0,0 +1,62 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "common/types.h"
namespace Core::Loader {
class SymbolsResolver;
}
// returning codes in sceRemoteplayGetConnectionStatus pstatus
constexpr int ORBIS_REMOTEPLAY_CONNECTION_STATUS_DISCONNECT = 0;
constexpr int ORBIS_REMOTEPLAY_CONNECTION_STATUS_CONNECT = 1;
namespace Libraries::Remoteplay {
int PS4_SYSV_ABI sceRemoteplayApprove();
int PS4_SYSV_ABI sceRemoteplayChangeEnterKey();
int PS4_SYSV_ABI sceRemoteplayClearAllRegistData();
int PS4_SYSV_ABI sceRemoteplayClearConnectHistory();
int PS4_SYSV_ABI sceRemoteplayConfirmDeviceRegist();
int PS4_SYSV_ABI sceRemoteplayDisconnect();
int PS4_SYSV_ABI sceRemoteplayGeneratePinCode();
int PS4_SYSV_ABI sceRemoteplayGetApMode();
int PS4_SYSV_ABI sceRemoteplayGetConnectHistory();
int PS4_SYSV_ABI sceRemoteplayGetConnectionStatus(s32 userId, int* pStatus);
int PS4_SYSV_ABI sceRemoteplayGetConnectUserId();
int PS4_SYSV_ABI sceRemoteplayGetMbusDeviceInfo();
int PS4_SYSV_ABI sceRemoteplayGetOperationStatus();
int PS4_SYSV_ABI sceRemoteplayGetRemoteplayStatus();
int PS4_SYSV_ABI sceRemoteplayGetRpMode();
int PS4_SYSV_ABI sceRemoteplayImeClose();
int PS4_SYSV_ABI sceRemoteplayImeFilterResult();
int PS4_SYSV_ABI sceRemoteplayImeGetEvent();
int PS4_SYSV_ABI sceRemoteplayImeNotify();
int PS4_SYSV_ABI sceRemoteplayImeNotifyEventResult();
int PS4_SYSV_ABI sceRemoteplayImeOpen();
int PS4_SYSV_ABI sceRemoteplayImeSetCaret();
int PS4_SYSV_ABI sceRemoteplayImeSetText();
int PS4_SYSV_ABI sceRemoteplayInitialize();
int PS4_SYSV_ABI sceRemoteplayIsRemoteOskReady();
int PS4_SYSV_ABI sceRemoteplayIsRemotePlaying();
int PS4_SYSV_ABI sceRemoteplayNotifyMbusDeviceRegistComplete();
int PS4_SYSV_ABI sceRemoteplayNotifyNpPushWakeup();
int PS4_SYSV_ABI sceRemoteplayNotifyPinCodeError();
int PS4_SYSV_ABI sceRemoteplayNotifyUserDelete();
int PS4_SYSV_ABI sceRemoteplayPrintAllRegistData();
int PS4_SYSV_ABI sceRemoteplayProhibit();
int PS4_SYSV_ABI sceRemoteplayProhibitStreaming();
int PS4_SYSV_ABI sceRemoteplayServerLock();
int PS4_SYSV_ABI sceRemoteplayServerUnLock();
int PS4_SYSV_ABI sceRemoteplaySetApMode();
int PS4_SYSV_ABI sceRemoteplaySetLogLevel();
int PS4_SYSV_ABI sceRemoteplaySetProhibition();
int PS4_SYSV_ABI sceRemoteplaySetProhibitionForVsh();
int PS4_SYSV_ABI sceRemoteplaySetRpMode();
int PS4_SYSV_ABI sceRemoteplayTerminate();
int PS4_SYSV_ABI Func_1D5EE365ED5FADB3();
void RegisterlibSceRemoteplay(Core::Loader::SymbolsResolver* sym);
} // namespace Libraries::Remoteplay