Take the user ID, service label, entitlement label and info of the
runtime declaration in dlc_emu. A user ID of -1 returns the parameter
error before any other check; any other ID returns what
sceNpEntitlementAccessGetAddcontEntitlementInfo returns for the label,
including the not-found error for a label the entitlements file does
not list. Record the unverified prototype, the error order and the
label checks dlc_emu makes that this export does not in the debt.
No request can be created while signed out, so the library keeps no
request table. Sharpemu asserts abort/delete return OK for Gen4 and
Gen5 regardless of the request ID; titles treat a negative result as a
log-only cleanup error. Return 0 unconditionally instead of throwing.
The line printed the absolute path of anyps5-entitlements.ini, which holds the
user's home directory. It now names the file, or the path ANYPS5_ENTITLEMENTS
gives when it is set. Label bytes outside printable ASCII, and the backslash,
are written as \xNN, so a label cannot forge or hide log lines. After 64
reported labels one more line says further ones are not reported. USAGE names
the title by its ID and uses a neutral example label.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
An add-on label that anyps5-entitlements.ini does not list is reported as not
installed, with nothing in the log. Some titles then wait at start-up for it
behind their loading screen. The first query for each unlisted label now prints
one line naming the label and the file, and USAGE documents the file.
Co-Authored-By: Claude Opus 5.5 <[email protected]>