1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: erreula_Api.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: 47400 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_ERREULA_CTR_ERREULA_API_H_ 17 #define NN_ERREULA_CTR_ERREULA_API_H_ 18 19 #include <nn/types.h> 20 #include <nn/applet.h> 21 22 #ifdef __cplusplus 23 24 namespace nn 25 { 26 namespace erreula 27 { 28 namespace CTR 29 { 30 31 /* Please see man pages for details 32 33 */ 34 enum 35 { 36 ERROR_LANGUAGE_FLAG = 0x100, // 37 ERROR_WORD_WRAP_FLAG = 0x200 // 38 }; 39 40 /* Please see man pages for details 41 42 */ 43 enum ErrorType 44 { 45 ERROR_TYPE_ERROR_CODE = 0, // 46 ERROR_TYPE_ERROR_TEXT, // 47 ERROR_TYPE_EULA, // 48 ERROR_TYPE_EULA_FIRST_BOOT, // 49 ERROR_TYPE_EULA_DRAW_ONLY, // 50 ERROR_TYPE_AGREE, // 51 52 ERROR_TYPE_ERROR_CODE_LANGUAGE = ERROR_TYPE_ERROR_CODE | ERROR_LANGUAGE_FLAG, // 53 ERROR_TYPE_ERROR_TEXT_LANGUAGE = ERROR_TYPE_ERROR_TEXT | ERROR_LANGUAGE_FLAG, // 54 ERROR_TYPE_EULA_LANGUAGE = ERROR_TYPE_EULA | ERROR_LANGUAGE_FLAG, // 55 56 ERROR_TYPE_ERROR_TEXT_WORD_WRAP = ERROR_TYPE_ERROR_TEXT | ERROR_WORD_WRAP_FLAG, // 57 ERROR_TYPE_ERROR_TEXT_LANGAUAGE_WORD_WRAP = ERROR_TYPE_ERROR_TEXT | ERROR_LANGUAGE_FLAG | ERROR_WORD_WRAP_FLAG, // 58 59 ERROR_TYPE_MAX_BIT = (1u << 31) //!< Enumerator used during internal processing. This enumerator cannot be used by applications. 60 }; 61 62 /* Please see man pages for details 63 64 */ 65 enum 66 { 67 UPPER_SCREEN_NORMAL = 0, // 68 UPPER_SCREEN_STEREO, // 69 70 UPPER_SCREEN_MAX 71 }; 72 73 /* Please see man pages for details 74 75 */ 76 enum 77 { 78 USE_LANGUAGE_DEFAULT = 0, // 79 USE_LANGUAGE_JAPANESE, // 80 USE_LANGUAGE_ENGLISH, // 81 USE_LANGUAGE_FRENCH, // 82 USE_LANGUAGE_GERMAN, // 83 USE_LANGUAGE_ITALIAN, // 84 USE_LANGUAGE_SPANISH, // 85 USE_LANGUAGE_SIMP_CHINESE, // 86 USE_LANGUAGE_KOREAN, // 87 USE_LANGUAGE_DUTCH, // 88 USE_LANGUAGE_PORTUGUESE, // 89 USE_LANGUAGE_RUSSIAN, // 90 USE_LANGUAGE_TRAD_CHINESE, // 91 92 USE_LANGUAGE_MAX 93 }; 94 95 /* Please see man pages for details 96 97 98 99 */ 100 enum ReturnCode 101 { 102 RETURN_CODE_UNKNOWN = -1, // 103 RETURN_CODE_NONE = 0, // 104 RETURN_CODE_SUCCESS, // 105 RETURN_CODE_NOT_SUPPORTED, // 106 107 RETURN_CODE_HOME_BUTTON = 10, // 108 RETURN_CODE_SOFTWARE_RESET, // 109 RETURN_CODE_POWER_BUTTON, // 110 111 RETURN_CODE_MAX_BIT = (s32)(1u << 31) //!< Enumerator used during internal processing. This enumerator cannot be used by applications. 112 }; 113 114 /* Please see man pages for details 115 116 */ 117 const u16 ERROR_TEXT_LENGTH_MAX = 1900; 118 119 /* Please see man pages for details 120 121 122 */ 123 // Make a structure having a maximum size of 4092 bytes. 124 125 struct Config 126 { 127 //---------------------------------------- 128 // 129 130 /* Please see man pages for details 131 132 */ 133 ErrorType errorType; 134 135 /* Please see man pages for details 136 137 138 139 */ 140 s32 errorCode; 141 142 /* Please see man pages for details 143 144 145 146 147 */ 148 s16 upperScreenFlag; 149 150 /* Please see man pages for details 151 152 153 */ 154 u16 useLanguage; 155 156 /* Please see man pages for details 157 158 */ 159 wchar_t errorText[ERROR_TEXT_LENGTH_MAX]; 160 161 /* Please see man pages for details 162 163 164 165 */ 166 bool homeButton; 167 168 /* Please see man pages for details 169 170 171 172 */ 173 bool softwareReset; 174 175 /* Please see man pages for details 176 177 178 179 */ 180 bool appJump; 181 182 u8 pad0[137]; 183 184 185 //---------------------------------------- 186 // 187 188 /* Please see man pages for details 189 190 191 192 193 */ 194 ReturnCode returnCode; 195 196 /* Please see man pages for details 197 198 199 200 201 */ 202 u16 eulaVersion; 203 204 u8 pad1[10]; 205 }; 206 207 /* Please see man pages for details 208 209 */ 210 struct Parameter 211 { 212 Config config; // 213 }; 214 215 /* Please see man pages for details 216 217 218 219 220 */ 221 void InitializeConfig(Config* pConfig); 222 223 /* Please see man pages for details 224 225 226 227 228 */ 229 void PreloadErrEulaApplet(); 230 231 /* Please see man pages for details 232 233 */ 234 void CancelPreloadErrEulaApplet(); 235 236 /* Please see man pages for details 237 238 239 240 */ 241 void WaitForPreloadErrEulaApplet(); 242 243 /* Please see man pages for details 244 245 246 247 248 */ 249 bool IsRegisteredErrEulaApplet(); 250 251 /* Please see man pages for details 252 253 254 255 256 */ 257 void StartErrEulaApplet( nn::applet::AppletWakeupState* pWakeupState, Parameter* pParameter ); 258 259 }}} 260 261 #endif // __cplusplus 262 263 #endif // ifndef NN_ERREULA_CTR_ERREULA_API_H_ 264