Line 102: |
Line 102: |
| | 50001 || [19.0.0+] | | | 50001 || [19.0.0+] |
| |- | | |- |
− | | 50011 || [19.0.0+] | + | | 50011 || [19.0.0+] GetAlbumAccessResultForDebug |
| |- | | |- |
− | | 50012 || [19.0.0+] | + | | 50012 || [19.0.0+] [[#SetAlbumAccessResultForDebug]] |
| |- | | |- |
| | 60002 || [4.0.0+] [[#OpenAccessorSession]] | | | 60002 || [4.0.0+] [[#OpenAccessorSession]] |
Line 117: |
Line 117: |
| == LoadAlbumScreenShotImageEx1 == | | == LoadAlbumScreenShotImageEx1 == |
| Takes a total of 0x38-bytes of input, two type-0x5 input buffers, and returns 0x20-bytes of output. [4.0.0+] No longer returns output, and now takes the following buffers instead: type-0x16, type-0x46, and type-0x6. | | Takes a total of 0x38-bytes of input, two type-0x5 input buffers, and returns 0x20-bytes of output. [4.0.0+] No longer returns output, and now takes the following buffers instead: type-0x16, type-0x46, and type-0x6. |
| + | |
| + | == SetAlbumAccessResultForDebug == |
| + | Allows setting a result code that will make following access functions fail with: |
| + | GetAlbumFileCount, GetAlbumFileCountEx0, GetAlbumFileList, GetAlbumFileListEx0, GetAlbumFileListEx1, GetAlbumFileListEx2, LoadAlbumFile, DeleteAlbumFile, StorageCopyAlbumFile, LoadAlbumFileThumbnail, LoadAlbumScreenShotImage, LoadAlbumScreenShotImageEx, LoadAlbumScreenShotImageEx0, LoadAlbumScreenShotImageEx1, LoadAlbumScreenShotThumbnailImage, LoadAlbumScreenShotThumbnailImageEx, LoadAlbumScreenShotThumbnailImageEx0, LoadAlbumScreenShotThumbnailImageEx1, OpenAlbumMovieReadStream |
| + | The raw code can be read by caps:c 2501 and caps:a 50011, which themselves return the result code 0. |
| | | |
| == OpenAccessorSession == | | == OpenAccessorSession == |
Line 176: |
Line 181: |
| | 2002 || NotifyAlbumStorageIsUnavailable | | | 2002 || NotifyAlbumStorageIsUnavailable |
| |- | | |- |
− | | 2011 || [2.0.0+] RegisterAppletResourceUserId | + | | 2011 || [2.0.0+] [[#RegisterAppletResourceUserId]] |
| |- | | |- |
− | | 2012 || [2.0.0+] UnregisterAppletResourceUserId | + | | 2012 || [2.0.0+] [[#UnregisterAppletResourceUserId]] |
| |- | | |- |
− | | 2013 || [2.0.0+] GetApplicationIdFromAruid | + | | 2013 || [2.0.0+] [[#GetApplicationIdFromAruid]] |
| |- | | |- |
| | 2014 || [2.0.0+] CheckApplicationIdRegistered | | | 2014 || [2.0.0+] CheckApplicationIdRegistered |
Line 202: |
Line 207: |
| | 2401 || [19.0.0+] | | | 2401 || [19.0.0+] |
| |- | | |- |
− | | 2501 || [19.0.0+] | + | | 2501 || [19.0.0+] GetAlbumAccessResultForDebug |
| |- | | |- |
| | 60001 || [4.0.0+] [[#OpenControlSession]] | | | 60001 || [4.0.0+] [[#OpenControlSession]] |
Line 211: |
Line 216: |
| | | |
| This is used by [[Applet_Manager_services|caps:su]] SetShimLibraryVersion. | | This is used by [[Applet_Manager_services|caps:su]] SetShimLibraryVersion. |
| + | |
| + | === RegisterAppletResourceUserId === |
| + | Takes an input u64 and an u64. No output. |
| + | |
| + | [19.0.0+] The second u64 is now a 0x10-byte struct. |
| + | |
| + | === UnregisterAppletResourceUserId === |
| + | Takes an input u64 and an u64. No output. |
| + | |
| + | [19.0.0+] The second u64 is now a 0x10-byte struct. |
| + | |
| + | The struct is ignored. |
| + | |
| + | === GetApplicationIdFromAruid === |
| + | Takes a total of 8-bytes of input. Returns an u64. |
| + | |
| + | [19.0.0+] The output u64 is now a 0x10-byte struct. |
| | | |
| === GenerateCurrentAlbumFileId === | | === GenerateCurrentAlbumFileId === |
− | Takes an input u8 and u64, returns a 0x18-byte struct. | + | Takes an input u8 and an u64, returns a 0x18-byte struct. |
| + | |
| + | [19.0.0+] The input u64 is now a 0x10-byte struct. |
| | | |
| === OpenControlSession === | | === OpenControlSession === |
Line 458: |
Line 482: |
| |} | | |} |
| | | |
− | === AlbumReportOption ===
| + | = AlbumReportOption = |
| This is "nn::album::AlbumReportOption". | | This is "nn::album::AlbumReportOption". |
| | | |
Line 471: |
Line 495: |
| |} | | |} |
| | | |
− | === AlbumFileContents ===
| + | = AlbumFileContents = |
| This is "nn::capsrv::AlbumFileContents". | | This is "nn::capsrv::AlbumFileContents". |
| | | |
Line 486: |
Line 510: |
| |} | | |} |
| | | |
− | === AlbumStorage ===
| + | = AlbumStorage = |
| This is "nn::capsrv::AlbumStorage". | | This is "nn::capsrv::AlbumStorage". |
| | | |
Line 550: |
Line 574: |
| | 0x11 || 0x1 || [[#AlbumFileContents|Contents]] | | | 0x11 || 0x1 || [[#AlbumFileContents|Contents]] |
| |- | | |- |
− | | 0x12 || 0x6 || Reserved | + | | 0x12 || 0x1 || [19.0.0+] |
| + | |- |
| + | | 0x13 || 0x1 || [19.0.0+] |
| + | |- |
| + | | 0x14 || 0x4 || Reserved |
| |} | | |} |
| + | |
| + | [19.0.0+] [[#GenerateCurrentAlbumFileId|GenerateCurrentAlbumFileId]] copies the two u8s from instruct+0x8 to AlbumFileId+0x12. |
| | | |
| = AlbumFileEntry = | | = AlbumFileEntry = |