/*---------------------------------------------------------------------------* Project: Horizon File: fs_Result.h Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd., and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. $Rev: 25924 $ *---------------------------------------------------------------------------*/ #ifndef NN_FS_FS_RESULT_H_ #define NN_FS_FS_RESULT_H_ #ifdef __cplusplus #include namespace nn { namespace fs { enum Description { DESCRIPTION_INVALID_POSITION_BASE, DESCRIPTION_ARCHIVE_NOT_FOUND, DESCRIPTION_FAILED_OPEN_FILE, DESCRIPTION_UNSUPPORTED_OPERATION, DESCRIPTION_INVALID_PATH_FORMAT, DESCRIPTION_ACCESS_DENIED, DESCRIPTION_LIBRARY_NOT_INITIALIZED, DESCRIPTION_INVALID_POSITION, DESCRIPTION_TOO_LONG_PATH, DESCRIPTION_NOT_DEVELOPMENT_ID, DESCRIPTION_HASH_MISMATCH, DESCRIPTION_NO_SUCH_PROCESS_REGISTERED, DESCRIPTION_INVALID_CXI_FORMAT, DESCRIPTION_UNSUPPORTED_ALIGNMENT, DESCRIPTION_REQUEST_RETRY, DESCRIPTION_FAILED_VERIFY_SIGN, DESCRIPTION_INVALID_KEY_TYPE, DESCRIPTION_UNSUPPORTED_MEDIA, DESCRIPTION_INVALID_CCI_FORMAT, DESCRIPTION_NOT_FORMATTED, DESCRIPTION_OUT_OF_BOUNDS, DESCRIPTION_NO_SUCH_EXEFS_SECTION, DESCRIPTION_PROGRAM_NOT_FOUND, DESCRIPTION_SYSTEMMENUDATA_NOT_FOUND, DESCRIPTION_BANNERDATA_NOT_FOUND, DESCRIPTION_LOGODATA_NOT_FOUND, DESCRIPTION_FAT_BAD_FORMAT, // FATフォーマット不正 DESCRIPTION_FAT_NOT_FOUND, // 指定されたパスが存在しない DESCRIPTION_FAT_ALREADY_EXIST, // 指定されたパスが既に存在している DESCRIPTION_FAT_BROKEN_ENTRY, // 指定されたパスの対象が壊れている DESCRIPTION_FAT_STORAGE_FULL, // デバイスの容量不足 DESCRIPTION_FAT_STORAGE_NOTHING, // アクセス可能なデバイスが存在しない DESCRIPTION_CARD_ROM_NOTHING, // カードがささっていない、抜けた DESCRIPTION_CARD_ROM_WRITE_PROTECTED, // カードへのライトが禁止されている DESCRIPTION_CARD_ROM_COMM_ERROR, // カード通信エラー(CRCエラーなど) DESCRIPTION_CARD_ROM_UNKNOWN, // カード不正(ID不正) DESCRIPTION_CARD_NOT_INITIALIZE, // カードが初期化されていない。 DESCRIPTION_CARD1_BACKUP_NOTHING, // カードType1バックアップデバイスがささっていない、抜けた DESCRIPTION_CARD1_BACKUP_COMM_ERROR, // カードType1バックアップデバイス通信エラー(CRCエラーなど) DESCRIPTION_CARD1_BACKUP_UNKNOWN, // カードType1バックアップデバイス不正(ID不正) DESCRIPTION_CARD1_BACKUP_BAD_FORMAT, // カードType1バックアップデバイスフォーマット不正 DESCRIPTION_CARD2_BACKUP_NOTHING, // カードType2バックアップデバイスがささっていない、抜けた DESCRIPTION_CARD2_BACKUP_COMM_ERROR, // カードType2バックアップデバイス通信エラー(CRCエラーなど) DESCRIPTION_CARD2_BACKUP_UNKNOWN, // カードType2バックアップデバイス不正(ID不正) DESCRIPTION_CARD2_BACKUP_BAD_FORMAT, // カードType2バックアップデバイスフォーマット不正 DESCRIPTION_NAND_COMM_ERROR, // NAND通信エラー(CRCエラーなど) DESCRIPTION_NAND_FATAL, // NAND故障(修理扱い) DESCRIPTION_SDMC_NOTHING, // SDカードがささっていない、抜けた DESCRIPTION_SDMC_WRITE_PROTECTED, // SDカードがロック(ライト禁止)されている DESCRIPTION_SDMC_COMM_ERROR, // SDカード通信エラー(CRCエラーなど) DESCRIPTION_SDMC_UNKNOWN // SDカードではないメディアがささっている(MMCなど) }; NN_DEFINE_RESULT_FUNC_LM(MakePermanentResult, Result::LEVEL_PERMANENT, Result::MODULE_NN_FS); NN_DEFINE_RESULT_FUNC_LM(MakeUsageResult, Result::LEVEL_USAGE, Result::MODULE_NN_FS); NN_DEFINE_RESULT_FUNC_LM(MakeStatusResult, Result::LEVEL_STATUS, Result::MODULE_NN_FS); NN_DEFINE_RESULT_FUNC_LSM(MakeResultInvalidArgument, Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_FS); NN_DEFINE_RESULT_FUNC_LM(MakeInfoResult, Result::LEVEL_INFO, Result::MODULE_NN_FS); NN_DEFINE_RESULT_CONST( ResultNotImplemented, Result::LEVEL_FATAL, Result::SUMMARY_NOT_SUPPORTED, Result::MODULE_NN_FS, nn::Result::DESCRIPTION_NOT_IMPLEMENTED ); NN_DEFINE_RESULT_CONST_LM( ResultOutOfMemory, MakePermanentResult, Result::SUMMARY_OUT_OF_RESOURCE, Result::DESCRIPTION_OUT_OF_MEMORY ); NN_DEFINE_RESULT_CONST_LSM( ResultInvalidPositionBase, MakeResultInvalidArgument, DESCRIPTION_INVALID_POSITION_BASE ); NN_DEFINE_RESULT_CONST_LM( ResultArchiveNotFound, MakePermanentResult, Result::SUMMARY_NOT_FOUND, DESCRIPTION_ARCHIVE_NOT_FOUND ); NN_DEFINE_RESULT_CONST_LM( ResultFailedOpenFile, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_FAILED_OPEN_FILE ); NN_DEFINE_RESULT_CONST_LM( ResultUnsupportedOperation, MakePermanentResult, Result::SUMMARY_NOT_SUPPORTED, DESCRIPTION_UNSUPPORTED_OPERATION ); NN_DEFINE_RESULT_CONST_LM( ResultNotFound, MakePermanentResult, Result::SUMMARY_NOT_FOUND, Result::DESCRIPTION_NOT_FOUND ); NN_DEFINE_RESULT_CONST_LM( ResultInvalidPathFormat, MakePermanentResult, Result::SUMMARY_INVALID_ARGUMENT, DESCRIPTION_INVALID_PATH_FORMAT ); NN_DEFINE_RESULT_CONST_LM( ResultAccessDenied, MakePermanentResult, Result::SUMMARY_INVALID_ARGUMENT, DESCRIPTION_ACCESS_DENIED ); NN_DEFINE_RESULT_CONST_LM( ResultNotInitialized, MakeUsageResult, Result::SUMMARY_INVALID_STATE, Result::DESCRIPTION_NOT_INITIALIZED ); NN_DEFINE_RESULT_CONST_LM( ResultAlreadyInitialized, MakeUsageResult, Result::SUMMARY_INVALID_STATE, Result::DESCRIPTION_ALREADY_INITIALIZED ); NN_DEFINE_RESULT_CONST_LM( ResultLibraryNotInitialized, MakeUsageResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_LIBRARY_NOT_INITIALIZED ); NN_DEFINE_RESULT_CONST_LM( ResultInvalidPosition, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_POSITION ); NN_DEFINE_RESULT_CONST_LM( ResultTooLongPath, MakeUsageResult, Result::SUMMARY_INVALID_ARGUMENT, DESCRIPTION_TOO_LONG_PATH ); NN_DEFINE_RESULT_CONST_LM( ResultNotDevelopmentId, MakeInfoResult, Result::SUMMARY_SUCCESS, DESCRIPTION_NOT_DEVELOPMENT_ID ); NN_DEFINE_RESULT_CONST_LM( ResultHashMismatch, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_HASH_MISMATCH ); NN_DEFINE_RESULT_CONST_LM( ResultNoSuchProcessRegistered, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_NO_SUCH_PROCESS_REGISTERED ); NN_DEFINE_RESULT_CONST_LM( ResultInvalidCxiFormat, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_CXI_FORMAT ); NN_DEFINE_RESULT_CONST_LM( ResultUnsupportedAlignment, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_UNSUPPORTED_ALIGNMENT ); NN_DEFINE_RESULT_CONST_LM( ResultRequestRetry, MakeStatusResult, Result::SUMMARY_INTERNAL, DESCRIPTION_REQUEST_RETRY ); NN_DEFINE_RESULT_CONST_LM( ResultFailedVerifySign, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_FAILED_VERIFY_SIGN ); NN_DEFINE_RESULT_CONST_LM( ResultInvalidKeyType, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_KEY_TYPE ); NN_DEFINE_RESULT_CONST_LM( ResultUnsupportedMedia, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_UNSUPPORTED_MEDIA ); NN_DEFINE_RESULT_CONST_LM( ResultInvalidCciFormat, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_CCI_FORMAT ); NN_DEFINE_RESULT_CONST_LM( ResultNotFormatted, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_NOT_FORMATTED ); NN_DEFINE_RESULT_CONST_LM( ResultOutOfBounds, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_OUT_OF_BOUNDS ); NN_DEFINE_RESULT_CONST_LM( ResultNoSuchExefsSection, MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_NO_SUCH_EXEFS_SECTION ); NN_DEFINE_RESULT_CONST_LM( ResultProgramNotFound, MakeStatusResult, Result::SUMMARY_NOT_FOUND, DESCRIPTION_PROGRAM_NOT_FOUND ); NN_DEFINE_RESULT_CONST_LM( ResultSystemMenuDataNotFound, MakeStatusResult, Result::SUMMARY_NOT_FOUND, DESCRIPTION_SYSTEMMENUDATA_NOT_FOUND ); NN_DEFINE_RESULT_CONST_LM( ResultBannerDataNotFound, MakeStatusResult, Result::SUMMARY_NOT_FOUND, DESCRIPTION_BANNERDATA_NOT_FOUND ); NN_DEFINE_RESULT_CONST_LM( ResultLogoDataNotFound, MakeStatusResult, Result::SUMMARY_NOT_FOUND, DESCRIPTION_LOGODATA_NOT_FOUND ); NN_DEFINE_RESULT_CONST_LM( ResultFatBadFormat, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_BAD_FORMAT ); NN_DEFINE_RESULT_CONST_LM( ResultFatNotFound, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_NOT_FOUND ); NN_DEFINE_RESULT_CONST_LM( ResultFatAlreadyExist, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_ALREADY_EXIST ); NN_DEFINE_RESULT_CONST_LM( ResultFatBrokenEntry, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_BROKEN_ENTRY ); NN_DEFINE_RESULT_CONST_LM( ResultFatStorageFull, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_STORAGE_FULL ); NN_DEFINE_RESULT_CONST_LM( ResultFatStrageNothing, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_STORAGE_NOTHING ); NN_DEFINE_RESULT_CONST_LM( ResultCardRomNothing, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD_ROM_NOTHING ); NN_DEFINE_RESULT_CONST_LM( ResultCardRomWriteProtected, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD_ROM_WRITE_PROTECTED ); NN_DEFINE_RESULT_CONST_LM( ResultCardRomCommError, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD_ROM_COMM_ERROR ); NN_DEFINE_RESULT_CONST_LM( ResultCardRomUnknown, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD_ROM_UNKNOWN ); NN_DEFINE_RESULT_CONST_LM( ResultCardNotInitialize, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD_NOT_INITIALIZE ); NN_DEFINE_RESULT_CONST_LM( ResultCard1BackupNothing, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD1_BACKUP_NOTHING ); NN_DEFINE_RESULT_CONST_LM( ResultCard1RomBackupCommError, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD1_BACKUP_COMM_ERROR ); NN_DEFINE_RESULT_CONST_LM( ResultCard1RomBackupUnknown, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD1_BACKUP_UNKNOWN ); NN_DEFINE_RESULT_CONST_LM( ResultCard1RomBackupBadFormat, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD1_BACKUP_BAD_FORMAT ); NN_DEFINE_RESULT_CONST_LM( ResultCard2BackupNothing, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD2_BACKUP_NOTHING ); NN_DEFINE_RESULT_CONST_LM( ResultCard2RomBackupCommError, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD2_BACKUP_COMM_ERROR ); NN_DEFINE_RESULT_CONST_LM( ResultCard2RomBackupUnknown, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD2_BACKUP_UNKNOWN ); NN_DEFINE_RESULT_CONST_LM( ResultCard2RomBackupBadFormat, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD2_BACKUP_BAD_FORMAT ); NN_DEFINE_RESULT_CONST_LM( ResultNandCommError, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_NAND_COMM_ERROR ); NN_DEFINE_RESULT_CONST( ResultNandFatal, Result::LEVEL_FATAL, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_FS, DESCRIPTION_NAND_FATAL ); NN_DEFINE_RESULT_CONST_LM( ResultSdmcNothing, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_SDMC_NOTHING ); NN_DEFINE_RESULT_CONST_LM( ResultSdmcWriteProtected, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_SDMC_WRITE_PROTECTED ); NN_DEFINE_RESULT_CONST_LM( ResultSdmcCommError, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_SDMC_COMM_ERROR ); NN_DEFINE_RESULT_CONST_LM( ResultSdmcUnknown, MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_SDMC_UNKNOWN ); } // end of namespace fs } // end of namespace nn #endif // #ifdef __cplusplus #endif // #ifndef NN_FS_FS_RESULT_H_