AnyPS5/docs/dev/debt
screamm 15bbc19501 feat(libScePosixForWebKit): implement getservbyname
Implement getservbyname (H1bArJPagV0) in libScePosixForWebKit. Cloud
Play (PPSA99600) imports it from this library only (registry index 408,
call site 0x1042124); once fnmatch (#3545) is in, its predicted load
stop is:

    FAIL: unresolved ELF import H1bArJPagV0 from libScePosixForWebKit.prx

The ps5-payload-dev SDK stubs (f5d40f02, sce_stubs/) declare
getservbyname in libScePosixForWebKit.c and not in libkernel.c or
libSceLibcInternal.c. The call site is the service-name branch of a
getaddrinfo inside the title: a non-numeric service is looked up with
protocol "tcp", "udp" or "sctp" and the port is read big-endian at
offset 16 of the result, which fixes the servent layout used here
(name, aliases, 32-bit port, protocol at 0, 8, 16, 24).

The guest has no /etc/services and the console's file is unknown, so the
function searches 37 lines of FreeBSD 11.4 etc/services (8c639945):
ftp-data, ftp, ssh, telnet, smtp, domain, tftp, http, pop3, ntp, imap,
https, rtsp, submission, imaps and pop3s with their aliases and
protocols, in file order. None of their names or aliases appears on an
earlier line of the full file, so these lookups answer as the full file
would. The search follows files_servent in lib/libc/net/getservent.c
(8c639945): exact, case-sensitive match on the name or an alias, a null
protocol takes the first match, the port in network byte order, the
result in per-thread storage like getserv's NSS TLS state. Any other
name returns null without touching errno, as for a name the file lacks.
The repository's getaddrinfo still resolves service names through the
host, so there was no table to share; this is recorded in
TechnicalDebt.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 15:43:05 +03:00
..
libSceAcm.md feat(libSceVideoOut): implement sceVideoOutDeleteVrrActiveStatusEvent 2026-10-12 23:04:58 -04:00
libSceAgc.md Merge pull request #4835 from MarcZX100/fix/agc-init-version-error-4808 2026-10-13 22:00:27 +13:00
libSceAgcDriver.md Merge pull request #4041 from ee6aba54/fix/agc-cmask-unknown-codes 2026-10-13 14:11:16 +02:00
libSceAjm.native.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceAmpr.md Merge pull request #4207 from xXPBSXx/fix/ampr-amm-usage-stats 2026-10-12 22:57:04 +02:00
libSceAppContent.md feat(exports): export the calls PPSA01317 imports 2026-10-13 01:11:29 +02:00
libSceAudio3d.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceAudioIn.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceAudioOut.md feat(audioout2): report supported user attributes 2026-10-13 10:24:04 +02:00
libSceAudioPropagation.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceAudiodec.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceAvPlayer.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceBluetoothHid.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceCdlgG2P.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceCdlgPlayerReview.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceCesCs.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceCommonDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceContentDelete.md feat(libSceContentSearch): implement the search calls over an empty library 2026-10-13 00:34:12 +05:30
libSceContentExport.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceContentSearch.md feat(libSceContentSearch): implement the search calls over an empty library 2026-10-13 00:34:12 +05:30
libSceDbgThreadSanitizer.md feat(libSceDbgThreadSanitizer): declare the TSan annotation calls and report the sanitizer disabled 2026-10-13 02:12:05 -04:00
libSceErrorDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceFiber.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceFont.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceGameLiveStreaming.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceGameUpdate.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceHmd.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceHmd2.md fix(exports): export the calls PPSA29866 imports 2026-10-12 21:32:38 +02:00
libSceHttp.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceHttp2.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceIme.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceJobManager.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceJpegEnc.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceJson2.md feat(libSceSaveData): answer sceSaveDataDirNameSearch2 2026-10-12 22:59:26 +02:00
libSceKeyboard.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceLibcInternal.md docs(libSceLibcInternal): record spawn import stops 2026-10-13 07:56:19 +00:00
libSceLoginDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceMbus.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceMsgDialog.native.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceNet.md fix(libkernel): accept NOTE_EXTEND on a directory watch on Windows 2026-10-12 22:37:31 +02:00
libSceNetCtlApDialog.md feat(libSceNetCtlApDialog): run the offline access-point dialog lifecycle 2026-10-12 20:03:59 +01:00
libSceNgs2.native.md fix(libSceNgs2): reject unverified listener transforms 2026-10-12 23:12:40 +02:00
libSceNpAuth.md feat(exports): export the calls PPSA01317 imports 2026-10-13 01:11:29 +02:00
libSceNpAuthAuthorizedAppDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceNpCommerce.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceNpEntitlementAccess.md docs(debt): cite the source of sceNpEntitlementAccessGetPftFlag 2026-10-13 10:08:30 +02:00
libSceNpManager.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceNpPartner001.md docs(technical-debt): drop stale EAAccess unknown-info line and move the new one off the section end 2026-10-12 18:46:44 +00:00
libSceNpSessionSignaling.md docs(debt): cite ASTRO BOT's call to sceNpSessionSignalingGetConnectionStatus 2026-10-12 22:05:40 +01:00
libSceNpTrophy2.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceNpWebApi2.md feat(exports): export the calls PPSA01317 imports 2026-10-13 01:11:29 +02:00
libSceOpusCeltDec.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceOpusDec.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libScePad.md feat(libScePad): apply the angular velocity deadband 2026-10-12 22:29:57 +01:00
libScePlayGo.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libScePlayerInvitationDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libScePngEnc.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libScePosixForWebKit.md feat(libScePosixForWebKit): implement getservbyname 2026-10-13 15:43:05 +03:00
libSceProprietaryVoiceChatHelperPrx.md feat(libSceProprietaryVoiceChatHelperPrx): implement the voice chat helper lifecycle 2026-10-13 10:34:39 +02:00
libScePsml_debug.md feat(exports): export the calls PPSA01317 imports 2026-10-13 01:11:29 +02:00
libSceRazorCpu.md feat(libSceRazorCpu): implement sceRazorCpuSync 2026-10-12 21:58:39 +02:00
libSceRtc.md fix(rtc): reject date strings ending at the minutes 2026-10-12 19:44:03 +00:00
libSceRudp.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceSaveData.native.md feat(libSceSaveData): implement sceSaveDataGetConvertProgress 2026-10-13 09:48:44 +02:00
libSceSaveDataDialog.native.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceShare.md feat(libSceShare): implement sceShareCaptureVideoClipExtended 2026-10-12 18:46:45 +00:00
libSceSharePlay.md feat(libSceSharePlay): implement sceSharePlayProhibitController 2026-10-12 21:58:43 +02:00
libSceSigninDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceSsl.md docs(debt): keep the other SSL stubs in the PPSA07411 entry 2026-10-13 12:50:47 +02:00
libSceSystemGesture.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceSystemService.md feat(libSceSystemService): no-op sceSystemServiceOpenChallengeActivity 2026-10-13 16:41:40 +07:00
libSceTextToSpeech2.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceUlt.md feat(libSceUlt): accept option parameters in sceUltQueueCreate and sceUltQueueDataResourcePoolCreate 2026-10-12 22:48:53 +02:00
libSceUsbd.md feat(libSceUsbd): pass USB devices and transfers through to the host with libusb 2026-10-12 22:32:42 +02:00
libSceUserService.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceVdecsw.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceVideoOut.md feat(libSceVideoOut): implement sceVideoOutDeleteVrrActiveStatusEvent 2026-10-12 23:04:58 -04:00
libSceVideodec2.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceVoiceChat.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceVoiceQoS.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceVrSetupDialog.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libSceZlib.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
libc.md Merge pull request #5048 from MarcZX100/codex/libc-openlog-closelog 2026-10-13 14:18:31 +02:00
libkernel.md Merge pull request #4086 from hugodearaujo/fix/setschedparam-console 2026-10-13 14:29:15 +02:00
libkernel_sys.md feat(libkernel_sys): implement renameat 2026-10-13 10:19:35 +02:00
libs.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00
relinker.md docs(debt): mention --windows-gui and its lost output on the console entry 2026-10-12 21:02:32 +02:00
shader.md feat(agc): implement quad tessellation with counter-clockwise output and level clamps 2026-10-13 10:56:16 +02:00
ulobjmgr.md docs(debt): move library entries to one file per library 2026-10-12 20:38:29 +02:00