1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: boss_Const.h 4 5 Copyright (C)2009-2011 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: 38576 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_BOSS_BOSS_CONST_H_ 17 #define NN_BOSS_BOSS_CONST_H_ 18 19 #include <nn/types.h> 20 21 #ifdef __cplusplus 22 23 namespace nn { 24 namespace boss { 25 26 /* Please see man pages for details 27 28 */ 29 static const bit32 DATA_TYPE_ALL = 0xffffffff; // 30 static const bit32 DATA_TYPE_APPDATA = 0x00010000; // 31 static const bit32 DATA_TYPE_NEWS = 0x00020000; // 32 static const bit32 DATA_TYPE_EXBANNER = 0x00040000; // 33 34 /* Please see man pages for details 35 36 */ 37 static const u32 MAX_FILEPATH_LENGTH = 256; // 38 static const u32 MAX_URL_LENGTH = 512; // 39 static const u32 MAX_HTTP_HEADER_LABEL = 32; // 40 static const u32 MAX_HTTP_HEADER_VALUE = 256; // 41 static const u32 MAX_HTTP_HEADER = 3; // 42 static const u32 MAX_ROOT_CA = 3; // 43 static const u32 MAX_CLIENT_CERT = 1; // 44 static const u32 TASK_ID_LENGTH = 8; // 45 static const u32 MAX_ERROR_MESSAGE = 256; // 46 static const u32 MAX_APPLICATION_ID = 128; // 47 static const u32 MAX_TASK_ID = 128; // 48 static const u32 MAX_STEP_ID = 128; // 49 static const u32 CURRENT_STEP_ID = MAX_STEP_ID; // 50 static const u32 DEFAULT_STEP_ID = 0; // 51 static const u32 U32_CANNOT_GET_DATA = 0xFFFFFFFF; // 52 static const u32 MAX_LASTMODIFIED_LENGTH = 64; // 53 static const u32 UNLIMITED_COUNT = 0xFFFFFFFF; // 54 static const u32 MAX_STORAGE_ENTRY_COUNT = 2000; // 55 static const u32 DEFAULT_STORAGE_ENTRY_COUNT = 0; // 56 static const u32 MAX_STORAGE_RECYCLE_COUNT = 32; // 57 58 /* Please see man pages for details 59 60 */ 61 enum PositionBase 62 { 63 /* Please see man pages for details 64 65 */ 66 POSITION_BASE_BEGIN, 67 68 /* Please see man pages for details 69 70 */ 71 POSITION_BASE_CURRENT, 72 73 /* Please see man pages for details 74 75 */ 76 POSITION_BASE_END 77 }; 78 79 /* Please see man pages for details 80 81 */ 82 enum PropertyType 83 { 84 /* Please see man pages for details 85 86 */ 87 TASK_PRIORITY, // 88 TASK_SCHEDULING_POLICY, // 89 TASK_TARGET_DURATION, // 90 TASK_EXEC_INTERVAL, // 91 TASK_EXEC_COUNT, // 92 TASK_PERMISSION, // 93 94 /* Please see man pages for details 95 96 */ 97 ACTION_CODE, // 98 ACTION_URL, // 99 ACTION_OFFSET, // 100 ACTION_FILEDESC, // 101 ACTION_FILEPATH, // 102 ACTION_FILEPATH_W, // 103 ACTION_FILE_HANDLE, // 104 ACTION_HTTP_HEADER, // 105 ACTION_CLIENT_CERT, // 106 ACTION_ROOT_CA, // 107 ACTION_PRIVATE_CLIENT_CERT, // 108 ACTION_PRIVATE_ROOT_CA, // 109 ACTION_AP_INFO, // 110 ACTION_CLIENT_CERT_NUM, // 111 ACTION_ROOT_CA_NUM, // 112 ACTION_LAST_MODIFIED_TIME, // 113 ACTION_SERIAL_ID, // 114 SIGNAL_TASK_EVENT, // 115 116 /* Please see man pages for details 117 118 */ 119 TASK_EXEC_OPTION, // 120 TASK_STEP, // 121 TASK_OPTION_TARGET_STEP, // 122 TASK_OPTION_PARAM1, // 123 TASK_OPTION_PARAM2, // 124 125 /* Please see man pages for details 126 127 */ 128 TASK_STATE_CODE, // 129 TASK_STATE_TASK, // 130 TASK_STATE_RESUME, // 131 TASK_RESULT_CODE, // 132 TASK_SERVICE_STATUS, // 133 TASK_SERVICE_TERMINATED, // 134 TASK_COMM_ERROR_CODE, // 135 TASK_CURRENT_PRIORITY, // 136 TASK_EXECUTE_COUNT, // 137 TASK_PENDING_TIME, // 138 TASK_REMAIN_TIME, // 139 TASK_START_TIME, // 140 TASK_STEP_START_TIME, // 141 TASK_PROGRESS, // 142 TASK_DATA_SIZE, // 143 TASK_CURRENT_STEP, // 144 TASK_ACTIVE_RATE, // 145 TASK_REQUEST_RATE, // 146 TASK_LAST_MODIFIED_TIME, // 147 148 /* Please see man pages for details 149 150 */ 151 TASK_ERROR_RESULT_CODE, // 152 TASK_ERROR_CODE, // 153 TASK_ERROR_MESSAGE, // 154 155 /* Please see man pages for details 156 157 */ 158 TASK_APPID_LIST_SIZE, // 159 TASK_APPID_LIST, // 160 /* Please see man pages for details 161 162 */ 163 TASK_TASKID_LIST_SIZE, // 164 TASK_TASKID_LIST, // 165 /* Please see man pages for details 166 167 */ 168 TASK_STEPID_LIST_SIZE, // 169 TASK_STEPID_LIST, // 170 /* Please see man pages for details 171 172 */ 173 TASK_NSDATA_LIST_SIZE, // 174 TASK_NSDATA_LIST, // 175 176 /* Please see man pages for details 177 178 */ 179 ACTION_SIGNAL_TASK_EVENT, // 180 ACTION_HTTP_HEADER_VALUE, // 181 TASK_ID, // 182 183 PROPERTY_TYPE_MAX_VALUE = (0x1u << 15) // 184 }; 185 186 /* Please see man pages for details 187 188 */ 189 enum SchedulingPolicy 190 { 191 ENUM_POLICY_START, // 192 STANDARD_POLICY, // 193 ENUM_POLICY_END, // 194 SCHEDULING_POLICY_MAX_VALUE = (0x1u << 7) // 195 }; 196 197 /* Please see man pages for details 198 199 */ 200 enum TaskPermission 201 { 202 TASK_PERMISSION_IN_NONE = 0, // 203 TASK_PERMISSION_IN_EULA_DISAGREEMENT, // 204 TASK_PERMISSION_IN_PARENTAL_CONTROL, // 205 TASK_PERMISSION_IN_BOTH, // 206 TASK_PERMISSION_MAX_VALUE = (0x1u << 7) // 207 }; 208 209 /* Please see man pages for details 210 211 */ 212 enum TaskPriority 213 { 214 PRIORITY_EXPEDITE1 = 21, // 215 PRIORITY_EXPEDITE2 = 22, // 216 PRIORITY_EXPEDITE3 = 23, // 217 PRIORITY_EXPEDITE4 = 24, // 218 PRIORITY_EXPEDITE5 = 25, // 219 PRIORITY_EXPEDITE6 = 26, // 220 PRIORITY_EXPEDITE7 = 27, // 221 PRIORITY_EXPEDITE8 = 28, // 222 PRIORITY_EXPEDITE = 35, // 223 PRIORITY_HIGH = 80, // 224 PRIORITY_MEDIUM = 125, // 225 PRIORITY_LOW = 170, // 226 PRIORITY_LOWEST = 215, // 227 PRIORITY_LOWEST1 = 221, // 228 PRIORITY_LOWEST2 = 222, // 229 PRIORITY_LOWEST3 = 223, // 230 PRIORITY_LOWEST4 = 224, // 231 PRIORITY_LOWEST5 = 225, // 232 PRIORITY_LOWEST6 = 226, // 233 PRIORITY_LOWEST7 = 227, // 234 PRIORITY_LOWEST8 = 228, // 235 PRIORITY_STOPPED = 255, // 236 PRIORITY_MAX_VALUE = (0x1u << 7) // 237 }; 238 239 /* Please see man pages for details 240 241 */ 242 enum Action 243 { 244 ENUM_ACTION_START, // 245 DOWNLOAD_TASK, // 246 NSA_DOWNLOAD_TASK, // 247 UPLOAD_TASK, // 248 SIGNAL_TASK, // 249 CONFIG_UPLOAD_TASK, // 250 PLAYHISTORY_UPLOAD_TASK, // 251 PEDOMETER_UPLOAD_TASK, // 252 ENUM_ACTION_END, // 253 ACTION_MAX_VALUE = (0x1u << 7) // 254 }; 255 256 /* Please see man pages for details 257 258 */ 259 enum ExecOption 260 { 261 ENUM_EXECOPTION_START, // 262 NORMAL_EXEC, // 263 ENUM_EXECOPTION_END, // 264 OPTION_MAX_VALUE = (0x1u << 7) // 265 }; 266 267 /* Please see man pages for details 268 269 */ 270 enum TaskStateCode 271 { 272 TASK_STOPPED, // 273 TASK_WAITING_TIMER, // 274 TASK_WAITING, // 275 TASK_RUNNING, // 276 TASK_PAUSED, // 277 TASK_REGISTERED, // 278 TASK_DONE, // 279 TASK_ERROR, // 280 TASK_RETRY, // 281 GET_TASK_STATE_ERROR, // 282 STATUS_MAX_VALUE = (0x1u << 7) // 283 }; 284 285 /* Please see man pages for details 286 287 */ 288 enum TaskResultCode 289 { 290 TASK_SUCCESS, // 291 BOSS_ERROR_NOMEM, // 292 293 GET_TASK_RESULT_ERROR, // 294 TASK_NOT_EXIST, // 295 TASK_CANCELED, // 296 297 // HTTP communication errors 298 HTTP_ERROR_NOMEM, // 299 HTTP_ERROR_CREATE_EVENT, // 300 HTTP_ERROR_CREATE_MUTEX, // 301 HTTP_ERROR_CREATE_QUEUE, // 302 HTTP_ERROR_CREATE_THREAD, // 303 HTTP_ERROR_IPC_SESSION, // 304 HTTP_ERROR_CLIENT_PROCESS_MAX, // 305 HTTP_ERROR_IPC_SESSION_MAX, // 306 HTTP_ERROR_MSGQ_SEND_LSN, // 307 HTTP_ERROR_MSGQ_RECV_LSN, // 308 HTTP_ERROR_MSGQ_SEND_COMM, // 309 HTTP_ERROR_CONN_NOMORE, // 310 HTTP_ERROR_CONN_STATUS, // 311 HTTP_ERROR_CONN_ADD, // 312 HTTP_ERROR_CONN_HOST_MAX, // 313 HTTP_ERROR_INVALID_URL, // 314 HTTP_ERROR_RESPONSE_HEADER, // 315 HTTP_ERROR_NO_NEWLINE, // 316 HTTP_ERROR_SSL, // 317 HTTP_ERROR_CERT_EXIST, // 318 HTTP_ERROR_NO_CA_CERT_STORE, // 319 HTTP_ERROR_NO_CLIENT_CERT, // 320 HTTP_ERROR_CA_CERT_STORE_MAX, // 321 HTTP_ERROR_CLIENT_CERT_MAX, // 322 HTTP_ERROR_FAIL_TO_CREATE_CERT_STORE, // 323 HTTP_ERROR_FAIL_TO_CREATE_CLIENT_STORE, // 324 HTTP_ERROR_DNS, // 325 HTTP_ERROR_SEND, // 326 HTTP_ERROR_RECV, // 327 HTTP_ERROR_CONNECT, // 328 HTTP_ERROR_GET_PROXY_SETTING, // 329 HTTP_ERROR_TIMEOUT, // 330 HTTP_ERROR_401_UNAUTHORIZED, // 331 HTTP_ERROR_403_FORBIDDEN, // 332 HTTP_ERROR_404_NOT_FOUND, // 333 HTTP_ERROR_408_REQUEST_TIMEOUT, // 334 HTTP_ERROR_416_REQUESTED_RANGE_NOT_SATISFABLE, // 335 HTTP_ERROR_500_INTERNAL_SERVER_ERROR, // 336 HTTP_ERROR_502_BAD_GATEWAY, // 337 HTTP_ERROR_503_SERVICE_UNAVAILABLE, // 338 HTTP_ERROR_504_GATEWAY_TIMEOUT, // 339 HTTP_ERROR_505_VERSION_NOT_SUPPORTED, // 340 HTTP_ERROR_UNSUPPORTED_STATUS, // 341 342 // SSL error 343 SSL_ERROR_FAILED, // 344 SSL_ERROR_WANT_READ, // 345 SSL_ERROR_WANT_WRITE, // 346 SSL_ERROR_SYSCALL, // 347 SSL_ERROR_ZERO_RETURN, // 348 SSL_ERROR_WANT_CONNECT, // 349 SSL_ERROR_SSLID, // 350 SSL_ERROR_VERIFY_CERT, // 351 SSL_ERROR_VERIFY_COMMON_NAME, // 352 SSL_ERROR_VERIFY_ROOT_CA, // 353 SSL_ERROR_VERIFY_CHAIN, // 354 SSL_ERROR_VERIFY_DATE, // 355 SSL_ERROR_GET_SERVER_CERT, // 356 SSL_ERROR_VERIFY_REVOKED_CERT, // 357 SSL_ERROR_OUT_OF_MEMORY, // 358 SSL_ERROR_SESSION, // 359 SSL_ERROR_FAIL_TO_CREATE_CERT_STROE, // 360 SSL_ERROR_FAIL_TO_CREATE_CRL_STORE, // 361 SSL_ERROR_FAIL_TO_CREATE_CLIENT_CERT, // 362 SSL_ERROR_CLIENT_PROCESS_MAX, // 363 SSL_ERROR_IPC_SESSION, // 364 SSL_ERROR_INTERNAL_CERT, // 365 SSL_ERROR_INTERNAL_CRL, // 366 367 // File system access errors 368 FS_ERROR_INVALID_POSITION_BASE, // 369 FS_ERROR_ARCHIVE_NOT_FOUND, // 370 FS_ERROR_FAILED_OPEN_FILE, // 371 FS_ERROR_UNSUPPORTED_OPERATION, // 372 FS_ERROR_INVALID_PATH_FORMAT, // 373 FS_ERROR_ACCESS_DENIED, // 374 FS_ERROR_LIBRARY_NOT_INITIALIZED, // 375 FS_ERROR_INVALID_POSITION, // 376 FS_ERROR_TOO_LONG_PATH, // 377 FS_ERROR_NOT_DEVELOPMENT_ID, // 378 FS_ERROR_HASH_MISMATCH, // 379 FS_ERROR_NO_SUCH_PROCESS_REGISTERED, // 380 FS_ERROR_INVALID_CXI_FORMAT, // 381 FS_ERROR_UNSUPPORTED_ALIGNMENT, // 382 FS_ERROR_INVALID_HANDLE, // 383 FS_ERROR_NOT_FOUND, // 384 385 // NSA Errors 386 NSA_ERROR_STORAGE_INSUFFICIENCY, // 387 NSA_ERROR_NUMBER_OF_NSD_MAX, // 388 NSA_ERROR_VERIFY_HASH, // 389 NSA_ERROR_VERIFY_SIGNATURE, // 390 NSA_NSD_ERROR_VERIFY_HASH, // 391 NSA_NSD_ERROR_VERIFY_SIGNATURE, // 392 NSA_NSD_ERROR_INVALID_FORMAT, // 393 NSA_ERROR_INVALID_FORMAT, // 394 395 // Unexpected errors 396 SEVERE_ERROR, // 397 UNKNOWN_ERROR, // 398 ERROR_MAX_VALUE = (0x1u << 7) // 399 }; 400 401 /* Please see man pages for details 402 403 */ 404 enum TaskServiceStatus 405 { 406 SERVICE_TERMINATED, // 407 SERVICE_AVAILABLE, // 408 SERVICE_UNKNOWN, // 409 GET_SERVICE_STATUS_ERROR, // 410 SERVICE_MAX_VALUE = (0x1u << 7) // 411 }; 412 413 /* Please see man pages for details 414 415 */ 416 enum HeaderInfoType 417 { 418 NSD_TITLEID, // 419 NSD_FLAGS, // 420 NSD_DATATYPE, // 421 NSD_LENGTH, // 422 NSD_SERIALID, // 423 NSD_VERSION, // 424 NSD_ALL, // 425 NSD_HEADER_MAX_VALUE = (0x1u << 7) // 426 }; 427 428 /* Please see man pages for details 429 430 */ 431 enum FileDescriptor 432 { 433 CHAR_TYPE, // 434 WCHAR_TYPE, // 435 HANDLE_TYPE, // 436 FILE_TYPE_MAX_VALUE = (0x1u << 7) // 437 }; 438 439 /* Please see man pages for details 440 441 */ 442 enum ApInfoType 443 { 444 APINFOTYPE_NONE = 0x00, // 445 APINFOTYPE_APGROUP = 0x01, // 446 APINFOTYPE_APAREA = 0x02, // 447 APINFOTYPE_AP = 0x04, // 448 APINFOTYPE_MAX_VALUE = (0x1u << 7) // 449 }; 450 451 /* Please see man pages for details 452 453 */ 454 enum StorageType 455 { 456 USER_EXT_SAVEDATA_STORAGE, // 457 SHARED_EXT_SAVEDATA_STORAGE, // 458 BOSSSTORAGETYPE_MAX_VALUE = (0x1u << 7) // 459 }; 460 461 } // end of namespace boss 462 } // end of namespace nn 463 464 465 #endif /*__cplusplus*/ 466 467 #endif /* NN_BOSS_BOSS_CONST_H_ */ 468