Capture services: Difference between revisions

No edit summary
No edit summary
Line 282: Line 282:


= ShimLibraryVersion =
= ShimLibraryVersion =
This is a version field. Official sw uses func <code>nn::capsrv::GetShimLibraryVersion()</code> to load this from a global var, which is then used with various commands.
This is a version field. Official sw uses func <code>nn::capsrv::GetShimLibraryVersion()</code> to load this from a global var, which is then used with various commands (the input for those cmds must match value 1).


[7.0.0-8.1.0] This is value 1.
[7.0.0-8.1.0] This is value 1.
Controls which struct version to use for [[#ApplicationAlbumEntry]] / [[#AlbumFileEntry]].


= AlbumEntry =
= AlbumEntry =
Line 321: Line 323:


= AlbumFileEntry =
= AlbumFileEntry =
{| class="wikitable" border="1"
This is "nn::album::AlbumFileEntry". This is identical to [[#ApplicationAlbumEntry]].
|-
! Offset || Size || Description
|-
| 0x0 || 0x20 || Unknown.
|}
 
This is "nn::album::AlbumFileEntry". This is a 0x20-byte struct. On older versions, this was 0x30-bytes.


= ApplicationAlbumEntry =
= ApplicationAlbumEntry =
Line 338: Line 333:
|}
|}


This is "nn::capsrv::ApplicationAlbumEntry". This is a 0x20-byte struct. On older versions, this was "nn::capsrv::ApplicationAlbumFileEntry" with size 0x30-bytes.
This is "nn::capsrv::ApplicationAlbumEntry". This is a 0x20-byte struct. On older versions where [[#ShimLibraryVersion]] is 0, this was "nn::capsrv::ApplicationAlbumFileEntry" with size 0x30-bytes, with a different format.


With the output from [[Applet_Manager_services#caps:su|caps:su]] sdk-nso only uses this for the [[Internet_Browser|Share-applet]] (when the output is used at all), with everything else (which has a different struct format) it's used as an [[#AlbumFileEntry]]. In those cases with the <code>nn::album</code> wrapper funcs, it's "converted" by just copying the struct (arrays are "converted" by just returning a ptr to the input array).
With the output from [[Applet_Manager_services#caps:su|caps:su]] sdk-nso only uses this for the [[Internet_Browser|Share-applet]] (when the output is used at all), with everything else it's used as an [[#AlbumFileEntry]]. In those cases with the <code>nn::album</code> wrapper funcs, it's "converted" by just copying the struct (arrays are "converted" by just returning a ptr to the input array).


= Notes =
= Notes =