update comments and pass const pointers

This commit is contained in:
HookedBehemoth 2020-01-09 20:12:14 +01:00
parent 01199f43b2
commit 750d4bc936
3 changed files with 41 additions and 36 deletions

View File

@ -23,8 +23,8 @@ typedef enum {
} AlbumReportOption; } AlbumReportOption;
typedef enum { typedef enum {
CapsAlbumStorage_Nand = 0, ///< BuiltInUser CapsAlbumStorage_Nand = 0, ///< Nand
CapsAlbumStorage_Sd = 1, ///< SdCard CapsAlbumStorage_Sd = 1, ///< Sd
} CapsAlbumStorage; } CapsAlbumStorage;
/// ContentType /// ContentType
@ -83,15 +83,15 @@ typedef struct {
typedef struct { typedef struct {
u64 application_id; ///< ApplicationId u64 application_id; ///< ApplicationId
CapsAlbumFileDateTime datetime; ///< \ref CapsAlbumFileDateTime CapsAlbumFileDateTime datetime; ///< \ref CapsAlbumFileDateTime
u8 storage; ///< AlbumStorage u8 storage; ///< \ref CapsAlbumStorage
u8 content; ///< FileContentsType u8 content; ///< \ref CapsAlbumFileContents
u32 pad_x12; ///< Set to 0 by official software u32 pad_x12; ///< Set to 0 by official software
u16 pad_x16; ///< Set to 0 by official software u16 pad_x16; ///< Set to 0 by official software
} PACKED CapsAlbumFileId; } PACKED CapsAlbumFileId;
/// AlbumEntry /// AlbumEntry
typedef struct { typedef struct {
u64 size; ///< Unknown. u64 size; ///< Size.
CapsAlbumFileId file_id; ///< \ref CapsAlbumFileId CapsAlbumFileId file_id; ///< \ref CapsAlbumFileId
} CapsAlbumEntry; } CapsAlbumEntry;
@ -126,6 +126,7 @@ typedef struct {
u32 size; ///< UserData size. u32 size; ///< UserData size.
} CapsApplicationData; } CapsApplicationData;
/// AlbumFileContents
typedef enum { typedef enum {
CapsAlbumFileContents_ScreenShot = 0, CapsAlbumFileContents_ScreenShot = 0,
CapsAlbumFileContents_Movie = 1, CapsAlbumFileContents_Movie = 1,

View File

@ -17,21 +17,22 @@ void capsaExit(void);
/// Gets the Service for caps:a. /// Gets the Service for caps:a.
Service* capsaGetServiceSession(void); Service* capsaGetServiceSession(void);
Result capsaGetAlbumFileCount(CapsAlbumStorage storage, u64* count); Result capsaGetAlbumFileCount(CapsAlbumStorage storage, u64* count);
Result capsaGetAlbumFileList(CapsAlbumStorage storage, u64* count, CapsAlbumEntry* buffer, u64 size); Result capsaGetAlbumFileList(CapsAlbumStorage storage, u64* count, CapsAlbumEntry* buffer, u64 size);
Result capsaLoadAlbumFile(CapsAlbumFileId file_id, u64 *out_size, void* workbuf, u64 workbuf_size); Result capsaLoadAlbumFile(const CapsAlbumFileId *file_id, u64 *out_size, void* workbuf, u64 workbuf_size);
Result capsaDeleteAlbumFile(CapsAlbumFileId file_id); Result capsaDeleteAlbumFile(const CapsAlbumFileId *file_id);
Result capsaStorageCopyAlbumFile(CapsAlbumFileId file_id, CapsAlbumStorage dst_storage); Result capsaStorageCopyAlbumFile(const CapsAlbumFileId *file_id, CapsAlbumStorage dst_storage);
Result capsaIsAlbumMounted(CapsAlbumStorage storage, bool* is_mounted); Result capsaIsAlbumMounted(CapsAlbumStorage storage, bool* is_mounted);
Result capsaGetAlbumUsage(CapsAlbumStorage storage, CapsAlbumUsage2 *out); Result capsaGetAlbumUsage(CapsAlbumStorage storage, CapsAlbumUsage2 *out);
Result capsaGetAlbumFileSize(CapsAlbumFileId file_id, u64* size); Result capsaGetAlbumFileSize(const CapsAlbumFileId *file_id, u64* size);
Result capsaLoadAlbumFileThumbnail(CapsAlbumFileId file_id, u64 *out_size, void* workbuf, u64 workbuf_size); Result capsaLoadAlbumFileThumbnail(const CapsAlbumFileId *file_id, u64 *out_size, void* workbuf, u64 workbuf_size);
/// Only available on [2.0.0+]. /// Only available on [2.0.0+].
Result capsaLoadAlbumScreenShotImage(u64* width, u64* height, CapsAlbumFileId file_id, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size); Result capsaLoadAlbumScreenShotImage(u64* width, u64* height, const CapsAlbumFileId *file_id, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size);
Result capsaLoadAlbumScreenShotThumbnailImage(u64* width, u64* height, CapsAlbumFileId file_id, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size); Result capsaLoadAlbumScreenShotThumbnailImage(u64* width, u64* height, const CapsAlbumFileId *file_id, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size);
/// Only available on [3.0.0+]. /// Only available on [3.0.0+].
Result capsaLoadAlbumScreenShotImageEx(u64* width, u64* height, CapsAlbumFileId file_id, CapsScreenShotDecodeOption opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size); Result capsaLoadAlbumScreenShotImageEx(u64* width, u64* height, const CapsAlbumFileId *file_id, const CapsScreenShotDecodeOption *opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size);
Result capsaLoadAlbumScreenShotThumbnailImageEx(u64* width, u64* height, CapsAlbumFileId file_id, CapsScreenShotDecodeOption opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size); Result capsaLoadAlbumScreenShotThumbnailImageEx(u64* width, u64* height, const CapsAlbumFileId *file_id, const CapsScreenShotDecodeOption *opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size);
/// Only available on [4.0.0+]. /// Only available on [4.0.0+].
Result capsaGetAlbumUsage3(CapsAlbumStorage storage, CapsAlbumUsage3 *out); Result capsaGetAlbumUsage3(CapsAlbumStorage storage, CapsAlbumUsage3 *out);
Result capsaGetAlbumMountResult(CapsAlbumStorage storage); Result capsaGetAlbumMountResult(CapsAlbumStorage storage);
@ -40,7 +41,7 @@ Result capsaGetAlbumUsage16(CapsAlbumStorage storage, CapsAlbumUsage16 *out);
Result capsaGetAutoSavingStorage(CapsAlbumStorage* storage); Result capsaGetAutoSavingStorage(CapsAlbumStorage* storage);
Result capsaGetRequiredStorageSpaceSizeToCopyAll(CapsAlbumStorage dst_storage, CapsAlbumStorage src_storage, u64* out); Result capsaGetRequiredStorageSpaceSizeToCopyAll(CapsAlbumStorage dst_storage, CapsAlbumStorage src_storage, u64* out);
/// Only available on [4.0.0+]. /// Only available on [4.0.0+].
Result capsaLoadAlbumScreenShotThumbnailImageEx1(CapsAlbumFileId file_id, CapsScreenShotDecodeOption opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size, void* out, u64 out_size); Result capsaLoadAlbumScreenShotThumbnailImageEx1(const CapsAlbumFileId *file_id, const CapsScreenShotDecodeOption *opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size, void* out, u64 out_size);
Result capsaForceAlbumUnmounted(CapsAlbumStorage storage); Result capsaForceAlbumUnmounted(CapsAlbumStorage storage);
Result capsaResetAlbumMountStatus(CapsAlbumStorage storage); Result capsaResetAlbumMountStatus(CapsAlbumStorage storage);

View File

@ -39,23 +39,23 @@ Result capsaGetAlbumFileList(CapsAlbumStorage storage, u64* count, CapsAlbumEntr
); );
} }
Result capsaLoadAlbumFile(CapsAlbumFileId file_id, u64 *out_size, void* workbuf, u64 workbuf_size) { Result capsaLoadAlbumFile(const CapsAlbumFileId *file_id, u64 *out_size, void* workbuf, u64 workbuf_size) {
return serviceDispatchInOut(&g_capsaSrv, 2, file_id, *out_size, return serviceDispatchInOut(&g_capsaSrv, 2, *file_id, *out_size,
.buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out },
.buffers = { { workbuf, workbuf_size } }, .buffers = { { workbuf, workbuf_size } },
); );
} }
Result capsaDeleteAlbumFile(CapsAlbumFileId file_id) { Result capsaDeleteAlbumFile(const CapsAlbumFileId *file_id) {
return serviceDispatchIn(&g_capsaSrv, 3, file_id); return serviceDispatchIn(&g_capsaSrv, 3, *file_id);
} }
Result capsaStorageCopyAlbumFile(CapsAlbumFileId file_id, CapsAlbumStorage dst_storage) { Result capsaStorageCopyAlbumFile(const CapsAlbumFileId* file_id, CapsAlbumStorage dst_storage) {
struct { struct {
u8 storage; u8 storage;
u8 pad_x1[0x7]; u8 pad_x1[0x7];
CapsAlbumFileId file_id; CapsAlbumFileId file_id;
} in = { dst_storage, {0}, file_id }; } in = { dst_storage, {0}, *file_id };
return serviceDispatchIn(&g_capsaSrv, 4, in); return serviceDispatchIn(&g_capsaSrv, 4, in);
} }
@ -69,25 +69,25 @@ Result capsaGetAlbumUsage(CapsAlbumStorage storage, CapsAlbumUsage2 *out) {
return serviceDispatchInOut(&g_capsaSrv, 6, inval, *out); return serviceDispatchInOut(&g_capsaSrv, 6, inval, *out);
} }
Result capsaGetAlbumFileSize(CapsAlbumFileId file_id, u64* size) { Result capsaGetAlbumFileSize(const CapsAlbumFileId *file_id, u64* size) {
return serviceDispatchInOut(&g_capsaSrv, 7, file_id, *size); return serviceDispatchInOut(&g_capsaSrv, 7, *file_id, *size);
} }
Result capsaLoadAlbumFileThumbnail(CapsAlbumFileId file_id, u64 *out_size, void* workbuf, u64 workbuf_size) { Result capsaLoadAlbumFileThumbnail(const CapsAlbumFileId *file_id, u64 *out_size, void* workbuf, u64 workbuf_size) {
return serviceDispatchInOut(&g_capsaSrv, 8, file_id, *out_size, return serviceDispatchInOut(&g_capsaSrv, 8, *file_id, *out_size,
.buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out },
.buffers = { { workbuf, workbuf_size } }, .buffers = { { workbuf, workbuf_size } },
); );
} }
static Result _capsaLoadAlbumScreenshot(u64* width, u64* height, CapsAlbumFileId file_id, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size, u32 cmd_id) { static Result _capsaLoadAlbumScreenshot(u64* width, u64* height, const CapsAlbumFileId *file_id, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size, u32 cmd_id) {
if (hosversionBefore(2,0,0)) if (hosversionBefore(2,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
struct { struct {
u64 width; u64 width;
u64 height; u64 height;
} out; } out;
Result rc = serviceDispatchInOut(&g_capsaSrv, cmd_id, file_id, out, Result rc = serviceDispatchInOut(&g_capsaSrv, cmd_id, *file_id, out,
.buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out | SfBufferAttr_HipcMapTransferAllowsNonSecure, SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out | SfBufferAttr_HipcMapTransferAllowsNonSecure, SfBufferAttr_HipcMapAlias | SfBufferAttr_Out },
.buffers = { { rawbuf, rawbuf_size }, { workbuf, workbuf_size } }, .buffers = { { rawbuf, rawbuf_size }, { workbuf, workbuf_size } },
); );
@ -96,21 +96,21 @@ static Result _capsaLoadAlbumScreenshot(u64* width, u64* height, CapsAlbumFileId
return rc; return rc;
} }
Result capsaLoadAlbumScreenShotImage(u64* width, u64* height, CapsAlbumFileId file_id, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size) { Result capsaLoadAlbumScreenShotImage(u64* width, u64* height, const CapsAlbumFileId *file_id, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size) {
return _capsaLoadAlbumScreenshot(width, height, file_id, workbuf, workbuf_size, rawbuf, rawbuf_size, 9); return _capsaLoadAlbumScreenshot(width, height, file_id, workbuf, workbuf_size, rawbuf, rawbuf_size, 9);
} }
Result capsaLoadAlbumScreenShotThumbnailImage(u64* width, u64* height, CapsAlbumFileId file_id, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size) { Result capsaLoadAlbumScreenShotThumbnailImage(u64* width, u64* height, const CapsAlbumFileId *file_id, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size) {
return _capsaLoadAlbumScreenshot(width, height, file_id, workbuf, workbuf_size, rawbuf, rawbuf_size, 10); return _capsaLoadAlbumScreenshot(width, height, file_id, workbuf, workbuf_size, rawbuf, rawbuf_size, 10);
} }
static Result _capsaLoadAlbumScreenshotEx(u64* width, u64* height, CapsAlbumFileId file_id, CapsScreenShotDecodeOption opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size, u32 cmd_id) { static Result _capsaLoadAlbumScreenshotEx(u64* width, u64* height, const CapsAlbumFileId *file_id, const CapsScreenShotDecodeOption *opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size, u32 cmd_id) {
if (hosversionBefore(3,0,0)) if (hosversionBefore(3,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
struct { struct {
CapsAlbumFileId file_id; CapsAlbumFileId file_id;
CapsScreenShotDecodeOption opts; CapsScreenShotDecodeOption opts;
} in = { file_id, opts }; } in = { *file_id, *opts };
struct { struct {
u64 width; u64 width;
u64 height; u64 height;
@ -124,11 +124,11 @@ static Result _capsaLoadAlbumScreenshotEx(u64* width, u64* height, CapsAlbumFile
return rc; return rc;
} }
Result capsaLoadAlbumScreenShotImageEx(u64* width, u64* height, CapsAlbumFileId file_id, CapsScreenShotDecodeOption opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size) { Result capsaLoadAlbumScreenShotImageEx(u64* width, u64* height, const CapsAlbumFileId *file_id, const CapsScreenShotDecodeOption *opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size) {
return _capsaLoadAlbumScreenshotEx(width, height, file_id, opts, workbuf, workbuf_size, rawbuf, rawbuf_size, 12); return _capsaLoadAlbumScreenshotEx(width, height, file_id, opts, workbuf, workbuf_size, rawbuf, rawbuf_size, 12);
} }
Result capsaLoadAlbumScreenShotThumbnailImageEx(u64* width, u64* height, CapsAlbumFileId file_id, CapsScreenShotDecodeOption opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size) { Result capsaLoadAlbumScreenShotThumbnailImageEx(u64* width, u64* height, const CapsAlbumFileId *file_id, const CapsScreenShotDecodeOption *opts, void* workbuf, u64 workbuf_size, void* rawbuf, u64 rawbuf_size) {
return _capsaLoadAlbumScreenshotEx(width, height, file_id, opts, workbuf, workbuf_size, rawbuf, rawbuf_size, 13); return _capsaLoadAlbumScreenshotEx(width, height, file_id, opts, workbuf, workbuf_size, rawbuf, rawbuf_size, 13);
} }
@ -153,7 +153,10 @@ Result capsaGetAlbumUsage16(CapsAlbumStorage storage, CapsAlbumUsage16 *out) {
} }
Result capsaGetAutoSavingStorage(CapsAlbumStorage* storage) { Result capsaGetAutoSavingStorage(CapsAlbumStorage* storage) {
return serviceDispatchOut(&g_capsaSrv, 401, *storage); u8 tmpval = 0;
Result rc = serviceDispatchOut(&g_capsaSrv, 401, tmpval);
*storage = tmpval;
return rc;
} }
Result capsaGetRequiredStorageSpaceSizeToCopyAll(CapsAlbumStorage dst_storage, CapsAlbumStorage src_storage, u64* out) { Result capsaGetRequiredStorageSpaceSizeToCopyAll(CapsAlbumStorage dst_storage, CapsAlbumStorage src_storage, u64* out) {
@ -164,13 +167,13 @@ Result capsaGetRequiredStorageSpaceSizeToCopyAll(CapsAlbumStorage dst_storage, C
return serviceDispatchInOut(&g_capsaSrv, 501, in, *out); return serviceDispatchInOut(&g_capsaSrv, 501, in, *out);
} }
Result capsaLoadAlbumScreenShotThumbnailImageEx1(CapsAlbumFileId file_id, CapsScreenShotDecodeOption opts, void* work_buffer, u64 work_buffer_size, void* raw_buffer, u64 raw_buffer_size, void* out, u64 out_size) { Result capsaLoadAlbumScreenShotThumbnailImageEx1(const CapsAlbumFileId *file_id, const CapsScreenShotDecodeOption *opts, void* work_buffer, u64 work_buffer_size, void* raw_buffer, u64 raw_buffer_size, void* out, u64 out_size) {
if (hosversionBefore(4,0,0)) if (hosversionBefore(4,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
struct { struct {
CapsAlbumFileId file_id; CapsAlbumFileId file_id;
CapsScreenShotDecodeOption opts; CapsScreenShotDecodeOption opts;
} in = { file_id, opts }; } in = { *file_id, *opts };
return serviceDispatchIn(&g_capsaSrv, 1003, in, return serviceDispatchIn(&g_capsaSrv, 1003, in,
.buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out | SfBufferAttr_FixedSize, SfBufferAttr_HipcMapAlias | SfBufferAttr_Out | SfBufferAttr_HipcMapTransferAllowsNonSecure, SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out | SfBufferAttr_FixedSize, SfBufferAttr_HipcMapAlias | SfBufferAttr_Out | SfBufferAttr_HipcMapTransferAllowsNonSecure, SfBufferAttr_HipcMapAlias | SfBufferAttr_Out },
.buffers = { { out, out_size }, { raw_buffer, raw_buffer_size }, { work_buffer, work_buffer_size } }, .buffers = { { out, out_size }, { raw_buffer, raw_buffer_size }, { work_buffer, work_buffer_size } },