1 /*---------------------------------------------------------------------------* 2 Project: Wii Connect 24 3 File: NWC24Err.h 4 5 Copyright (C) 2006 Nintendo 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 $Log: NWC24Err.h,v $ 14 Revision 1.26 2007/06/08 05:34:41 adachi_hiroaki 15 Added NWC24_ERR_SCRIPT_VERSION and NWC24_ERR_GIVE_UP. 16 17 Revision 1.25 2007/04/12 12:05:05 hirose_kazuki 18 Added further more NWC24_ERRCODE_* definitions. 19 20 Revision 1.24 2007/03/27 06:39:30 hirose_kazuki 21 Added some more NWC24_ERRCODE_* definitions. 22 23 Revision 1.23 2007/01/31 08:43:03 hirose_kazuki 24 Added NWC24_ERR_OLD_SYSTEM. 25 26 Revision 1.22 2006/11/15 08:36:48 hirose_kazuki 27 Added NWC24_ERR_CANCELLED. 28 29 Revision 1.21 2006/11/06 13:53:58 hirose_kazuki 30 Added NWC24_ERRCODE_AT_CHECK() macro. 31 32 Revision 1.20 2006/11/03 07:16:48 hirose_kazuki 33 Added error grouping macros. 34 35 Revision 1.19 2006/10/31 12:37:17 hirose_kazuki 36 Added definition of NWC24_ERRCODE_AT_REGISTER. 37 38 Revision 1.18 2006/10/29 17:30:19 seiki_masashi 39 Added NWC24_ERR_INVALID_CHAR. 40 41 Revision 1.17 2006/10/26 08:17:20 hirose_kazuki 42 Defined NWC24_ERRCODE_SYSCONFIG. 43 44 Revision 1.16 2006/10/19 04:35:32 hirose_kazuki 45 Added global error code definitions. 46 47 Revision 1.15 2006/10/16 00:50:44 adachi_hiroaki 48 Added NWC24_ERR_FILE_BROKEN. 49 50 Revision 1.14 2006/10/05 09:44:49 adachi_hiroaki 51 Added NWC24_ERR_ID_NOT_REGISTERED, NWC24_ERR_VERIFY_SIGNATURE. 52 53 Revision 1.13 2006/10/02 08:49:48 hirose_kazuki 54 Renamed latest two enum definitions. 55 56 Revision 1.12 2006/09/30 12:38:46 hirose_kazuki 57 Added NWC24_ERR_INTER_PROC and NWC24_ERR_VFLIB. 58 59 Revision 1.11 2006/09/28 11:34:54 adachi_hiroaki 60 Added some error codes for download API. 61 62 Revision 1.10 2006/09/23 05:51:31 hirose_kazuki 63 Added NWC24_ERR_NAND_CORRUPT. 64 65 Revision 1.9 2006/09/06 01:46:36 hirose_kazuki 66 Added NWC24_ERR_ID_CRC. 67 68 Revision 1.8 2006/08/23 06:00:46 adachi_hiroaki 69 Changed error codes for account creation. 70 71 Revision 1.7 2006/08/18 02:42:22 adachi_hiroaki 72 Added some error codes. 73 74 Revision 1.6 2006/08/16 06:19:42 hirose_kazuki 75 Added NWC24_ERR_NOT_READY. 76 77 Revision 1.5 2006/08/10 13:05:57 terui 78 Added NWC24_ERR_INPROGRESS definition 79 80 Revision 1.4 2006/07/15 00:59:58 hirose_kazuki 81 Added new enum values. 82 83 Revision 1.3 2006/07/11 04:32:16 hirose_kazuki 84 Yet another repository reforming. 85 86 Revision 1.1 2006/07/03 03:23:31 yosizaki 87 Moved from ../ppc 88 89 Revision 1.2 2006/07/01 11:33:11 hirose_kazuki 90 Added NWC24_ERR_BUSY. 91 92 Revision 1.1 2006/06/29 12:43:43 hirose_kazuki 93 Moved from another repository. 94 95 Revision 1.1 2006/06/10 10:34:21 hirose 96 Initial check in. 97 98 *---------------------------------------------------------------------------*/ 99 100 /*---------------------------------------------------------------------------* 101 Error codes used for NWC24 APIs 102 *---------------------------------------------------------------------------*/ 103 #ifndef __NWC24ERR_H__ 104 #define __NWC24ERR_H__ 105 106 /*---------------------------------------------------------------------------*/ 107 typedef enum NWC24Err 108 { 109 NWC24_OK = 0, 110 NWC24_ERR_FATAL = -1, 111 NWC24_ERR_FAILED = -2, 112 NWC24_ERR_INVALID_VALUE = -3, 113 NWC24_ERR_NOT_SUPPORTED = -4, 114 NWC24_ERR_NULL = -5, 115 NWC24_ERR_FULL = -6, 116 NWC24_ERR_PROTECTED = -7, 117 NWC24_ERR_OVERFLOW = -8, 118 NWC24_ERR_LIB_NOT_OPENED = -9, 119 NWC24_ERR_LIB_OPENED = -10, 120 NWC24_ERR_NOMEM = -11, 121 NWC24_ERR_CONFIG = -12, 122 NWC24_ERR_NOT_FOUND = -13, 123 NWC24_ERR_BROKEN = -14, 124 NWC24_ERR_DONE = -15, 125 NWC24_ERR_FILE_OPEN = -16, 126 NWC24_ERR_FILE_CLOSE = -17, 127 NWC24_ERR_FILE_READ = -18, 128 NWC24_ERR_FILE_WRITE = -19, 129 NWC24_ERR_FILE_NOEXISTS = -20, 130 NWC24_ERR_FILE_OTHER = -21, 131 NWC24_ERR_MUTEX = -22, 132 NWC24_ERR_ALIGNMENT = -23, 133 NWC24_ERR_FORMAT = -24, 134 NWC24_ERR_STRING_END = -25, 135 NWC24_ERR_BUSY = -26, 136 NWC24_ERR_VER_MISMATCH = -27, 137 NWC24_ERR_HIDDEN = -28, 138 NWC24_ERR_INPROGRESS = -29, 139 NWC24_ERR_NOT_READY = -30, 140 NWC24_ERR_NETWORK = -31, 141 NWC24_ERR_SERVER = -32, 142 NWC24_ERR_CONFIG_NETWORK = -33, 143 NWC24_ERR_ID_NOEXISTS = -34, 144 NWC24_ERR_ID_GENERATED = -35, 145 NWC24_ERR_ID_REGISTERED = -36, 146 NWC24_ERR_ID_CRC = -37, 147 NWC24_ERR_NAND_CORRUPT = -38, 148 NWC24_ERR_DISABLED = -39, 149 NWC24_ERR_INVALID_OPERATION = -40, 150 NWC24_ERR_FILE_EXISTS = -41, 151 NWC24_ERR_INTERNAL_IPC = -42, 152 NWC24_ERR_INTERNAL_VF = -43, 153 NWC24_ERR_ID_NOT_REGISTERED = -44, 154 NWC24_ERR_VERIFY_SIGNATURE = -45, 155 NWC24_ERR_FILE_BROKEN = -46, 156 NWC24_ERR_INVALID_CHAR = -47, 157 NWC24_ERR_CANCELLED = -48, 158 NWC24_ERR_OLD_SYSTEM = -49, 159 NWC24_ERR_SCRIPT_VERSION = -50, 160 NWC24_ERR_GIVE_UP = -51 161 162 } NWC24Err; 163 164 /*---------------------------------------------------------------------------*/ 165 166 // Macros to distinguish error properties 167 #define NWC24_ERR_IS_FILE(err) \ 168 ( (( err <= NWC24_ERR_FILE_OPEN ) && ( err >= NWC24_ERR_FILE_OTHER )) || \ 169 ( err == NWC24_ERR_NAND_CORRUPT ) || \ 170 ( err == NWC24_ERR_FILE_EXISTS ) || \ 171 ( err == NWC24_ERR_INTERNAL_VF ) || \ 172 ( err == NWC24_ERR_FILE_BROKEN ) ) 173 174 #define NWC24_ERR_IS_FATAL(err) \ 175 ( ( err == NWC24_ERR_FATAL ) || \ 176 ( err == NWC24_ERR_NOMEM ) || \ 177 ( err == NWC24_ERR_INTERNAL_IPC ) ) 178 179 #define NWC24_ERR_IS_RETRIABLE(err) \ 180 ( ( err == NWC24_ERR_MUTEX ) || \ 181 ( err == NWC24_ERR_BUSY ) || \ 182 ( err == NWC24_ERR_INPROGRESS ) ) 183 184 /*---------------------------------------------------------------------------*/ 185 186 // Global error codes 187 #define NWC24_ERRCODE_BASE (-109000) 188 #define NWC24_ERRCODE_AT_OPEN(err) (NWC24_ERRCODE_BASE+(err)) 189 190 #define NWC24_ERRCODE_CHECK (-109100) 191 #define NWC24_ERRCODE_AT_CHECK(err) (NWC24_ERRCODE_CHECK+(err)) 192 193 #define NWC24_ERRCODE_SENDBOX_FULL (-109106) 194 #define NWC24_ERRCODE_PROHIBITED (-109107) 195 #define NWC24_ERRCODE_SYSCONFIG (-109112) 196 #define NWC24_ERRCODE_NCD (-109133) 197 #define NWC24_ERRCODE_DISABLED (-109139) 198 #define NWC24_ERRCODE_ID_NOT_REGISTERED (-109144) 199 200 #define NWC24_ERRCODE_REGISTER (-109200) 201 #define NWC24_ERRCODE_AT_REGISTER(err) (NWC24_ERRCODE_REGISTER+(err)) 202 203 #define NWC24_ERRCODE_COMMIT (-109300) 204 #define NWC24_ERRCODE_AT_COMMIT(err) (NWC24_ERRCODE_COMMIT+(err)) 205 206 #define NWC24_ERRCODE_MSGBOX_OPS (-109400) 207 #define NWC24_ERRCODE_AT_MSGBOX_OPS(err) (NWC24_ERRCODE_MSGBOX_OPS+(err)) 208 209 #define NWC24_ERRCODE_DLTASK_OPS (-109500) 210 #define NWC24_ERRCODE_AT_DLTASK_OPS(err) (NWC24_ERRCODE_DLTASK_OPS+(err)) 211 212 #define NWC24_ERRCODE_FLIST_OPS (-109600) 213 #define NWC24_ERRCODE_AT_FLIST_OPS(err) (NWC24_ERRCODE_FLIST_OPS+(err)) 214 215 #define NWC24_ERRCODE_SCD_OPS (-109700) 216 #define NWC24_ERRCODE_AT_SCD_OPS(err) (NWC24_ERRCODE_SCD_OPS+(err)) 217 218 #define NWC24_ERRCODE_UNDEFINED (-109999) 219 220 /*---------------------------------------------------------------------------*/ 221 222 #endif // __NWC24ERR_H__ 223 224