1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: boss_Const.h 4 Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. 5 These coded instructions, statements, and computer programs contain 6 proprietary information of Nintendo of America Inc. and/or Nintendo 7 Company Ltd., and are protected by Federal copyright law. They may 8 not be disclosed to third parties or copied or duplicated in any form, 9 in whole or in part, without the prior written consent of Nintendo. 10 $Rev: 37017 $ 11 *--------------------------------------------------------------------------- 12 13 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 error 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 error 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 Error 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 error 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