Repository navigation
feat(libSceNet): print sockets from sceNetShowNetstat - #8
Closed
KernelPanicNT wants to merge 1 commit into
Closed
KernelPanicNT wants to merge 1 commit into
KernelPanicNT wants to merge 1 commit into
Conversation
The int (void) signature is the PS4 one from Orbital's IDA type database. sceNetShowNetstat writes a sockets= count and the socket lines of sceNetShowNetstatWithMemory to standard output, without a pool line, and returns 0. Both calls now share one socket collector and printer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Withdrawn: open upstream PR boykopovar#5928 already implements the same functions. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Implements
sceNetShowNetstat(NIDWxislcDAW5I) as the pool-less form of the existingsceNetShowNetstatWithMemory: it writes the socket count and the same per-socket lines to standard output and returns 0.Source of the behaviour. No console measurement is involved.
int (void): Orbital's IDA type database, db_types.json L1419 ("int sceNetShowNetstat(void)", PS4). The debt entry links the same line atb321fcd, the commit that last changed the file; the content is identical. The PS Vita SDK headers declare the sameint sceNetShowNetstat(void)(vita-headers net.h L194).sceNetShowNetstatWithMemory, without its pool part. Like that listing, it is a host-side snapshot of the guest sockets (id, family, type, non-blocking, bound, listening), not the console's text. shadPS4'ssceNetShowNetstatis a logged(STUBBED) return ORBIS_OK(net.cpp L2570-L2573) and gives no output format either.Changes:
core/libs/prx/libSceNet/Export.cpp: the socket snapshot and the per-socket printing move out ofsceNetShowNetstatWithMemoryinto two static helpers, unchanged; its output and itsEBADFfor an unknown pool stay as they are.sceNetShowNetstattakes the snapshot under the network mutex, printssceNet netstat: sockets=Nand the socket lines after releasing it, and returns 0. It moves below the socket registry it reads.core/libs/tests/GuestSceNet.cpp: the stdout capture takes any call.guest_sce_netcompares the complete output ofsceNetShowNetstatwith no socket, with a non-blocking bound listener, and after the socket is closed.docs/dev/debt/libSceNet.md: the existing entry, which listed the signature as unknown, records the Orbital signature and that the output format and any dependency onsceNetInitare unverified.What stays unverified: the console's output text and destination, and whether the call needs
sceNetInitor fails in any case; no case of this call throws. The signature is the PS4 one.Progress: libSceNet 50/52 → 51/52; system libraries 3249/3678 (88.34%) → 3250/3678 (88.36%) by
tools/progress.pyon the branch basecaee23f.Tested
Head
a02b73aaa614c493dff4516efd4e30d7ffb780ac, base84b01f9cd042e1d2e9e112f8783aa5a9d26399ee.BUILD_TESTING=ON, tests run under QEMU 8.2 user mode with-cpu EPYC-Romebecause the build host lacks AVX2):guest_sce_net_tests5/5 passes.core/libs/prx/libSceNet/Export.cppwith the base version:guest_sce_net_testsfails withsceNetShowNetstat not implemented. Restoring the PR source and rebuilding passesguest_sce_net_tests5/5.git diff --checkpass. The Linux job of the Build workflow now targets the project's self-hosted runner, so it was not run on the fork; no title was run.Duplicate and overlap check
Checked the files of all 443 open PRs on 2026-10-14 and searched open, merged and closed PRs for
sceNetShowNetstat. No open PR implements or names it.Open PRs sharing a file (pairwise
git merge-treeagainst each PR head):libSceNet/Export.cpp,GuestSceNet.cpp) and fix(libScePad): return measured status for unknown Pad NID boykopovar/AnyPS5#5676 (docs/dev/debt/libSceNet.md, the entry two lines above): no conflict.libSceNet/Export.cpp,GuestSceNet.cpp) already conflict withmain; this branch adds no conflict file or block to theirs.Earlier PRs on the same export: boykopovar#2831 (merged) declared it as a throwing stub. boykopovar#3963 and boykopovar#5004, which returned 0 and printed nothing, were closed: no title was shown calling it, and the 0 return had no source for what the export does. This PR does print, with the format of boykopovar#4785, but has no console source for the output and no title stop (Unblocks is none).
The branch is one commit on
caee23f; none of the newer commits onmain(84b01f9) touch these files, and it merges without conflicts.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)