diff --git a/lib/libnx/include/nx/nacp.h b/lib/libnx/include/nx/nacp.h index fc0a813..7eddd79 100644 --- a/lib/libnx/include/nx/nacp.h +++ b/lib/libnx/include/nx/nacp.h @@ -7,130 +7,138 @@ namespace nx { namespace nacp { - enum AddOnContentRegistrationTypeValue + enum AocRegistrationType { AOC_AllOnLaunch, AOC_OnDemand }; - enum AttributeFlagValue + enum AttributeFlag { ATTR_None, ATTR_Demo, ATTR_RetailInteractiveDisplay }; - enum CrashReportValue + enum CrashReportMode { CREP_Deny, CREP_Allow }; - enum DataLossConfirmationValue + enum DataLossConfirmation { DLOSS_None, DLOSS_Required }; - enum HdcpValue + enum Hdcp { HDCP_None, HDCP_Required - } - - enum Langauge - { - AmericanEnglish, - BritishEnglish, - Japanese, - French, - German, - LatinAmericanSpanish, - Spanish, - Italian, - Dutch, - CanadianFrench, - Portuguese, - Russian, - Korean, - TraditionalChinese, - SimplifiedChinese }; - enum LogoHandlingValue + enum Language + { + LANG_AmericanEnglish, + LANG_BritishEnglish, + LANG_Japanese, + LANG_French, + LANG_German, + LANG_LatinAmericanSpanish, + LANG_Spanish, + LANG_Italian, + LANG_Dutch, + LANG_CanadianFrench, + LANG_Portuguese, + LANG_Russian, + LANG_Korean, + LANG_TraditionalChinese, + LANG_SimplifiedChinese + }; + + enum LogoHandling { LHND_Auto, LHND_None }; - enum LogoTypeValue + enum LogoType { LOGO_LicensedByNintendo, - LOGO_Nintendo = 2 + LOGO_DistributedByNintendo, + LOGO_Nintendo }; enum Organisation { - CERO, - GRACGCRB, - GSRMR, - ESRB, - ClassInd, - USK, - PEGI, - PEGIPortugal, - PEGIBBFC, - Russian, - ACB, - OFLC + ORGN_CERO, + ORGN_GRACGCRB, + ORGN_GSRMR, + ORGN_ESRB, + ORGN_ClassInd, + ORGN_USK, + ORGN_PEGI, + ORGN_PEGIPortugal, + ORGN_PEGIBBFC, + ORGN_Russian, + ORGN_ACB, + ORGN_OFLC }; - enum ParentalControlFlagValue + enum ParentalControlFlag { PC_None, PC_FreeCommunication }; - enum PlayLogPolicyValue + enum PlayLogPolicy { PLP_All, PLP_LogOnly, PLP_None }; - enum PlayLogQueryCapabilityValue + enum PlayLogQueryCapability { PLQC_None, PLQC_Whitelist, PLQC_All }; - enum RepairFlagValue + enum RepairFlag { REPF_None, REPF_SuppressGameCardAccess }; - enum RuntimeAddOnContentInstallValue + enum RuntimeAocInstallMode { RTAOC_Deny, RTAOC_AllowAppend }; - enum ScreenshotValue + enum ScreenshotMode { SCRN_Allow, SCRN_Deny }; - enum StartupUserAccountValue + enum StartupUserAccount { USER_None, USER_Required, USER_RequiredWithNetworkServiceAccountAvailable }; - enum VideoCaptureValue + enum TouchScreenUsageMode + { + TOUCH_None, + TOUCH_Supported, + TOUCH_Required, + }; + + enum VideoCaptureMode { VCAP_Disable, VCAP_Manual, @@ -146,8 +154,8 @@ namespace nx static const size_t kApplicationErrorCodeCategoryLength = 8; static const size_t kLocalCommunicationIdCount = 8; static const size_t kBcatPassphraseLength = 65; - static const size_t kReservedForUserAccountSaveDataOperationLength = 6; static const size_t kPlayLogQueryableApplicationIdCount = 16; + static const int8_t kUnusedAgeRating = -1; } @@ -156,14 +164,14 @@ namespace nx { char name[nacp::kNameLength]; char publisher[nacp::kPublisherLength]; - } + }; struct sApplicationControlProperty { sApplicationTitle title[nacp::kMaxLanguageCount]; - byte_t isbn[nacp::kIsbnLength] + char isbn[nacp::kIsbnLength]; byte_t startup_user_account; - byte_t reserved_00; + byte_t touch_screen_usage; byte_t add_on_content_registration_type; le_uint32_t attribute_flag; le_uint32_t supported_language_flag; @@ -182,18 +190,18 @@ namespace nx le_uint64_t device_save_data_size; le_uint64_t device_save_data_journal_size; le_uint64_t bcat_delivery_cache_storage_size; - byte_t application_error_code_category[nacp::kApplicationErrorCodeCategoryLength]; + char application_error_code_category[nacp::kApplicationErrorCodeCategoryLength]; le_uint64_t local_communication_id[nacp::kLocalCommunicationIdCount]; byte_t logo_type; byte_t logo_handling; byte_t runtime_add_on_content_install; - byte_t reserved_01[3]; + byte_t reserved_00[3]; byte_t crash_report; byte_t hdcp; le_uint64_t seed_for_pseudo_device_id; - byte_t bcat_passphrase[nacp::kBcatPassphraseLength]; - byte_t reserved_02; - byte_t reserved_for_user_account_save_data_operation[nacp::kReservedForUserAccountSaveDataOperationLength]; + char bcat_passphrase[nacp::kBcatPassphraseLength]; + byte_t reserved_01; + byte_t reserved_02[6]; //reserved_for_user_account_save_data_operation le_uint64_t user_account_save_data_size_max; le_uint64_t user_account_save_data_journal_size_max; le_uint64_t device_save_data_size_max; @@ -203,11 +211,12 @@ namespace nx le_uint64_t cache_storage_journal_size; le_uint64_t cache_storage_data_and_journal_size_max; le_uint16_t cache_storage_index; - le_uint64_t play_log_queryable_application_id[kPlayLogQueryableApplicationIdCount]; + byte_t reserved_03[6]; + le_uint64_t play_log_queryable_application_id[nacp::kPlayLogQueryableApplicationIdCount]; byte_t play_log_query_capability; byte_t repair_flag; byte_t program_index; - byte_t reserved_03[0xDED]; + byte_t reserved_04[0xDED]; }; #pragma pack(pop) } \ No newline at end of file