…Status
These three exports are imported by GPL homebrew titles (ps5-opengl,
EVO-PLAYER-PS5, ProsperoRadio) but were missing, stopping the titles at
start-up with unresolved imports. Related to boykopovar#1578.
socketpair creates connected AF_INET/AF_INET6/AF_UNIX pairs backed by
real host sockets, registered in the kernel descriptor table like
socket(). syslog formats the guest message to the host standard error
stream. sceVideoOutGetResolutionStatus reports the configured output
resolution from the video-out context.
Tests: socketpair coverage in GuestUdp, syslog formatting in
GuestSyslog, resolution status values and error paths in
GuestVideoOutWqhdDetection.
Implements three exports that #1578 reports as unresolved imports stopping GPL homebrew titles at start-up:
socketpair(libkernel): connected socket pairs for AF_UNIX, AF_INET and AF_INET6, stream and datagram. POSIX uses the native call for AF_UNIX and a loopback pair otherwise; Windows uses a loopback pair, with a filesystem path pair for AF_UNIX.syslog(libSceLibcInternal): formats the guest message with its varargs and writes it to host stderr.sceVideoOutGetResolutionStatus(libSceVideoOut): reports the configured output width/height as both the full and pane extents.Related to #1578. This covers the three exports from its list with no open PR; the rest are covered by other PRs or need hardware to verify.
Tested
Reproduced first: extracted the import NIDs from the release ZIPs of ps5-opengl (PPSA99005), EVO-PLAYER (PPSA99039) and ProsperoRadio (PPSA99001). Confirmed
6kPnj51T62Y(sceVideoOutGetResolutionStatus),UNS2V4S097M(syslog) andMZb0GKT3mo8(socketpair) are imported but absent from the source exports on main (repo's owntools/nid_names.py::collect_real_names, 3845 names). After the change all three resolve.guest_udp(AF_INET stream pair with bidirectional exchange, AF_INET datagram pair, AF_UNIX stream pair, and the EFAULT/EPROTONOSUPPORT/EAFNOSUPPORT error cases). Runs green standalone.guest_syslog(new): checks formatted output reaches stderr and that a null message throws. Passes on Linux.guest_video_out_wqhd_detection: extended with resolution-status checks (values, invalid handle, null status). Passes on Linux.python3 tools/check_conventions.py --base origin/main: clean.ctestsuite: 462/464 pass. The 2 failures (guest_udp,guest_sce_net) also fail on pristine main in this environment (host EIO fromrecvfromin the container), so they are pre-existing and unrelated. The diff is fully additive: 388 insertions, 0 deletions.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch).mdfiles or images added to the repository