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