Files
AnyPS5/core/libs/prx/libkernel/Unimplemented.cpp
T
ChadandClaude Opus 5.5 77550ab731 feat(libkernel): implement sendmsg and recvmsg
Both take the FreeBSD msghdr (48 bytes, iovecs of a pointer and a 64-bit
length) and run on the host sockets: sendmsg gathers the iovecs and sends
through sendto, recvmsg receives into one buffer and scatters it. A
datagram longer than the iovecs is cut and reported with MSG_TRUNC, also
on Windows where recvfrom fails with WSAEMSGSIZE. More than 1024 iovecs
fail with EMSGSIZE. No ancillary data is ever received, so recvmsg
clears msg_controllen; sending control data throws.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 20:10:13 -05:00

45 lines
1.1 KiB
C++

#include <cstdint>
#include <cstddef>
#include "SceTypes.hpp"
#include "prx/libc/include/General.hpp"
extern "C" {
int APS5_VABI sceCoredumpWriteUserData() {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI __tls_get_addr_nid_postfix(void) {
NotImplemented_nid_no_patch("vNe1w4diLCs");
return 0;
}
int APS5_VABI sceKernelReleaseFlexibleMemory(void) {
NotImplemented_nid_no_patch("teiItL2boFw");
return 0;
}
// Canonical lib is libScePosix (dead import of Cyberpunk 2077): 35 of its
// 36 sibling imports resolve to libkernel, and libScePosix is not in the
// game's NEEDED list so only a NEEDED module can satisfy the loader here.
int APS5_VABI pthread_cancel_nid_postfix(void) {
NotImplemented_nid_no_patch("0D4-FVvEikw");
return 0;
}
int APS5_VABI sceKernelFchmod(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI fchmod_nid_postfix(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI futimes_nid_postfix(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}