Main implements sceAppContentGetEntitlementKey next to this branch's
sceAppContentGetPftFlag; the merge keeps both declarations, both test
blocks and both debt entries. With that export implemented, Export.cpp
has 8 NotImplemented exports, and the pending-exports count says 8.
Seven pending add-content exports take dlc_emu's prototypes and the
answers dlc_emu gives for content it does not know, after the
library's initialization guard: NOT_FOUND for the entitlement-id mount
and enqueue, the Sp enqueue and Shrink; DRM_NO_ENTITLEMENT for the
entitlement-id info; 0 entries for the IRO-tag list; PFT flag 0.
A padded label answers PARAMETER from SDK 0x03500000. dlc_emu checks
the padding at every SDK while the done label calls gate it, so Sp and
Shrink throw for a padded label below 0x03500000.
Resolve the rebase conflicts with upstream's public API header migration. Put the typed entitlement-key layout and signature in Api.hpp, remove duplicate test/source declarations, and retain upstream's typed add-content checks and initialization behavior.
Keep ignoring the service label in the no-entitlement model. Cover labels 0, 7, 8 and UINT32_MAX without touching the output key. Update debt to distinguish firmware 13.42 module-side validation from the still-unverified system-service result. Evidence: https://github.com/boykopovar/AnyPS5/pull/9638#issuecomment-6390573735
Ubuntu 24.04, GCC 13.3, Release, upstream e7e3e9c198: actual libraries and guest_appcontent_tests built; guest_appcontent passes 1/1. Public-header audit, syntax checks of implementation and test, conventions, test registration and whitespace checks pass. No title or PS5 hardware tested; Windows was not rerun for this update.
AI-assisted: yes