1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: fs_Result.h 4 5 Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Rev: 25924 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_FS_FS_RESULT_H_ 17 #define NN_FS_FS_RESULT_H_ 18 19 #ifdef __cplusplus 20 21 #include <nn/Result.h> 22 23 namespace nn { 24 namespace fs { 25 26 enum Description 27 { 28 DESCRIPTION_INVALID_POSITION_BASE, 29 DESCRIPTION_ARCHIVE_NOT_FOUND, 30 DESCRIPTION_FAILED_OPEN_FILE, 31 DESCRIPTION_UNSUPPORTED_OPERATION, 32 DESCRIPTION_INVALID_PATH_FORMAT, 33 DESCRIPTION_ACCESS_DENIED, 34 DESCRIPTION_LIBRARY_NOT_INITIALIZED, 35 DESCRIPTION_INVALID_POSITION, 36 DESCRIPTION_TOO_LONG_PATH, 37 DESCRIPTION_NOT_DEVELOPMENT_ID, 38 DESCRIPTION_HASH_MISMATCH, 39 DESCRIPTION_NO_SUCH_PROCESS_REGISTERED, 40 DESCRIPTION_INVALID_CXI_FORMAT, 41 DESCRIPTION_UNSUPPORTED_ALIGNMENT, 42 DESCRIPTION_REQUEST_RETRY, 43 DESCRIPTION_FAILED_VERIFY_SIGN, 44 DESCRIPTION_INVALID_KEY_TYPE, 45 DESCRIPTION_UNSUPPORTED_MEDIA, 46 DESCRIPTION_INVALID_CCI_FORMAT, 47 DESCRIPTION_NOT_FORMATTED, 48 DESCRIPTION_OUT_OF_BOUNDS, 49 DESCRIPTION_NO_SUCH_EXEFS_SECTION, 50 DESCRIPTION_PROGRAM_NOT_FOUND, 51 DESCRIPTION_SYSTEMMENUDATA_NOT_FOUND, 52 DESCRIPTION_BANNERDATA_NOT_FOUND, 53 DESCRIPTION_LOGODATA_NOT_FOUND, 54 55 DESCRIPTION_FAT_BAD_FORMAT, // FATフォーマット不正 56 DESCRIPTION_FAT_NOT_FOUND, // 指定されたパスが存在しない 57 DESCRIPTION_FAT_ALREADY_EXIST, // 指定されたパスが既に存在している 58 DESCRIPTION_FAT_BROKEN_ENTRY, // 指定されたパスの対象が壊れている 59 DESCRIPTION_FAT_STORAGE_FULL, // デバイスの容量不足 60 DESCRIPTION_FAT_STORAGE_NOTHING, // アクセス可能なデバイスが存在しない 61 62 DESCRIPTION_CARD_ROM_NOTHING, // カードがささっていない、抜けた 63 DESCRIPTION_CARD_ROM_WRITE_PROTECTED, // カードへのライトが禁止されている 64 DESCRIPTION_CARD_ROM_COMM_ERROR, // カード通信エラー(CRCエラーなど) 65 DESCRIPTION_CARD_ROM_UNKNOWN, // カード不正(ID不正) 66 DESCRIPTION_CARD_NOT_INITIALIZE, // カードが初期化されていない。 67 68 DESCRIPTION_CARD1_BACKUP_NOTHING, // カードType1バックアップデバイスがささっていない、抜けた 69 DESCRIPTION_CARD1_BACKUP_COMM_ERROR, // カードType1バックアップデバイス通信エラー(CRCエラーなど) 70 DESCRIPTION_CARD1_BACKUP_UNKNOWN, // カードType1バックアップデバイス不正(ID不正) 71 DESCRIPTION_CARD1_BACKUP_BAD_FORMAT, // カードType1バックアップデバイスフォーマット不正 72 73 DESCRIPTION_CARD2_BACKUP_NOTHING, // カードType2バックアップデバイスがささっていない、抜けた 74 DESCRIPTION_CARD2_BACKUP_COMM_ERROR, // カードType2バックアップデバイス通信エラー(CRCエラーなど) 75 DESCRIPTION_CARD2_BACKUP_UNKNOWN, // カードType2バックアップデバイス不正(ID不正) 76 DESCRIPTION_CARD2_BACKUP_BAD_FORMAT, // カードType2バックアップデバイスフォーマット不正 77 78 DESCRIPTION_NAND_COMM_ERROR, // NAND通信エラー(CRCエラーなど) 79 DESCRIPTION_NAND_FATAL, // NAND故障(修理扱い) 80 81 DESCRIPTION_SDMC_NOTHING, // SDカードがささっていない、抜けた 82 DESCRIPTION_SDMC_WRITE_PROTECTED, // SDカードがロック(ライト禁止)されている 83 DESCRIPTION_SDMC_COMM_ERROR, // SDカード通信エラー(CRCエラーなど) 84 DESCRIPTION_SDMC_UNKNOWN // SDカードではないメディアがささっている(MMCなど) 85 }; 86 87 NN_DEFINE_RESULT_FUNC_LM(MakePermanentResult, Result::LEVEL_PERMANENT, Result::MODULE_NN_FS); 88 NN_DEFINE_RESULT_FUNC_LM(MakeUsageResult, Result::LEVEL_USAGE, Result::MODULE_NN_FS); 89 NN_DEFINE_RESULT_FUNC_LM(MakeStatusResult, Result::LEVEL_STATUS, Result::MODULE_NN_FS); 90 NN_DEFINE_RESULT_FUNC_LSM(MakeResultInvalidArgument, Result::LEVEL_PERMANENT, Result::SUMMARY_INVALID_ARGUMENT, Result::MODULE_NN_FS); 91 NN_DEFINE_RESULT_FUNC_LM(MakeInfoResult, Result::LEVEL_INFO, Result::MODULE_NN_FS); 92 93 NN_DEFINE_RESULT_CONST( 94 ResultNotImplemented, 95 Result::LEVEL_FATAL, Result::SUMMARY_NOT_SUPPORTED, Result::MODULE_NN_FS, nn::Result::DESCRIPTION_NOT_IMPLEMENTED 96 ); 97 98 NN_DEFINE_RESULT_CONST_LM( 99 ResultOutOfMemory, 100 MakePermanentResult, Result::SUMMARY_OUT_OF_RESOURCE, Result::DESCRIPTION_OUT_OF_MEMORY 101 ); 102 103 NN_DEFINE_RESULT_CONST_LSM( 104 ResultInvalidPositionBase, 105 MakeResultInvalidArgument, DESCRIPTION_INVALID_POSITION_BASE 106 ); 107 108 NN_DEFINE_RESULT_CONST_LM( 109 ResultArchiveNotFound, 110 MakePermanentResult, Result::SUMMARY_NOT_FOUND, DESCRIPTION_ARCHIVE_NOT_FOUND 111 ); 112 113 NN_DEFINE_RESULT_CONST_LM( 114 ResultFailedOpenFile, 115 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_FAILED_OPEN_FILE 116 ); 117 118 NN_DEFINE_RESULT_CONST_LM( 119 ResultUnsupportedOperation, 120 MakePermanentResult, Result::SUMMARY_NOT_SUPPORTED, DESCRIPTION_UNSUPPORTED_OPERATION 121 ); 122 123 NN_DEFINE_RESULT_CONST_LM( 124 ResultNotFound, 125 MakePermanentResult, Result::SUMMARY_NOT_FOUND, Result::DESCRIPTION_NOT_FOUND 126 ); 127 128 NN_DEFINE_RESULT_CONST_LM( 129 ResultInvalidPathFormat, 130 MakePermanentResult, Result::SUMMARY_INVALID_ARGUMENT, DESCRIPTION_INVALID_PATH_FORMAT 131 ); 132 133 NN_DEFINE_RESULT_CONST_LM( 134 ResultAccessDenied, 135 MakePermanentResult, Result::SUMMARY_INVALID_ARGUMENT, DESCRIPTION_ACCESS_DENIED 136 ); 137 138 NN_DEFINE_RESULT_CONST_LM( 139 ResultNotInitialized, 140 MakeUsageResult, Result::SUMMARY_INVALID_STATE, Result::DESCRIPTION_NOT_INITIALIZED 141 ); 142 143 NN_DEFINE_RESULT_CONST_LM( 144 ResultAlreadyInitialized, 145 MakeUsageResult, Result::SUMMARY_INVALID_STATE, Result::DESCRIPTION_ALREADY_INITIALIZED 146 ); 147 148 NN_DEFINE_RESULT_CONST_LM( 149 ResultLibraryNotInitialized, 150 MakeUsageResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_LIBRARY_NOT_INITIALIZED 151 ); 152 153 NN_DEFINE_RESULT_CONST_LM( 154 ResultInvalidPosition, 155 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_POSITION 156 ); 157 158 NN_DEFINE_RESULT_CONST_LM( 159 ResultTooLongPath, 160 MakeUsageResult, Result::SUMMARY_INVALID_ARGUMENT, DESCRIPTION_TOO_LONG_PATH 161 ); 162 163 NN_DEFINE_RESULT_CONST_LM( 164 ResultNotDevelopmentId, 165 MakeInfoResult, Result::SUMMARY_SUCCESS, DESCRIPTION_NOT_DEVELOPMENT_ID 166 ); 167 168 NN_DEFINE_RESULT_CONST_LM( 169 ResultHashMismatch, 170 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_HASH_MISMATCH 171 ); 172 173 NN_DEFINE_RESULT_CONST_LM( 174 ResultNoSuchProcessRegistered, 175 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_NO_SUCH_PROCESS_REGISTERED 176 ); 177 178 NN_DEFINE_RESULT_CONST_LM( 179 ResultInvalidCxiFormat, 180 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_CXI_FORMAT 181 ); 182 183 NN_DEFINE_RESULT_CONST_LM( 184 ResultUnsupportedAlignment, 185 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_UNSUPPORTED_ALIGNMENT 186 ); 187 188 NN_DEFINE_RESULT_CONST_LM( 189 ResultRequestRetry, 190 MakeStatusResult, Result::SUMMARY_INTERNAL, DESCRIPTION_REQUEST_RETRY 191 ); 192 193 NN_DEFINE_RESULT_CONST_LM( 194 ResultFailedVerifySign, 195 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_FAILED_VERIFY_SIGN 196 ); 197 198 NN_DEFINE_RESULT_CONST_LM( 199 ResultInvalidKeyType, 200 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_KEY_TYPE 201 ); 202 203 NN_DEFINE_RESULT_CONST_LM( 204 ResultUnsupportedMedia, 205 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_UNSUPPORTED_MEDIA 206 ); 207 208 NN_DEFINE_RESULT_CONST_LM( 209 ResultInvalidCciFormat, 210 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_CCI_FORMAT 211 ); 212 213 NN_DEFINE_RESULT_CONST_LM( 214 ResultNotFormatted, 215 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_NOT_FORMATTED 216 ); 217 218 NN_DEFINE_RESULT_CONST_LM( 219 ResultOutOfBounds, 220 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_OUT_OF_BOUNDS 221 ); 222 223 NN_DEFINE_RESULT_CONST_LM( 224 ResultNoSuchExefsSection, 225 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_NO_SUCH_EXEFS_SECTION 226 ); 227 228 NN_DEFINE_RESULT_CONST_LM( 229 ResultProgramNotFound, 230 MakeStatusResult, Result::SUMMARY_NOT_FOUND, DESCRIPTION_PROGRAM_NOT_FOUND 231 ); 232 233 NN_DEFINE_RESULT_CONST_LM( 234 ResultSystemMenuDataNotFound, 235 MakeStatusResult, Result::SUMMARY_NOT_FOUND, DESCRIPTION_SYSTEMMENUDATA_NOT_FOUND 236 ); 237 238 NN_DEFINE_RESULT_CONST_LM( 239 ResultBannerDataNotFound, 240 MakeStatusResult, Result::SUMMARY_NOT_FOUND, DESCRIPTION_BANNERDATA_NOT_FOUND 241 ); 242 243 NN_DEFINE_RESULT_CONST_LM( 244 ResultLogoDataNotFound, 245 MakeStatusResult, Result::SUMMARY_NOT_FOUND, DESCRIPTION_LOGODATA_NOT_FOUND 246 ); 247 248 NN_DEFINE_RESULT_CONST_LM( 249 ResultFatBadFormat, 250 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_BAD_FORMAT 251 ); 252 253 NN_DEFINE_RESULT_CONST_LM( 254 ResultFatNotFound, 255 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_NOT_FOUND 256 ); 257 258 NN_DEFINE_RESULT_CONST_LM( 259 ResultFatAlreadyExist, 260 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_ALREADY_EXIST 261 ); 262 263 NN_DEFINE_RESULT_CONST_LM( 264 ResultFatBrokenEntry, 265 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_BROKEN_ENTRY 266 ); 267 268 NN_DEFINE_RESULT_CONST_LM( 269 ResultFatStorageFull, 270 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_STORAGE_FULL 271 ); 272 273 NN_DEFINE_RESULT_CONST_LM( 274 ResultFatStrageNothing, 275 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_FAT_STORAGE_NOTHING 276 ); 277 278 NN_DEFINE_RESULT_CONST_LM( 279 ResultCardRomNothing, 280 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD_ROM_NOTHING 281 ); 282 283 NN_DEFINE_RESULT_CONST_LM( 284 ResultCardRomWriteProtected, 285 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD_ROM_WRITE_PROTECTED 286 ); 287 288 NN_DEFINE_RESULT_CONST_LM( 289 ResultCardRomCommError, 290 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD_ROM_COMM_ERROR 291 ); 292 293 NN_DEFINE_RESULT_CONST_LM( 294 ResultCardRomUnknown, 295 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD_ROM_UNKNOWN 296 ); 297 298 NN_DEFINE_RESULT_CONST_LM( 299 ResultCardNotInitialize, 300 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD_NOT_INITIALIZE 301 ); 302 303 NN_DEFINE_RESULT_CONST_LM( 304 ResultCard1BackupNothing, 305 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD1_BACKUP_NOTHING 306 ); 307 308 NN_DEFINE_RESULT_CONST_LM( 309 ResultCard1RomBackupCommError, 310 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD1_BACKUP_COMM_ERROR 311 ); 312 313 NN_DEFINE_RESULT_CONST_LM( 314 ResultCard1RomBackupUnknown, 315 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD1_BACKUP_UNKNOWN 316 ); 317 318 NN_DEFINE_RESULT_CONST_LM( 319 ResultCard1RomBackupBadFormat, 320 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD1_BACKUP_BAD_FORMAT 321 ); 322 323 NN_DEFINE_RESULT_CONST_LM( 324 ResultCard2BackupNothing, 325 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD2_BACKUP_NOTHING 326 ); 327 328 NN_DEFINE_RESULT_CONST_LM( 329 ResultCard2RomBackupCommError, 330 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD2_BACKUP_COMM_ERROR 331 ); 332 333 NN_DEFINE_RESULT_CONST_LM( 334 ResultCard2RomBackupUnknown, 335 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD2_BACKUP_UNKNOWN 336 ); 337 338 NN_DEFINE_RESULT_CONST_LM( 339 ResultCard2RomBackupBadFormat, 340 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_CARD2_BACKUP_BAD_FORMAT 341 ); 342 343 NN_DEFINE_RESULT_CONST_LM( 344 ResultNandCommError, 345 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_NAND_COMM_ERROR 346 ); 347 348 NN_DEFINE_RESULT_CONST( 349 ResultNandFatal, 350 Result::LEVEL_FATAL, Result::SUMMARY_INVALID_STATE, Result::MODULE_NN_FS, DESCRIPTION_NAND_FATAL 351 ); 352 353 NN_DEFINE_RESULT_CONST_LM( 354 ResultSdmcNothing, 355 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_SDMC_NOTHING 356 ); 357 358 NN_DEFINE_RESULT_CONST_LM( 359 ResultSdmcWriteProtected, 360 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_SDMC_WRITE_PROTECTED 361 ); 362 363 NN_DEFINE_RESULT_CONST_LM( 364 ResultSdmcCommError, 365 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_SDMC_COMM_ERROR 366 ); 367 368 NN_DEFINE_RESULT_CONST_LM( 369 ResultSdmcUnknown, 370 MakeStatusResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_SDMC_UNKNOWN 371 ); 372 373 } // end of namespace fs 374 } // end of namespace nn 375 376 #endif // #ifdef __cplusplus 377 #endif // #ifndef NN_FS_FS_RESULT_H_ 378