added posix close

This commit is contained in:
georgemoralis 2023-11-07 12:02:54 +02:00
parent fc14a8a707
commit 365222ee9a
2 changed files with 15 additions and 4 deletions

View File

@ -100,11 +100,21 @@ int PS4_SYSV_ABI posix_open(const char* path, int flags, /* SceKernelMode*/ u16
return result;
}
int PS4_SYSV_ABI posix_close(int handle) {
LOG_INFO_IF(log_file_fs, "posix close redirect to sceKernelClose\n");
int result = sceKernelClose(handle);
if (result < 0) {
BREAKPOINT(); // posix calls different only for their return values
}
return result;
}
void fileSystemSymbolsRegister(Loader::SymbolsResolver* sym) {
LIB_FUNCTION("1G3lF1Gg1k8", "libkernel", 1, "libkernel", 1, 1, sceKernelOpen);
LIB_FUNCTION("UK2Tl2DWUns", "libkernel", 1, "libkernel", 1, 1, sceKernelClose);
LIB_FUNCTION("j2AIqSqJP0w", "libkernel", 1, "libkernel", 1, 1, sceKernelGetdents);
LIB_FUNCTION("wuCroIGjt2g", "libScePosix", 1, "libkernel", 1, 1, posix_open);
LIB_FUNCTION("bY-PO6JhzhQ", "libScePosix", 1, "libkernel", 1, 1, posix_close);
}
} // namespace Core::Libraries::LibKernel

View File

@ -36,6 +36,7 @@ int PS4_SYSV_ABI sceKernelOpen(const char *path, int flags, /* SceKernelMode*/ u
int PS4_SYSV_ABI sceKernelClose(int handle);
int PS4_SYSV_ABI sceKernelGetdents(int fd, char *buf, int nbytes);
int PS4_SYSV_ABI posix_open(const char *path, int flags, /* SceKernelMode*/ u16 mode);
int PS4_SYSV_ABI posix_close(int handle);
void fileSystemSymbolsRegister(Loader::SymbolsResolver *sym);