capsc: Pass CapsApplicationId/u64 for input as required by sysver.

This commit is contained in:
yellows8 2024-11-24 15:48:35 -05:00
parent 58f1fc6561
commit 6c430b273a
No known key found for this signature in database
GPG Key ID: 0AF90DA3F1E60E43

View File

@ -57,22 +57,42 @@ Result capscNotifyAlbumStorageIsUnAvailable(CapsAlbumStorage storage) {
Result capscRegisterAppletResourceUserId(u64 appletResourceUserId, const CapsApplicationId *application_id) { Result capscRegisterAppletResourceUserId(u64 appletResourceUserId, const CapsApplicationId *application_id) {
if (hosversionBefore(2,0,0)) if (hosversionBefore(2,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
if (hosversionAtLeast(19,0,0)) {
const struct { const struct {
u64 appletResourceUserId; u64 appletResourceUserId;
CapsApplicationId applicationId; CapsApplicationId applicationId;
} in = { appletResourceUserId, *application_id }; } in = { appletResourceUserId, *application_id };
return serviceDispatchIn(&g_capscSrv, 2011, in); return serviceDispatchIn(&g_capscSrv, 2011, in);
} }
else {
const struct {
u64 appletResourceUserId;
u64 applicationId;
} in = { appletResourceUserId, application_id->application_id };
return serviceDispatchIn(&g_capscSrv, 2011, in);
}
}
Result capscUnregisterAppletResourceUserId(u64 appletResourceUserId, const CapsApplicationId *application_id) { Result capscUnregisterAppletResourceUserId(u64 appletResourceUserId, const CapsApplicationId *application_id) {
if (hosversionBefore(2,0,0)) if (hosversionBefore(2,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
if (hosversionAtLeast(19,0,0)) {
const struct { const struct {
u64 appletResourceUserId; u64 appletResourceUserId;
CapsApplicationId applicationId; CapsApplicationId applicationId;
} in = { appletResourceUserId, *application_id }; } in = { appletResourceUserId, *application_id };
return serviceDispatchIn(&g_capscSrv, 2012, in); return serviceDispatchIn(&g_capscSrv, 2012, in);
} }
else {
const struct {
u64 appletResourceUserId;
u64 applicationId;
} in = { appletResourceUserId, application_id->application_id };
return serviceDispatchIn(&g_capscSrv, 2012, in);
}
}
Result capscGetApplicationIdFromAruid(CapsApplicationId *application_id, u64 aruid) { Result capscGetApplicationIdFromAruid(CapsApplicationId *application_id, u64 aruid) {
if (hosversionBefore(2,0,0)) if (hosversionBefore(2,0,0))
@ -93,12 +113,22 @@ Result capscCheckApplicationIdRegistered(u64 application_id) {
Result capscGenerateCurrentAlbumFileId(const CapsApplicationId *application_id, CapsAlbumFileContents contents, CapsAlbumFileId *file_id) { Result capscGenerateCurrentAlbumFileId(const CapsApplicationId *application_id, CapsAlbumFileContents contents, CapsAlbumFileId *file_id) {
if (hosversionBefore(2,0,0)) if (hosversionBefore(2,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
if (hosversionAtLeast(19,0,0)) {
const struct { const struct {
u8 type; u8 type;
CapsApplicationId applicationId; CapsApplicationId applicationId;
} in = { contents, *application_id }; } in = { contents, *application_id };
return serviceDispatchInOut(&g_capscSrv, 2101, in, *file_id); return serviceDispatchInOut(&g_capscSrv, 2101, in, *file_id);
} }
else {
const struct {
u8 type;
u64 applicationId;
} in = { contents, application_id->application_id };
return serviceDispatchInOut(&g_capscSrv, 2101, in, *file_id);
}
}
Result capscGenerateApplicationAlbumEntry(CapsApplicationAlbumEntry *appEntry, const CapsAlbumEntry *entry, u64 application_id) { Result capscGenerateApplicationAlbumEntry(CapsApplicationAlbumEntry *appEntry, const CapsAlbumEntry *entry, u64 application_id) {
if (hosversionBefore(2,0,0)) if (hosversionBefore(2,0,0))