From 26876cec38b87481265af68351c12348994731e9 Mon Sep 17 00:00:00 2001 From: yellows8 Date: Sat, 7 Dec 2019 17:59:24 -0500 Subject: [PATCH] nacp: Updated field-name style to match rest of libnx. Added NacpSendReceiveConfiguration. Renamed version to display_version. Renamed reserved_x3141 to startup_user_account_option, and renamed reserved_x3142 to reserved_for_user_account_save_data_operation. Added fields send_data_configuration, receivable_data_configurations, jit_configuration_flag, and memory_size. --- nx/include/switch/nacp.h | 109 +++++++++++++++++++++------------------ 1 file changed, 60 insertions(+), 49 deletions(-) diff --git a/nx/include/switch/nacp.h b/nx/include/switch/nacp.h index a7308bce..4faffdc4 100644 --- a/nx/include/switch/nacp.h +++ b/nx/include/switch/nacp.h @@ -12,57 +12,68 @@ typedef struct { char author[0x100]; } NacpLanguageEntry; +/// Entry forSendDataConfiguration / ReceivableDataConfiguration. +typedef struct { + u64 id; + u8 key[0x10]; +} NacpSendReceiveConfiguration; + /// ns ApplicationControlProperty typedef struct { - NacpLanguageEntry lang[16]; - u8 isbn[0x25]; - u8 startupUserAccount; - u8 userAccountSwitchLock; - u8 addOnContentRegistrationType; - u32 applicationAttribute; - u32 supportedLanguages; - u32 parentalControl; - u8 screenshot; - u8 videoCaptureMode; - u8 dataLossConfirmation; - u8 playLogPolicy; - u64 presenceGroupId; - s8 ratingAge[0x20]; - char version[0x10]; - u64 addOnContentBaseId; - u64 saveDataOwnerId; - u64 userAccountSaveDataSize; - u64 userAccountSaveDataJournalSize; - u64 deviceSaveDataSize; - u64 deviceSaveDataJournalSize; - u64 bcatDeliveryCacheStorageSize; - u64 applicationErrorCodeCategory; - u64 localCommunicationIds[0x08]; - u8 logoType; - u8 logoHandling; - u8 runtimeAddOnContentInstall; - u8 reserved_x30F3[0x03]; - u8 crashReport; - u8 hdcp; - u64 pseudoDeviceIdSeed; - char bcatPassphrase[0x41]; - u8 reserved_x3141; - u8 reserved_x3142[0x06]; - u64 userAccountSaveDataMaxSize; - u64 userAccountSaveDataMaxJournalSize; - u64 deviceSaveDataMaxSize; - u64 deviceSaveDataMaxJournalSize; - u64 temporaryStorageSize; - u64 cacheStorageSize; - u64 cacheStorageJournalSize; - u64 cacheStorageAndJournalMaxSize; - u64 cacheStorageMaxIndex; - u64 playLogQueryableApplicationId[0x10]; - u8 playLogQueryCapability; - u8 repairFlag; - u8 programIndex; - u8 requiredNetworkServiceLicenseOnLaunch; - u8 reserved_x3214[0xDEC]; + NacpLanguageEntry lang[16]; ///< \ref NacpLanguageEntry + u8 isbn[0x25]; ///< Isbn + u8 startup_user_account; ///< StartupUserAccount + u8 user_account_switch_lock; ///< UserAccountSwitchLock + u8 add_on_content_registration_type; ///< AddOnContentRegistrationType + u32 application_attribute; ///< ApplicationAttribute + u32 supported_languages; ///< SupportedLanguages + u32 parental_control; ///< ParentalControl + u8 screenshot; ///< Screenshot + u8 video_capture_mode; ///< VideoCaptureMode + u8 data_loss_confirmation; ///< DataLossConfirmation + u8 play_log_policy; ///< PlayLogPolicy + u64 presence_group_id; ///< PresenceGroupId + s8 rating_age[0x20]; ///< RatingAge + char display_version[0x10]; ///< DisplayVersion + u64 add_on_content_base_id; ///< AddOnContentBaseId + u64 save_data_owner_id; ///< SaveDataOwnerId + u64 user_account_save_data_size; ///< UserAccountSaveDataSize + u64 user_account_save_data_journal_size; ///< UserAccountSaveDataJournalSize + u64 device_save_data_size; ///< DeviceSaveDataSize + u64 device_save_data_journal_size; ///< DeviceSaveDataJournalSize + u64 bcat_delivery_cache_storage_size; ///< BcatDeliveryCacheStorageSize + u64 application_error_code_category; ///< ApplicationErrorCodeCategory + u64 local_communication_ids[0x8]; ///< LocalCommunicationIds + u8 logo_type; ///< LogoType + u8 logo_handling; ///< LogoHandling + u8 runtime_add_on_content_install; ///< RuntimeAddOnContentInstall + u8 reserved_x30f3[0x3]; ///< Reserved + u8 crash_report; ///< CrashReport + u8 hdcp; ///< Hdcp + u64 pseudo_device_id_seed; ///< SeedForPseudoDeviceId + char bcat_passphrase[0x41]; ///< BcatPassphrase + u8 startup_user_account_option; ///< StartupUserAccountOption + u8 reserved_for_user_account_save_data_operation[0x6]; ///< ReservedForUserAccountSaveDataOperation + u64 user_account_save_data_max_size; ///< UserAccountSaveDataMaxSize + u64 user_account_save_data_max_journal_size; ///< UserAccountSaveDataMaxJournalSize + u64 device_save_data_max_size; ///< DeviceSaveDataMaxSize + u64 device_save_data_max_journal_size; ///< DeviceSaveDataMaxJournalSize + u64 temporary_storage_size; ///< TemporaryStorageSize + u64 cache_storage_size; ///< CacheStorageSize + u64 cache_storage_journal_size; ///< CacheStorageJournalSize + u64 cache_storage_and_journal_max_size; ///< CacheStorageMaxSizeAndMaxJournalSize + u64 cache_storage_max_index; ///< CacheStorageMaxIndex + u64 play_log_queryable_application_id[0x10]; ///< PlayLogQueryableApplicationId + u8 play_log_query_capability; ///< PlayLogQueryCapability + u8 repair_flag; ///< RepairFlag + u8 program_index; ///< ProgramIndex + u8 required_network_service_license_on_launch; ///< RequiredNetworkServiceLicenseOnLaunchFlag + u32 reserved_x3214; ///< Reserved + NacpSendReceiveConfiguration send_data_configuration; ///< SendDataConfiguration + NacpSendReceiveConfiguration receivable_data_configurations[0x10]; ///< ReceivableDataConfigurations + u64 jit_configuration_flag; ///< JitConfigurationFlag + u64 memory_size; ///< MemorySize + u8 reserved_x33c0[0xc40]; ///< Reserved } NacpStruct; /// Get the NacpLanguageEntry from the input nacp corresponding to the current system language (this may fallback to other languages when needed). Output langentry is NULL if none found / content of entry is empty.