Skip to content

Commit

Permalink
Merge pull request #150 from kr1spy2115/stub
Browse files Browse the repository at this point in the history
sceNpSignaling library stub and log fix
  • Loading branch information
SysRay authored May 4, 2024
2 parents fde0200 + 55b32be commit cbcc5ce
Show file tree
Hide file tree
Showing 6 changed files with 77 additions and 1 deletion.
2 changes: 1 addition & 1 deletion core/kernel/pthread.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1254,7 +1254,7 @@ ScePthread setup_thread(void* arg) {
LOG_DEBUG(L"thread[%d] stack addr:0x%08llx size:0x%08llx", thread->unique_id, tib->StackBase, stackSize);
if (attr.getStackSize() < stackSize) {
LOG_USE_MODULE(pthread);
LOG_WARN(L"wrong stack size");
LOG_ERR(L"wrong stack size");
}
attr.setStackSize(stackSize);
}
Expand Down
4 changes: 4 additions & 0 deletions modules/libSceNet/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ typedef uint32_t SceNetSocklen_t;

typedef int SceNetId;

struct SceNetInAddr {
SceNetInAddr_t s_addr;
};

enum class SceStunCheckResult {
RUnchecked = 0,
RFailed = 1,
Expand Down
9 changes: 9 additions & 0 deletions modules/libSceNpSignaling/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
cmake_minimum_required(VERSION 3.24)
include(../setupModule.cmake)

set(libName libSceNpSignaling)
project(${libName})

add_library(${libName} SHARED entry.cpp)

setupModule(${libName})
6 changes: 6 additions & 0 deletions modules/libSceNpSignaling/codes.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#pragma once
#include <stdint.h>

namespace Err {} // namespace Err

constexpr uint32_t SCE_NP_ONLINEID_MAX_LENGTH = 16;
33 changes: 33 additions & 0 deletions modules/libSceNpSignaling/entry.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#include "codes.h"
#include "common.h"
#include "logging.h"
#include "types.h"

LOG_DEFINE_MODULE(libSceNpSignaling);

namespace {} // namespace

extern "C" {

EXPORT const char* MODULE_NAME = "libSceNpSignaling";

EXPORT SYSV_ABI int32_t sceNpSignalingInitialize(uint64_t poolSize, int threadPriority, int cpuAffinityMask, uint64_t threadStackSize) {
return Ok;
}

EXPORT SYSV_ABI int32_t sceNpSignalingCreateContext(const SceNpId* npId, SceNpSignalingHandler handler, void* arg, uint32_t* ctxId) {
return Ok;
}

EXPORT SYSV_ABI int32_t sceNpSignalingCreateContextA(SceUserServiceUserId userId, SceNpSignalingHandler handler, void* arg, uint32_t* ctxId) {
return Ok;
}

EXPORT SYSV_ABI int32_t sceNpSignalingGetLocalNetInfo(uint32_t ctxId, SceNpSignalingNetInfo* info) {
return Ok;
}

EXPORT SYSV_ABI int32_t sceNpSignalingSetContextOption(uint32_t ctxId, int optname, int optval) {
return Ok;
}
}
24 changes: 24 additions & 0 deletions modules/libSceNpSignaling/types.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#pragma once
#include "../libSceNet/types.h"
#include "codes.h"

struct SceNpOnlineId {
char data[SCE_NP_ONLINEID_MAX_LENGTH];
char term;
char dummy[3];
};

struct SceNpId {
SceNpOnlineId handle;
unsigned char opt[8];
unsigned char reserved[8];
};

typedef void SYSV_ABI (*SceNpSignalingHandler)(uint32_t ctxId, uint32_t subjectId, int event, int errorCode, void* arg);

struct SceNpSignalingNetInfo {
size_t size;
SceNetInAddr local_addr;
SceNetInAddr mapped_addr;
int nat_status;
};

0 comments on commit cbcc5ce

Please sign in to comment.