Files
AnyPS5/docs/dev/debt/libSceAutoMounterClient.md
simnJS a06fb13f6c fix(libSceAutoMounterClient): name the fields of the USB device-info output
The 816 bytes after the 128-byte device name are the PS4
SceAutoMounterClientUsbDeviceInfo fields up to the serial length in
flatz's ps4_stub_lib_maker_v2 header: the total and available space, the
vendor id, product id and release, and the manufacturer, product and
serial strings with their lengths. libSceUsbStorage's device-info record
starts with the same layout. Every field offset is now asserted; the
size and offsets do not change.
2026-10-27 17:23:33 +01:00

8 lines
1.8 KiB
Markdown

# libSceAutoMounterClient technical debt
### Unknown function info
- [sceAutoMounterClientRegisterCallback, sceAutoMounterClientTerm and sceAutoMounterClientUnregisterCallback](../../../core/libs/prx/libSceAutoMounterClient/Export.cpp) (libSceAutoMounterClient) - their names and NIDs are in the [PS5 3.20 export inventory](https://github.com/DNNDHH/PS5-3.20_Libs/blob/b2a77c09cd71c01f34c790cfbe98c751a13262ad/libSceAutoMounterClient.c), but no credible prototypes were found. They are declared without parameters solely to resolve known imports; this is not an ABI claim and callers must not call them until signatures are verified.
- [sceAutoMounterClientGetUsbDeviceInfo](../../../core/libs/prx/libSceAutoMounterClient/Export.cpp) (libSceAutoMounterClient) - the fields after the 128-byte device name are named after flatz's PS4 [`SceAutoMounterClientUsbDeviceInfo`](https://github.com/flatz/ps4_stub_lib_maker_v2/blob/a8d044c12ea2dc3fa190ce1769eeb48b30d28ed4/include/automount.h#L11-L33): total and available space, vendor id, product id, release, and the manufacturer, product and serial strings with their 64-bit lengths. The 944-byte PS5 output holds that structure's first 816 bytes, at the offsets libSceUsbStorage's [device-info record](libSceUsbStorage.md) also uses (the vendor id at 0x10 and the strings at 0x16, 0x120 and 0x228); the PS4 fields after the serial length are not part of it. What the console writes into each field is not measured, and the function still throws.
- [sceAutoMounterClientInit, sceAutoMounterClientGetUsbDeviceList](../../../core/libs/prx/libSceAutoMounterClient/Export.cpp) (libSceAutoMounterClient) - throw through `NotImplemented_nid_no_patch`. Client initialization thread attributes and device list query interactions with the automounter service remain unimplemented.