1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: hio_Result.h 4 5 Copyright (C)2009-2012 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: 46347 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_HIO_CTR_HIO_RESULT_H_ 17 #define NN_HIO_CTR_HIO_RESULT_H_ 18 19 #include <nn/Result.h> 20 21 namespace nn { 22 namespace hio { 23 namespace CTR { 24 25 /* Please see man pages for details 26 27 */ 28 enum ResultDescription 29 { 30 DESCRIPTION_INVALID_SELECTION, // 31 DESCRIPTION_TOO_LARGE, // 32 DESCRIPTION_NOT_AUTHORIZED, // 33 DESCRIPTION_ALREADY_DONE, // 34 DESCRIPTION_INVALID_SIZE, // 35 DESCRIPTION_INVALID_ENUM_VALUE, // 36 DESCRIPTION_INVALID_COMBINATION, // 37 DESCRIPTION_NO_DATA, // 38 DESCRIPTION_BUSY, // 39 DESCRIPTION_MISALIGNED_ADDRESS, // 40 DESCRIPTION_MISALIGNED_SIZE, // 41 DESCRIPTION_OUT_OF_MEMORY, // 42 DESCRIPTION_NOT_IMPLEMENTED, // 43 DESCRIPTION_INVALID_ADDRESS, // 44 DESCRIPTION_INVALID_POINTER, // 45 DESCRIPTION_INVALID_HANDLE, // 46 DESCRIPTION_NOT_INITIALIZED, // 47 DESCRIPTION_ALREADY_INITIALIZED, // 48 DESCRIPTION_NOT_FOUND, // 49 DESCRIPTION_CANCEL_REQUESTED, // 50 DESCRIPTION_ALREADY_EXISTS, // 51 DESCRIPTION_OUT_OF_RANGE, // 52 DESCRIPTION_TIMEOUT, // 53 DESCRIPTION_INVALID_RESULT_VALUE, // 54 DESCRIPTION_END 55 }; 56 57 58 // Definitions for result values used by hio 59 60 NN_DEFINE_RESULT_FUNC_LM(MakePermanentResult, Result::LEVEL_PERMANENT, Result::MODULE_NN_HIO); 61 NN_DEFINE_RESULT_FUNC_LM(MakeTemporaryResult, Result::LEVEL_TEMPORARY, Result::MODULE_NN_HIO); 62 NN_DEFINE_RESULT_FUNC_LM(MakeStatusResult, Result::LEVEL_STATUS, Result::MODULE_NN_HIO); 63 64 NN_DEFINE_RESULT_CONST_LM( 65 ResultInvalidSection, 66 MakePermanentResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_INVALID_SELECTION 67 ); 68 69 NN_DEFINE_RESULT_CONST_LM( 70 ResultAlreadyExists, 71 MakePermanentResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_ALREADY_EXISTS 72 ); 73 74 NN_DEFINE_RESULT_CONST_LM( 75 ResultNotAuthorized, 76 MakePermanentResult, Result::SUMMARY_INVALID_STATE, DESCRIPTION_NOT_AUTHORIZED 77 ); 78 79 NN_DEFINE_RESULT_CONST_LM( 80 ResultTooLarge, 81 MakePermanentResult, Result::SUMMARY_INVALID_ARGUMENT, DESCRIPTION_TOO_LARGE 82 ); 83 84 NN_DEFINE_RESULT_CONST_LM( 85 ResultBusy, 86 MakePermanentResult, Result::SUMMARY_STATUS_CHANGED, DESCRIPTION_BUSY 87 ); 88 89 NN_DEFINE_RESULT_CONST_LM( 90 ResultInvalidHandle, 91 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_HANDLE 92 ); 93 94 NN_DEFINE_RESULT_CONST_LM( 95 ResultInvalidPointer, 96 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_POINTER 97 ); 98 99 NN_DEFINE_RESULT_CONST_LM( 100 ResultInvalidSize, 101 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_SIZE 102 ); 103 104 NN_DEFINE_RESULT_CONST_LM( 105 ResultInvalidEnumValue, 106 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_ENUM_VALUE 107 ); 108 109 NN_DEFINE_RESULT_CONST_LM( 110 ResultMisalignedAddress, 111 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_MISALIGNED_ADDRESS 112 ); 113 114 NN_DEFINE_RESULT_CONST_LM( 115 ResultMisalignedSize, 116 MakePermanentResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_MISALIGNED_SIZE 117 ); 118 119 NN_DEFINE_RESULT_CONST_LM( 120 ResultCancelRequested, 121 MakePermanentResult, Result::SUMMARY_NOT_SUPPORTED, DESCRIPTION_CANCEL_REQUESTED 122 ); 123 124 NN_DEFINE_RESULT_CONST_LM( 125 ResultAlreadyDone, 126 MakePermanentResult, Result::SUMMARY_NOTHING_HAPPENED, DESCRIPTION_ALREADY_DONE 127 ); 128 129 NN_DEFINE_RESULT_CONST_LM( 130 ResultNotFound, 131 MakePermanentResult, Result::SUMMARY_NOT_FOUND, DESCRIPTION_NOT_FOUND 132 ); 133 134 NN_DEFINE_RESULT_CONST_LM( 135 ResultInvalidAddress, 136 MakeStatusResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_ADDRESS 137 ); 138 139 NN_DEFINE_RESULT_CONST_LM( 140 ResultInvalidCombination, 141 MakeStatusResult, Result::SUMMARY_WRONG_ARGUMENT, DESCRIPTION_INVALID_COMBINATION 142 ); 143 144 NN_DEFINE_RESULT_CONST_LM( 145 ResultCancelledBusy, 146 MakeTemporaryResult, Result::SUMMARY_CANCELLED, DESCRIPTION_BUSY 147 ); 148 149 150 } // namespace CTR 151 } // namespace hio 152 } // namespace nn 153 154 #endif //NN_HIO_CTR_HIO_RESULT_H_ 155