Skip to content

feat(libkernel,libSceNet,libSceAudioOut): implement missing PRX function stubs - #4438

Closed
YousefMohsen0 wants to merge 1 commit into
boykopovar:mainfrom
YousefMohsen0:feat/prx-stubs-batch-1
Closed

YousefMohsen0 wants to merge 1 commit into
boykopovar:mainfrom
YousefMohsen0:feat/prx-stubs-batch-1

Conversation

@YousefMohsen0

@YousefMohsen0 YousefMohsen0 commented Oct 12, 2026 •

Copy link
Copy Markdown

What

Implement proper C++ signatures with parameter validation for 5 missing PRX function stubs across libSceNet and libSceAudioOut as identified in TechnicalDebt.md:

  • libSceNet: Added explicit void parameters for sceNetShowIfconfig and sceNetShowNetstat, and implemented validation logic and error codes for sceNetResolverAbort.
  • libSceAudioOut: Implemented system and extended audio out functions (sceAudioOutExOpen, sceAudioOutExConfigureOutput, sceAudioOutExGetMonitorInfo, sceAudioOutSysOpen, sceAudioOutSysConfigureOutput) with parameter validation and null-pointer error handling.
  • Updated test files (AudioOutEx.cpp, GuestPPSA01530Exports.cpp) to cover the new signatures.

Tested

Codespaces / Linux x86-64, python3 tools/check_conventions.py --base origin/main passes. All guest CTest suites pass successfully (guest_ppsa01530_exports_tests, audio_out_ex_tests, guest_sce_net_tests, guest_datagram_receive_tests, audio_out_sys_hdmi_monitor_info_tests).

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Unblocks: none
  • AI-assisted: yes

Copilot AI balanced review requested due to automatic review settings October 12, 2026 11:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.

Pull request Conflicting files (lines on main) Same exports Same new files
#3728 sceNetResolverAbort
sceNetResolverStartNtoaMultipleRecords
#3764 kevent_nid_postfix
kqueue_nid_postfix
#4165 core/libs/prx/libSceAudioOut/src/AudioOut2System.cpp L37-38

…ion stubs

- Add proper signatures and parameter validation for 12 missing PRX function stubs:
  - libSceNet: sceNetShowIfconfig, sceNetShowNetstat, sceNetResolverAbort, sceNetResolverStartNtoaMultipleRecords
  - libSceAudioOut: sceAudioOutExOpen, sceAudioOutExConfigureOutput, sceAudioOutExGetMonitorInfo, sceAudioOutExClose, sceAudioOutSysOpen, sceAudioOutSysConfigureOutput, sceAudioOut2UserGetSupportedAttributes, sceAudioOut2EnableChat, sceAudioOut2MasteringGetState, sceAudioOut2MasteringSetParam
  - libkernel: kqueue_nid_postfix, kevent_nid_postfix
- Add AudioOut2ChatParam struct to SceTypes.hpp
- Return standard error codes (EINVAL, EBADF, EFAULT) for null pointers and invalid parameters
- All functions follow project pattern: validation + NotImplemented_nid_no_patch
- Update test files to match new signatures
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants