1 /*---------------------------------------------------------------------------* 2 Project: Wii Connect 24 3 File: NWC24Types.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: NWC24Types.h,v $ 14 Revision 1.19 2007/07/12 12:00:55 hirose_kazuki 15 Added type definition of NWC24SearchCompareMode. 16 17 Revision 1.18 2007/06/30 02:00:07 hirose_kazuki 18 Deleted definition of NWC24_CHJP_OPTOUT_ENABLE. 19 20 Revision 1.17 2007/06/04 12:52:55 hirose_kazuki 21 Added definition of NWC24CHJumpObj. 22 23 Revision 1.16 2007/05/29 05:41:58 hirose_kazuki 24 Added definition of NWC24MBJumpHeader. 25 Deleted NWC24MIMEType definitions that are added recently. 26 27 Revision 1.15 2007/05/24 02:00:40 hirose_kazuki 28 Added definition of NWC24_LED_*_DEFAULT. 29 Removed definition of NWC24_LED_PATTERN_DEFAULT instead. 30 31 Revision 1.14 2007/05/03 09:57:44 hirose_kazuki 32 Added definition of NWC24_LED_PATTERN_DEFAULT. 33 34 Revision 1.13 2007/04/24 12:33:16 hirose_kazuki 35 Added definition of NWC24_AUD_WII_SOUND. 36 37 Revision 1.12 2007/04/18 02:51:13 hirose_kazuki 38 Added definition of NWC24_APP_WII_CHJUMP. 39 40 Revision 1.11 2007/04/10 04:37:30 adachi_hiroaki 41 Supported Win32 platform. 42 43 Revision 1.10 2006/11/08 00:54:30 torigoe_nobutaka 44 Added definition of NWC24_WINDOWS_1252. 45 46 Revision 1.9 2006/10/30 05:48:01 hirose_kazuki 47 Added definition of NWC24_MUL_RELATED. 48 49 Revision 1.8 2006/10/29 17:32:23 seiki_masashi 50 Added NWC24AutoEncodingType. 51 52 Revision 1.7 2006/10/24 01:17:24 hirose_kazuki 53 Added definition of NWC24_TXT_HTML and NWC24_MUL_ALTERNATIVE. 54 55 Revision 1.6 2006/10/09 10:34:04 hirose_kazuki 56 Added enum values for NWC24Charset. 57 58 Revision 1.5 2006/09/21 02:34:14 hirose_kazuki 59 Re-arrangement of message types. 60 61 Revision 1.4 2006/09/20 12:55:31 hirose_kazuki 62 Added definition of NWC24_APP_WII_MINIDATA. 63 Redefined enums of NWC24MsgType. 64 65 Revision 1.3 2006/09/02 04:25:02 hirose_kazuki 66 Updated NWC24MIMEType definitions to support message board data. 67 68 Revision 1.2 2006/08/15 01:24:00 yasu 69 Added definitions of basic variables in IOP 70 71 Revision 1.1 2006/08/07 05:57:05 hirose_kazuki 72 Separated from NWC24Msg.h. 73 Added new type NWC24_MSGTYPE_WII_HIDDEN to NWC24MsgType. 74 75 76 *---------------------------------------------------------------------------*/ 77 78 /*---------------------------------------------------------------------------* 79 NWC24 Message API 80 *---------------------------------------------------------------------------*/ 81 #ifndef __NWC24TYPES_H__ 82 #define __NWC24TYPES_H__ 83 84 #ifdef __MWERKS__ 85 #pragma enumsalwaysint on 86 #endif // __MWERKS__ 87 88 #if defined(RVL_OS) || defined(WIN32) 89 #include <revolution/types.h> 90 #endif //RVL_OS 91 92 /*---------------------------------------------------------------------------* 93 Type definitions 94 *---------------------------------------------------------------------------*/ 95 96 typedef enum NWC24MsgType 97 { 98 NWC24_MSGTYPE_RVL_MENU_SHARED = 0, 99 NWC24_MSGTYPE_WII_MENU_SHARED = 0, 100 NWC24_MSGTYPE_RVL_APP = 1, 101 NWC24_MSGTYPE_WII_APP = 1, 102 NWC24_MSGTYPE_RVL_MENU = 2, 103 NWC24_MSGTYPE_WII_MENU = 2, 104 NWC24_MSGTYPE_RVL_APP_HIDDEN = 3, 105 NWC24_MSGTYPE_WII_APP_HIDDEN = 3, 106 107 #if 1 108 NWC24_MSGTYPE_RVL = 1, // Made obsolete: for compatibility 109 NWC24_MSGTYPE_WII = 1, // Made obsolete: for compatibility 110 NWC24_MSGTYPE_RVL_APP_ONLY = 1, // Made obsolete for compatibility 111 NWC24_MSGTYPE_WII_APP_ONLY = 1, // Made obsolete: for compatibility 112 NWC24_MSGTYPE_RVL_MENU_ONLY = 2, // Made obsolete: for compatibility 113 NWC24_MSGTYPE_WII_MENU_ONLY = 2, // Made obsolete: for compatibility 114 NWC24_MSGTYPE_RVL_HIDDEN = 3, // Made obsolete: for compatibility 115 NWC24_MSGTYPE_WII_HIDDEN = 3, // Made obsolete: for compatibility 116 #endif 117 118 NWC24_MSGTYPE_PUBLIC = 4 119 120 } NWC24MsgType; 121 122 typedef enum NWC24MsgBoxId 123 { 124 NWC24_SEND_BOX, 125 NWC24_RECV_BOX 126 127 } NWC24MsgBoxId; 128 129 typedef enum NWC24Charset 130 { 131 NWC24_US_ASCII = 0x00000000, 132 NWC24_UTF_8 = 0x00010008, 133 NWC24_UTF_16 = 0x00010010, 134 NWC24_UTF_16BE = 0x00010010, // same 135 NWC24_UTF_32 = 0x00010020, 136 NWC24_UTF_32BE = 0x00010020, // same 137 NWC24_ISO_2022_JP = 0x00020000, 138 NWC24_SHIFT_JIS = 0x00020001, 139 NWC24_EUC_JP = 0x00020002, 140 NWC24_ISO_8859_1 = 0x00080001, 141 NWC24_ISO_8859_2 = 0x00080002, 142 NWC24_ISO_8859_3 = 0x00080003, 143 NWC24_ISO_8859_5 = 0x00080005, 144 NWC24_ISO_8859_7 = 0x00080007, 145 NWC24_ISO_8859_9 = 0x00080009, 146 NWC24_ISO_8859_10 = 0x0008000A, 147 NWC24_ISO_8859_15 = 0x0008000F, 148 NWC24_WINDOWS_1252 = 0x000F1252, 149 150 NWC24_CHARSET_UNKNOWN = 0xFFFFFFFF 151 152 } NWC24Charset; 153 154 typedef enum NWC24Encoding 155 { 156 NWC24_ENC_7BIT, 157 NWC24_ENC_8BIT, 158 NWC24_ENC_BASE64, 159 NWC24_ENC_QUOTED_PRINTABLE, 160 NWC24_MAX_ENCODINGS 161 162 } NWC24Encoding; 163 164 typedef enum NWC24MIMEType 165 { 166 NWC24_VOID_MIMETYPE = 0x00000000, 167 NWC24_TXT_PLAIN = 0x00010000, 168 NWC24_TXT_HTML = 0x00010001, 169 NWC24_IMG_JPEG = 0x00020000, 170 NWC24_IMG_WII_PICTURE = 0x00020001, 171 NWC24_APP_OCTET_STREAM = 0x00030000, 172 NWC24_APP_WII_MSGBOARD = 0x00030001, 173 NWC24_APP_WII_MINIDATA = 0x00030002, 174 NWC24_MUL_MIXED = 0x000F0000, 175 NWC24_MUL_ALTERNATIVE = 0x000F0001, 176 NWC24_MUL_RELATED = 0x000F0002 177 178 } NWC24MIMEType; 179 180 typedef enum NWC24AutoEncodingType 181 { 182 NWC24_AUTOENCODING_JP = 0, 183 NWC24_AUTOENCODING_US = 1, 184 NWC24_AUTOENCODING_EU = 2 185 } NWC24AutoEncodingType; 186 187 typedef enum NWC24SearchCompareMode 188 { 189 NWC24_SEARCH_CMP_NEQUAL = 0, 190 NWC24_SEARCH_CMP_EQUAL = 1, 191 NWC24_SEARCH_CMP_LEQUAL = 2, 192 NWC24_SEARCH_CMP_GEQUAL = 3, 193 NWC24_SEARCH_CMP_BITMASK = 4 194 } NWC24SearchCompareMode; 195 196 typedef u64 NWC24UserId; 197 198 199 typedef struct NWC24MsgObj 200 { 201 // 256 bytes 202 u32 data[64]; 203 204 } NWC24MsgObj; 205 206 207 #define NWC24_CHJP_DATA_MAX (512+64) 208 #define NWC24_CHJP_NUMBLOCKS_MAX 8 209 210 typedef struct NWC24CHJumpHeader 211 { 212 u32 magic; 213 u32 totalSize; 214 u32 numBlocks; 215 u32 options; 216 u64 titleId; 217 218 } NWC24CHJumpHeader; 219 220 typedef struct NWC24CHJumpObj 221 { 222 NWC24CHJumpHeader header; 223 char data[NWC24_CHJP_DATA_MAX]; 224 225 } NWC24CHJumpObj; 226 227 228 #define NWC24_LED_APP_DEFAULT 0x00002019U 229 #define NWC24_LED_SYSMENU_DEFAULT 0x00004001U 230 231 /*---------------------------------------------------------------------------*/ 232 /*---------------------------------------------------------------------------*/ 233 234 #endif // __NWC24TYPES_H__ 235 236