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