caps: fix incompatible calls

This commit is contained in:
HookedBehemoth 2020-01-27 10:33:36 +01:00 committed by HookedBehemoth
parent 3dcb5a24d7
commit ebbab03838
3 changed files with 17 additions and 7 deletions

View File

@ -187,9 +187,10 @@ Result capsaGetAlbumMountResult(CapsAlbumStorage storage);
* @brief Returns the AlbumUsage for a specified \ref CapsAlbumStorage. * @brief Returns the AlbumUsage for a specified \ref CapsAlbumStorage.
* @note Only available on [4.0.0+]. * @note Only available on [4.0.0+].
* @param[in] storage \ref CapsAlbumStorage * @param[in] storage \ref CapsAlbumStorage
* @param[in] flags \ref CapsAlbumFileContentsFlag
* @param[out] out \ref CapsAlbumUsage16 * @param[out] out \ref CapsAlbumUsage16
*/ */
Result capsaGetAlbumUsage16(CapsAlbumStorage storage, CapsAlbumUsage16 *out); Result capsaGetAlbumUsage16(CapsAlbumStorage storage, u8 flags, CapsAlbumUsage16 *out);
/** /**
* @brief Returns the start and end of the Applet Id range. * @brief Returns the start and end of the Applet Id range.

View File

@ -47,7 +47,7 @@ Result capscStartAlbumMovieWriteStreamMetaSection(u64 stream);
Result capscEndAlbumMovieWriteStreamMetaSection(u64 stream); Result capscEndAlbumMovieWriteStreamMetaSection(u64 stream);
Result capscReadDataFromAlbumMovieWriteStream(u64 stream, u64 offset, void* buffer, u64 size, u64 *actual_size); Result capscReadDataFromAlbumMovieWriteStream(u64 stream, u64 offset, void* buffer, u64 size, u64 *actual_size);
Result capscWriteDataToAlbumMovieWriteStream(u64 stream, u64 offset, void* buffer, u64 size); Result capscWriteDataToAlbumMovieWriteStream(u64 stream, u64 offset, void* buffer, u64 size);
Result capscWriteMetaToAlbumMovieWriteStream(); Result capscWriteMetaToAlbumMovieWriteStream(u64 stream, u64 offset, void* buffer, u64 size);
Result capscGetAlbumMovieWriteStreamBrokenReason(u64 stream); Result capscGetAlbumMovieWriteStreamBrokenReason(u64 stream);
Result capscGetAlbumMovieWriteStreamDataSize(u64 stream, u64 *size); Result capscGetAlbumMovieWriteStreamDataSize(u64 stream, u64 *size);
Result capscSetAlbumMovieWriteStreamDataSize(u64 stream, u64 size); Result capscSetAlbumMovieWriteStreamDataSize(u64 stream, u64 size);

View File

@ -193,11 +193,19 @@ Result capsaGetAlbumMountResult(CapsAlbumStorage storage) {
return _capsaCmdInU8NoOut(&g_capsaSrv, storage, 16); return _capsaCmdInU8NoOut(&g_capsaSrv, storage, 16);
} }
Result capsaGetAlbumUsage16(CapsAlbumStorage storage, CapsAlbumUsage16 *out) { Result capsaGetAlbumUsage16(CapsAlbumStorage storage, u8 flags, CapsAlbumUsage16 *out) {
if (hosversionBefore(4,0,0)) if (hosversionBefore(4,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
u8 inval = storage; struct {
return serviceDispatchInOut(&g_capsaSrv, 17, inval, *out); u8 storage;
u8 pad_x1[7];
u8 flags;
u8 pad_x9[7];
} in = { storage, {0}, flags, {0} };
return serviceDispatchIn(&g_capsaSrv, 17, in,
.buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out | SfBufferAttr_FixedSize, },
.buffers = { { out, sizeof(CapsAlbumUsage16) } },
);
} }
Result capsaGetMinMaxAppletId(bool *success, u64* min, u64* max) { Result capsaGetMinMaxAppletId(bool *success, u64* min, u64* max) {
@ -238,7 +246,7 @@ Result capsaGetAlbumFileListEx0(CapsAlbumStorage storage, u8 flags, u64 *out, Ca
struct { struct {
u8 storage; u8 storage;
u8 pad_x1[7]; u8 pad_x1[7];
u8 contents; u8 flags;
u8 pad_x9[7]; u8 pad_x9[7];
} in = { storage, {0}, flags, {0} }; } in = { storage, {0}, flags, {0} };
return serviceDispatchInOut(&g_capsaSrv, 101, in, *out, return serviceDispatchInOut(&g_capsaSrv, 101, in, *out,
@ -319,7 +327,8 @@ Result capsaRefreshAlbumCache(CapsAlbumStorage storage) {
} }
Result capsaGetAlbumCache(CapsAlbumStorage storage, CapsAlbumCache *cache) { Result capsaGetAlbumCache(CapsAlbumStorage storage, CapsAlbumCache *cache) {
return serviceDispatchInOut(&g_capsaSrv, 8012, storage, *cache); u8 inval = storage;
return serviceDispatchInOut(&g_capsaSrv, 8012, inval, *cache);
} }
Result capsaGetAlbumCacheEx(CapsAlbumStorage storage, CapsAlbumFileContents contents, CapsAlbumCache *cache) { Result capsaGetAlbumCacheEx(CapsAlbumStorage storage, CapsAlbumFileContents contents, CapsAlbumCache *cache) {