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.
* @note Only available on [4.0.0+].
* @param[in] storage \ref CapsAlbumStorage
* @param[in] flags \ref CapsAlbumFileContentsFlag
* @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.

View File

@ -47,7 +47,7 @@ Result capscStartAlbumMovieWriteStreamMetaSection(u64 stream);
Result capscEndAlbumMovieWriteStreamMetaSection(u64 stream);
Result capscReadDataFromAlbumMovieWriteStream(u64 stream, u64 offset, void* buffer, u64 size, u64 *actual_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 capscGetAlbumMovieWriteStreamDataSize(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);
}
Result capsaGetAlbumUsage16(CapsAlbumStorage storage, CapsAlbumUsage16 *out) {
Result capsaGetAlbumUsage16(CapsAlbumStorage storage, u8 flags, CapsAlbumUsage16 *out) {
if (hosversionBefore(4,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
u8 inval = storage;
return serviceDispatchInOut(&g_capsaSrv, 17, inval, *out);
struct {
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) {
@ -238,7 +246,7 @@ Result capsaGetAlbumFileListEx0(CapsAlbumStorage storage, u8 flags, u64 *out, Ca
struct {
u8 storage;
u8 pad_x1[7];
u8 contents;
u8 flags;
u8 pad_x9[7];
} in = { storage, {0}, flags, {0} };
return serviceDispatchInOut(&g_capsaSrv, 101, in, *out,
@ -319,7 +327,8 @@ Result capsaRefreshAlbumCache(CapsAlbumStorage storage) {
}
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) {