1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<!--DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"-->
3<!--==========================================================================
4Project:  RVLDWC - man
5File:     main.html
6
7Copyright 2005-2008 Nintendo.  All rights reserved.
8
9These coded instructions, statements, and computer programs contain
10proprietary information of Nintendo of America Inc. and/or Nintendo
11Company Ltd., and are protected by Federal copyright law.  They may
12not be disclosed to third parties or copied or duplicated in any form,
13in whole or in part, without the prior written consent of Nintendo.
14
15$NoKeywords: $
16==========================================================================-->
17
18<html>
19
20    <head>
21        <META http-equiv="Content-Type" content="text/html; charset=windows-1252">
22        <meta http-equiv="Content-Style-Type" content="text/css">
23<title>RVL DWC Function Reference Manual</title>
24        <link href="css/titles.css" rel="stylesheet">
25    </head>
26
27    <body>
28<h1 class="title">RVL DWC Function Reference Manual<BR> (US Version)<BR></h1>
29<p class="caution"><B>Note:</B> This document contains proprietary information. Please take strict measures to keep this information confidential.</p>
30<p class="copyright"><B>&copy;2005-2008 Nintendo All rights reserved.<br>RVL-06-0198-001-V</B></p>
31<p class="recommend">Microsoft Internet Explorer 5.0/Netscape 6.0 or later versions are recommended.</p>
32
33<h3>Table of Contents</h3>
34        <p>
35<A href="main.html#hajimeni">Introduction</A><BR> <A href="main.html#kousei">Configuration of RVL DWC</A><BR> <A href="main.html#houhou">Method of Use</A><BR> <A href="main.html#tyuui">Precautions</A><BR> <A href="main.html#document">About the Documentation</A><BR> <A href="main.html#sample">About the Sample Demo</A><BR>
36        </p>
37
38
39<A name="hajimeni"><h3>Introduction</h3></a>
40<p>RVL DWC can be used for connecting to Nintendo Wi-Fi Connection, registering friends, accessing friend status, or connecting to another Wii or Nintendo DS with matching conditions.</p>
41
42<a name="kousei"><h3>RVL DWC Configuration</h3></a>
43<p>The RVL DWC Library allows formulaic processing of the following features:</p>
44        <UL>
45<li>Authentication using the Nintendo authentication server</li>
46<li>A user management system that does not require the game user to be aware of the user name or password</li>
47<li>A friend registration system that does not require the user to be aware of whether they are connected to the Internet</li>
48<li>Creation of an automatic mesh connection without any awareness of the connection order for a large number of unspecified partners</li>
49<li>Creation of an automatic mesh connection without any awareness of friend-exclusive connection order</li>
50<li>Creation of a semi-automatic mesh connection with a friend-exclusive server-client method</li>
51<li>General-purpose ranking</li>
52<li>Download functionality (Wi-Fi Download Service)</li>
53        </UL>
54
55
56<a name="houhou"><h3>Using the Library</h3></a>
57<p>To use the RVL DWC library, you must connect to the Nintendo Authentication Server and GameSpy server. Doing this requires an environment that can connect to the Internet.</p>
58<p>The following environment variables must be set to build RVL DWC:</p>
59        <p>
60        <ul>
61<li><CODE>REVOLUTION_SDK_ROOT</CODE>  Revolution SDK root directory</li>
62<li><CODE>REVOLUTION_EXT_ROOT</CODE>  Revo EX library root directory</li>
63<li><CODE>CWFOLDER_RVL</CODE>         CodeWarrior for Revolution directory</li>
64<li><CODE>LM_LICENSE_FILE</CODE>      CodeWarrior license file</li>
65<li><CODE>RVLDWC_ROOT</CODE>          RVL DWC root directory</li>
66        </ul>
67        </p>
68<p>In addition, the following path must be added to the environment variable <CODE>PATH</CODE>:</p>
69        <p>
70        <ul>
71<li><CODE>PATH=%REVOLUTION_SDK_ROOT%\X86\bin;%CWFOLDER_RVL%\bin;%CYGWIN_PATH%\bin;%PATH%</CODE></li>
72        </ul>
73        </p>
74<p>To simplify these settings, <CODE>shellrun.bat</CODE> has been placed in the root directory. Running this batch file allows the startup of a shell for which environment variables have been set. Edit the contents as needed depending on the environment.
75        </p>
76
77<a name="tyuui"><h3>Notes</h3></a>
78<h4>Maintenance information for each server:</h4>
79
80<h5>Nintendo Authentication Server</h5>
81<p>This server authenticates the Nintendo Wi-Fi Connection ID that is set on the Wii console and issues information for connecting to the GameSpy server.</p>
82<p>Two types of authentication servers are available: Use the development authentication server during development and debugging, and the product authentication server when creating the final ROM. Although both the development and the production authentication server are operating continuously, the development authentication server may go down because it does not have a redundant configuration. If the development authentication server goes down for any reason, the product authentication server may be used.
83        </p>
84<p>Refer to the following links to confirm the operation status of each authentication server. If &quot;AuthServer is up&quot; appears, the server is running.</p>
85        <table width="80%" border="1" cellspacing="2" cellpadding="0" align="center">
86            <tr>
87<td align="center" width="50%"><a href="https://nas.nintendowifi.net/nastest.jsp" target="_blank">Authentication Server for Production</a></td>
88<td align="center"><a href="https://nas.test.nintendowifi.net/nastest.jsp" target="_blank">Authentication Server for Development</a></td>
89            </tr>
90        </table>
91<p><strong>IMPORTANT: By default, the authentication server for development is used. The authentication server is switched with the <CODE>DWC_Init</CODE> function. For more details, see the Function Reference.</strong></p>
92
93<h5>GameSpy Server</h5>
94<p>The GameSpy server is down every Tuesday from 16:00 to 18:00 Japan time (UTC/GMT +9). Sometimes that maintenance work is not completed by 18:00, and the downtime lasts a little longer.</p>
95<p>Note that there is no distinction between the development and product servers for friend management and the matchmaking process. When testing matchmaking during the development of a remastered or localized version, matchmaking will sometimes occur with titles that have already been released even if you specify <CODE>DWC_AUTHSERVER_DEBUG</CODE> in the <CODE>DWC_Init</CODE> function.</p>
96<p>To avoid this, use a matchmaking filter to prevent peer matchmaking with friend specified between the release and development (debugging) versions. (Refer to the <CODE>DWC_AddMatchKeyString</CODE> function for more on matchmaking filters.)</p>
97<p>General-purpose ranking and data storage have two server versions -- one for development and one for production -- as is the case with the authentication server. These servers will be switched when the authentication server is switched.</p>
98
99
100        <p>
101<font color="red"><B>Note:</B>  At this time, no method is available for checking the GameSpy server's operating state.</font></BR> <B>Note:</B> The general-purpose ranking feature also uses the GameSpy server.</BR>
102        </p>
103
104<h5>Comments</h5>
105        <ul>
106<li>Once a user ID has been created on the authentication server, it cannot be changed or deleted.
107<li>A server for local debug use is not provided.
108        </ul>
109
110<a name="document"><h3>Documentation</h3></a>
111<p>The following programming-related documents are included in <code>$(RVLDWC_ROOT)/docs</code>.
112        <ul>
113<li><I>Nintendo Wi-Fi Connection Revolution DWC Programming Manual</I></li>
114        </ul>
115        </p>
116<p>In addition, you can also obtain the latest version of documentation, such as <I>Nintendo Wi-Fi Connection Programming Guidelines for Wii</I>, which includes precautions on creating code, and other documentation included in this package from the Nintendo Support Page.</p>
117
118<a name="sample"><h3>About the Sample Demos</h3></a>
119<p>Function samples for use as reference during implementation are stored in <code>$(RVLDWC_ROOT)/build/demos</code>. The objective of each sample demo is explained below.</p>
120        <table border="1" align="center" class="hoge">
121            <tr>
122<td width="25%" class="hoge">cfriend</td>
123<td widht="75%" class="hoge">Sample of the console friend link feature.</td>
124            </tr>
125            <tr>
126<td width="25%" class="hoge">datastorage</td>
127<td widht="75%" class="hoge">Reads and writes data to/from the data storage server.</td>
128            </tr>
129            <tr>
130<td width="25%" class="hoge">download</td>
131<td widht="75%" class="hoge">Sample of the download feature.</td>
132            </tr>
133            <tr>
134<td width="25%" class="hoge">frienddata</td>
135<td widht="75%" class="hoge">Used for handling friend information.</td>
136            </tr>
137            <tr>
138<td width="25%" class="hoge">match_anybody</td>
139<td widht="75%" class="hoge">Shows the creation of an automatic mesh connection without any awareness of the connection order for a large number of unspecified partners.</td>
140            </tr>
141            <tr>
142<td width="25%" class="hoge">match_friends</td>
143<td widht="75%" class="hoge">Shows the creation of an automatic mesh connection without any awareness of friend-exclusive connection order.</td>
144            </tr>
145            <tr>
146<td width="25%" class="hoge">match_lan</td>
147<td widht="75%" class="hoge">Performs matchmaking within the LAN for testing purposes.</td>
148            </tr>
149            <tr>
150<td width="25%" class="hoge">match_menu</td>
151<td widht="75%" class="hoge">Implements a menu that can be used to test each type of matchmaking.</td>
152            </tr>
153            <tr>
154<td width="25%" class="hoge">match_serverclient</td>
155<td widht="75%" class="hoge">Shows the creation of a semi-automatic mesh connection with a friend-exclusive server-client method.</td>
156            </tr>
157            <tr>
158<td width="25%" class="hoge">naslogin</td>
159<td widht="75%" class="hoge">A sample of a login to the authentication server.</td>
160            </tr>
161            <tr>
162<td width="25%" class="hoge">ranking</td>
163<td widht="75%" class="hoge">A sample of the general-purpose ranking feature.</td>
164            </tr>
165            <tr>
166<td width="25%" class="hoge">userdata</td>
167<td widht="75%" class="hoge">Used for handling user data.</td>
168            </tr>
169            <tr>
170<td width="25%" class="hoge">prof</td>
171<td widht="75%" class="hoge">Sample of an illegal string check.</td>
172            </tr>
173            <tr>
174<td width="25%" class="hoge">template</td>
175<td widht="75%" class="hoge">Demo template.</td>
176            </tr>
177        </table>
178
179
180<h3>Revision History</h3>
181        <p>
182            <DL>
183
184            <DT>2.0.1</DT>
185<DD><CODE>DWC_AddMatchKeyInt</CODE>: Added information related to unusable key names.</DD><BR><DD><CODE>DWC_AddMatchKeyString</CODE>: Added information related to unusable key names.</DD>
186<DD><CODE>DWC_RequestSuspendMatchAsync</CODE>: Mentioned that the acceptance status will change after all hosts have called this function.</DD>
187<DD><CODE>DWCErrorType</CODE>: Removed a description related to calling the <CODE>SOFinish</CODE> function.</DD>
188
189
190            <DT>2.0.0</DT>
191<DD><CODE>DWCSvlResult</CODE>: Added Notes about the current operation of <CODE>status</CODE> and <CODE>svlhost</CODE>.</DD><BR><DD><CODE>DWC_GetLastError</CODE>: Specifications have changed so that <CODE>SOFinish</CODE> does not need to be called when a <CODE>DWC_ETYPE_DISCONNECT</CODE> error has been generated.</DD>
192<DD><CODE>DWC_GetFriendStatus</CODE>: Changed the return value specification.</DD>
193<DD><CODE>DWC_GetFriendStatusSC</CODE>: Changed the return value specification.</DD>
194<DD><CODE>DWC_GetFriendStatusData</CODE>: Changed the return value specification.</DD>
195<DD><CODE>DWC_GetFriendStatusDataSC</CODE>: Changed the return value specification.</DD>
196<DD><CODE>DWC_ConnectToAnybodyAsync</CODE>: Changed the return value specification.</DD>
197<DD><CODE>DWC_ConnectToFriendsAsync</CODE>: Changed the return value specification.</DD>
198<DD><CODE>DWC_SetupGameServer</CODE>: Changed the return value specification.</DD>
199<DD><CODE>DWC_ConnectToGameServerAsync</CODE>: Changed the return value specification.</DD>
200<DD><CODE>DWC_ConnectToGameServerByGroupID</CODE>: Initial addition.</DD>
201<DD><CODE>DWC_GetNumConnectionHost</CODE>: Added an explanation of the states in which this function can be used.</DD>
202<DD><CODE>DWC_GetMyAID</CODE>: Added an explanation of the states in which this function can be used.</DD>
203<DD><CODE>DWC_GetAIDList</CODE>:  Added an explanation of the states in which this function can be used.</DD>
204<DD><CODE>DWC_GetAIDBitmap</CODE>: Added an explanation of the states in which this function can be used.</DD>
205<DD><CODE>DWC_GetServerAID</CODE>: Initial addition.</DD>
206<DD><CODE>DWC_IsServerMyself</CODE>: Initial addition.</DD>
207<DD><CODE>DWC_GetDirectConnectedAIDBitmap</CODE>: Initial addition.</DD>
208<DD><CODE>DWCMatchedSCCallback</CODE>: Made revisions in line with changes to the specifications used by all matchmaking types.</DD>
209<DD><CODE>DWCNewClientCallback</CODE>: Made revisions in line with changes to the specifications used by all matchmaking types.</DD>
210<DD><CODE>DWCConnectAttemptCallback</CODE>: Initial addition.</DD>
211<DD><CODE>DWCSuspendCallback</CODE>: Initial addition.</DD>
212<DD><CODE>DWC_CancelMatch</CODE>: Added a note directing to use this function only when the local host has not yet connected to anyone else.</DD>
213<DD><CODE>DWC_CancelMatch</CODE>: Removed the description of <CODE>DWCMatchedCallback</CODE>.</DD>
214<DD><CODE>DWC_GetGroupID</CODE>: Initial addition.</DD>
215<DD><CODE>DWC_RequestSuspendMatchAsync</CODE>: Initial addition.</DD>
216<DD><CODE>DWC_GetSuspendMatch</CODE>: Initial addition.</DD>
217<DD><CODE>DWC_GetConnectionUserData</CODE>: Initial addition.</DD>
218<DD><CODE>DWC_SetDebugMeshNNRetryMax</CODE>: Initial addition.</DD>
219<DD><CODE>DWC_GetDebugMeshNNRetryMax</CODE>: Initial addition.</DD>
220<DD><CODE>DWCUserSendCallback</CODE>: Specification change.</DD>
221<DD><CODE>DWCUserRecvCallback</CODE>: Specification change.</DD>
222<DD><CODE>DWCUserRecvTimeoutCallback</CODE>: Specification change.</DD>
223<DD><CODE>DWCUserPingCallback</CODE>: Specification change.</DD>
224<DD><CODE>DWC_SetUserSendCallback</CODE>: Specification change.</DD>
225<DD><CODE>DWC_SetUserRecvCallback</CODE>: Specification change.</DD>
226<DD><CODE>DWC_SetUserRecvTimeoutCallback</CODE>: Specification change.</DD>
227<DD><CODE>DWC_SetUserPingCallback</CODE>: Specification change.</DD>
228<DD><CODE>DWC_SetConnectionKeepAliveTime</CODE>: Initial addition.</DD>
229<DD><CODE>DWC_GetConnectionKeepAliveTime</CODE>: Initial addition.</DD>
230
231
232            <DT>1.4.21</DT>
233<DD><CODE>DWC_GetLastError</CODE>: Added a note about the fact that it is necessary to call <CODE>DWC_Shutdown</CODE> when <CODE>DWC_ETYPE_DISCONNECT</CODE> has been generated.</DD><BR><DD><CODE>DWC_AddMatchKeyInt</CODE>: Made it explicit that the key ID specified is fixed at 0 when getting a new key ID.</DD>
234<DD><CODE>DWC_AddMatchKeyString</CODE>: Made it explicit that the key ID specified is fixed at 0 when getting a new key ID.</DD>
235
236
237            <DT>1.4.20</DT>
238<DD><CODE>DWC_CheckUserData</CODE>: Added a precaution about the <CODE>DWC_ClearDirtyFlag</CODE> function.</DD><BR><DD><CODE>DWC_ClearDirtyFlag</CODE>: Mentioned that the CRC value included in user data will be recalculated.</DD>
239<DD><CODE>DWCEvalPlayerCallback</CODE>: Noted that it takes some time for the addition of a condition key to be propagated to the server.</DD>
240<DD><CODE>DWC_AddMatchKeyInt</CODE>: Corrected a typo in the maximum number of keys that can be used by the application.</DD>
241<DD><CODE>DWC_AddMatchKeyInt</CODE>: Corrected a typo in the key ID specified when a new key ID is obtained.</DD>
242<DD><CODE>DWC_AddMatchKeyInt</CODE>: Added a caution that identical key names cannot be used.</DD>
243<DD><CODE>DWC_AddMatchKeyString</CODE>: Noted that empty strings cannot be specified.</DD>
244<DD><CODE>DWC_AddMatchKeyString</CODE>: Corrected a typo in the maximum number of keys that can be used by the application.</DD>
245<DD><CODE>DWC_AddMatchKeyString</CODE>: Corrected a typo in the key ID specified when a new key ID is obtained.</DD>
246<DD><CODE>DWC_AddMatchKeyString</CODE>: Added a caution that identical key names cannot be used.</DD>
247<DD><CODE>DWC_GetMatchIntValue</CODE>: Noted that it takes some time for the addition of a condition key to be propagated to the server.</DD>
248<DD><CODE>DWC_GetMatchStringValue</CODE>: Noted that it takes some time for the addition of a condition key to be propagated to the server.</DD>
249<DD><CODE>DWC_GetMatchStringValue</CODE>: Noted that empty strings cannot be specified.</DD>
250<DD><CODE>DWC_SendReliable</CODE>: Added a precaution about the timing of send buffer rewrites.</DD>
251<DD><CODE>DWC_SendReliableBitmap</CODE>: Added a precaution about the timing of send buffer rewrites.</DD>
252
253
254            <DT>1.4.17</DT>
255<DD><CODE>DWCErrorType</CODE>: Added a note on calling the <CODE>SOCleanup</CODE> and <CODE>SOFinish</CODE> functions.</DD><BR>
256
257            <DT>1.4.16</DT>
258<DD><CODE>DWC_TestInternetConnection</CODE>: Added a description related to timeouts.</DD><BR><DD><CODE>DWC_GetLastError</CODE>: Corrected a Nitro DWC description that was present.</DD>
259<DD><CODE>DWC_ConnectToGameServerAsync</CODE>: Added a note stating that <CODE>DWCMatchedSCCallback</CODE> may not always be called.</DD>
260
261
262            <DT>1.4.15</DT>
263<DD><CODE>DWC_CreateFriendKey</CODE>: Added a precaution to reflect modifications to the creation algorithm.</DD><BR><DD><CODE>DWC_CreateFriendKeyLegacy</CODE>: Initial version.</DD>
264<DD><CODE>DWC_CheckFriendKey</CODE>: Added a precaution to reflect modifications to the creation algorithm.</DD>
265<DD><CODE>DWC_CheckFriendKeyLegacy</CODE>: Initial version.</DD>
266<DD><CODE>DWC_GetLastError</CODE>: Following the removal of direct access to <CODE>DWC_GHTTP</CODE>, deleted the description of <CODE>DWC_ShutdownGHTTP</CODE>. Corrected an omission in download-related error codes. Added <CODE>DWC_ECODE_TYPE_TRANS_SEND</CODE>.</DD>
267<DD><CODE>DWC_Shutdown</CODE>: Following the removal of direct access to <CODE>DWC_GHTTP</CODE>, deleted the description of <CODE>DWC_ShutdownGHTTP</CODE>.</DD>
268<DD><CODE>DWCNdCallback</CODE>: Initial version.</DD>
269<DD><CODE>DWC_NdInitAsync</CODE>: Added <CODE>callback</CODE> to the arguments.</DD>
270<DD><CODE>DWC_NdProcess</CODE>: Added a description of the callback.</DD>
271<DD><CODE>DWC_RnkInitialize</CODE>: Following the removal of direct access to <CODE>DWC_GHTTP</CODE>, deleted the description of <CODE>DWC_ShutdownGHTTP</CODE>.</DD>
272<DD><CODE>DWC_SvlInit</CODE>: Added a note about submitting the <I>Nintendo Wi-Fi Connection Original Server Application Form</I>, and added a description of the procedure for using SVL.</DD>
273<DD><CODE>DWC_SvlCleanup</CODE>: Added a note about submitting the <I>Nintendo Wi-Fi Connection Original Server Application Form</I>.</DD>
274<DD><CODE>DWC_SvlGetTokenAsync</CODE>: Added a note about submitting the <I>Nintendo Wi-Fi Connection Original Server Application Form</I>.</DD>
275<DD><CODE>DWC_SvlProcess</CODE>: Added a note about submitting the <I>Nintendo Wi-Fi Connection Original Server Application Form</I>.</DD>
276<DD><CODE>DWC_SvlAbort</CODE>: Added a note about submitting the <I>Nintendo Wi-Fi Connection Original Server Application Form</I>.</DD>
277<DD><CODE>DWC_SetRecvBuffer</CODE>: Described invalidating the other party's buffer at disconnection.</DD>
278<DD><CODE>DWCErrorType</CODE>: Following the removal of direct access to <CODE>DWC_GHTTP</CODE>, deleted the description of <CODE>DWC_ShutdownGHTTP</CODE>.</DD>
279<DD><CODE>DWCNdError</CODE>: Initial version.</DD>
280<DD><CODE>DWCNdCallbackReason</CODE>: Initial version.</DD>
281
282
283            <DT>1.4.14</DT>
284<DD><CODE>DWCRnkRegion</CODE>: Added China (<CODE>DWC_RNK_REGION_CH</CODE>).</DD><BR>
285
286            <DT>1.4.12</DT>
287<DD><CODE>DWC_CfGetConsoleInfo</CODE>: Added a description of function usage.</DD><BR><DD><CODE>DWC_TestInternetConnection</CODE>: Initial version.</DD>
288<DD><CODE>DWC_LoadOwnPublicDataAsync</CODE>: Added information specific to implementation of canceling.</DD>
289<DD><CODE>DWC_LoadOwnPrivateDataAsync</CODE>: Added information specific to implementation of canceling.</DD>
290<DD><CODE>DWC_LoadOthersDataAsync</CODE>: Added information specific to implementation of canceling.</DD>
291<DD><CODE>DWC_GetLastError</CODE>: Added a detailed error code description.</DD>
292<DD><CODE>DWC_Init</CODE>: Added a <CODE>gamecode</CODE> example.</DD>
293<DD><CODE>DWC_LoginAsync</CODE>: Added information specific to conflicts in NHTTP.</DD>
294<DD><CODE>DWC_SetupGameServer</CODE>: Added a description of DS wireless communications.</DD>
295<DD><CODE>DWC_NasLoginAsync</CODE>: Added information specific to conflicts in NHTTP.</DD>
296<DD><CODE>DWC_NdInitAsync</CODE>: Added information specific to conflicts in NHTTP.</DD>
297<DD><CODE>DWC_NdCancelAsync</CODE>: Revised error code descriptions.</DD>
298<DD><CODE>DWC_CheckProfanityAsync</CODE>: Added information specific to conflicts in NHTTP.</DD>
299<DD><CODE>DWC_CheckProfanityExAsync</CODE> : Added information specific to conflicts in NHTTP.</DD>
300<DD><CODE>DWC_SvlInit</CODE>: Added information specific to conflicts in NHTTP.</DD>
301<DD><CODE>DWCTestInetResult</CODE>: Initial version.</DD>
302<DD><CODE>DWCReportFlag</CODE>: Added <CODE>DWC_REPORTFLAG_OPTION_CONNTEST</CODE>.</DD>
303
304
305            <DT>1.4.11</DT>
306<DD><CODE>DWC_RnkProcess</CODE>: Added the timeout time.</DD><BR>
307
308            <DT>1.4.10</DT>
309<DD><CODE>tagDWCCfInfo</CODE>: Added.</DD><BR><DD><CODE>DWC_CfGetConsoleInfo</CODE>: Added.</DD>
310<DD><CODE>DWC_Init</CODE>: Moved the process for creating the DNS cache to the <CODE>DWC_LoginAsync</CODE> function so that now this function can be called without being connected to the network.</DD>
311<DD><CODE>DWCLanMatchedCallback</CODE>: Noted that this cannot be used with the retail product.</DD>
312<DD><CODE>DWCRecvLanMatchCallback</CODE>: Noted that this cannot be used with the retail product.</DD>
313<DD><CODE>DWCSendLanMatchCallback</CODE>: Noted that this cannot be used with the retail product.</DD>
314<DD><CODE>DWC_InitLanMatch</CODE>: Noted that this cannot be used with the retail product.</DD>
315<DD><CODE>DWC_SetRecvLanMatchCallback</CODE>: Noted that this cannot be used with the retail product.</DD>
316<DD><CODE>DWC_SetSendLanMatchCallback</CODE>: Noted that this cannot be used with the retail product.</DD>
317<DD><CODE>DWC_ProcessLanMatch</CODE>: Noted that this cannot be used with the retail product.</DD>
318<DD><CODE>DWC_SendLanMatch</CODE>: Noted that this cannot be used with the retail product.</DD>
319<DD><CODE>DWC_StartLanMatch</CODE>: Noted that this cannot be used with the retail product.</DD>
320<DD><CODE>DWC_ShutdownLanMatch</CODE>: Noted that this cannot be used with the retail product.</DD>
321<DD><CODE>DWC_GetMyAIDLanMatch</CODE>: Noted that this cannot be used with the retail product.</DD>
322<DD><CODE>DWC_GetConnectNumLanMatch</CODE>: Noted that this cannot be used with the retail product.</DD>
323<DD><CODE>DWC_LoginAsync</CODE>: Added a section concerning the details of connecting to the network and a section concerning the creation of a DNS cache.</DD>
324<DD><CODE>DWC_ConnectToAnybodyAsync</CODE>: Added a section concerning the details of connecting to the network.</DD>
325<DD><CODE>DWC_ConnectToFriendsAsync</CODE>: Added a section concerning the details of connecting to the network.</DD>
326<DD><CODE>DWC_SetupGameServer</CODE>: Added a section concerning the details of connecting to the network.</DD>
327<DD><CODE>DWC_ConnectToGameServerAsync</CODE>: Added a section concerning the details of connecting to the network.</DD>
328<DD><CODE>DWC_NasLoginAsync</CODE>: Added a section concerning the details of connecting to the network.</DD>
329<DD><CODE>DWC_RnkInitialize</CODE>: Added text about the user data's dirty flag.</DD>
330<DD><CODE>DWC_RnkProcess</CODE>: Introduced timeouts.</DD>
331<DD><CODE>DWCCfError</CODE>: Added <CODE>DWC_CF_ERROR_GETINFO</CODE>.</DD>
332<DD><CODE>DWCRnkError</CODE>: Added <CODE>DWC_RNK_PROCESS_TIMEOUT</CODE>.</DD>
333<DD><CODE>DWCRnkState</CODE>: Added <CODE>DWC_RNK_STATE_TIMEOUT</CODE>.</DD>
334
335
336            <DT>1.4.8</DT>
337<DD><CODE>DWC_RnkGetScoreAsync</CODE>: Corrected text, changing <B>the score is higher/lower than one's own</B> to <B>the ranking is higher/lower than one's own</B>, and deleted the text <B>Lists starting with data closest to your own score</B> from Nearby Rankings.</DD>
338<DD><CODE>DWCRnkGetMode</CODE>: Changed <B>ranking is above/below</B> to <B>ranking is higher/lower</B>.</DD>
339
340
341            <DT>1.4.7</DT>
342<DD><CODE>DWC_CanChangeFriendList</CODE>: Added a description related to timeouts.</DD><BR><DD><CODE>DWC_NdInitAsync</CODE>: Described the uses of this function.</DD>
343<DD><CODE>DWC_NdProcess</CODE>: Described the uses of this function.</DD>
344<DD><CODE>DWC_NdCleanupAsync</CODE>: Described the uses of this function.</DD>
345<DD><CODE>DWC_NdSetAttr</CODE>: Described the uses of this function.</DD>
346<DD><CODE>DWC_NdGetFileListNumAsync</CODE>: Described the uses of this function.</DD>
347<DD><CODE>DWC_NdGetFileListAsync</CODE>: Described the uses of this function.</DD>
348<DD><CODE>DWC_NdGetFileAsync</CODE>: Described the uses of this function.</DD>
349<DD><CODE>DWC_NdCancelAsync</CODE>: Described the uses of this function.</DD>
350<DD><CODE>DWC_NdGetProgress</CODE>: Described the uses of this function.</DD>
351
352
353            <DT>1.4.6</DT>
354<DD><CODE>DWC_CheckProfanityAsync</CODE>: Made a correction by changing <B>When 0 is specified</B> to <B>When 0 or below is specified</B>.</DD><BR>
355
356            <DT>1.4.5</DT>
357<DD><CODE>DWCRnkGetParam</CODE>: Added mention of <CODE>DWC_RNK_GET_MODE_NEAR_*</CODE>.</DD><BR><DD><CODE>DWC_CreateExchangeToken</CODE>: Initial version.</DD>
358<DD><CODE>DWC_CreateFriendKeyToken</CODE>: Described validation of friend registration keys.</DD>
359<DD><CODE>DWC_IsValidAID</CODE>: Added a description of behavior when one's own AID is specified.</DD>
360<DD><CODE>DWC_RnkGetScoreAsync</CODE>: Added <CODE>DWC_RNK_GET_MODE_HI</CODE>. Added <CODE>DWC_RNK_GET_MODE_LOW</CODE>.</DD>
361<DD><CODE>DWCRnkGetMode</CODE>: Added <CODE>DWC_RNK_GET_MODE_NEAR_HI</CODE> and <CODE>DWC_RNK_GET_MODE_NEAR_LOW</CODE>.</DD>
362
363
364            <DT>1.4.1</DT>
365<DD><CODE>DWC_GetFriendKey</CODE>: Added a precaution for getting data from friends with whom friend relationships have been established.</DD><BR><DD><CODE>DWC_ReportFriendData</CODE>: Corrected the text &quot;Output with <CODE>OS_TPrintf</CODE>&quot;.</DD>
366<DD><CODE>DWC_ReportUserData</CODE>: Corrected the text &quot;Output with <CODE>OS_TPrintf</CODE>&quot;.</DD>
367<DD><CODE>DWC_CfSetAppFriendKeyToNWC24Msg</CODE>: Corrected the description of the return values.</DD>
368<DD><CODE>DWC_CfGetAppFriendKeyFromNWC24Msg</CODE>: Corrected the description of the return values.</DD>
369<DD><CODE>DWC_CfReset</CODE>: Corrected the description of the return values.</DD>
370<DD><CODE>DWC_Init</CODE>: Added a description on disconnecting from the network.</DD>
371<DD><CODE>DWC_InitFriendsMatch</CODE>: Deleted the description of <CODE>DWC_CreateExchangeToken</CODE>.</DD>
372<DD><CODE>DWC_CheckProfanityAsync</CODE>: Initial version.</DD>
373<DD><CODE>DWC_CheckProfanityProcess</CODE>: Initial version.</DD>
374<DD><CODE>DWC_SvlGetTokenAsync</CODE>: Added a description of the &quot;svc&quot; parameter.</DD>
375<DD><CODE>DWCProfState</CODE>: Initial version.</DD>
376
377
378            <DT>1.4.0</DT>
379<DD><CODE>DWC_IsCompatibleUserData</CODE>: Initial version.</DD><BR><DD><CODE>DWC_CfSetAppFriendKeyToNWC24Msg</CODE>: Initial version.</DD>
380<DD><CODE>DWC_CfGetAppFriendKeyFromNWC24Msg</CODE>: Initial version.</DD>
381<DD><CODE>DWC_CfReset</CODE>: Initial version.</DD>
382<DD><CODE>DWCStorageLoginCallback</CODE>: Added text concerning the <CODE>DWC_LogoutFromStorageServer</CODE> function.</DD>
383<DD><CODE>DWCSaveToServerCallback</CODE>: Added text concerning the <CODE>DWC_LogoutFromStorageServer</CODE> function.</DD>
384<DD><CODE>DWCLoadFromServerCallback</CODE>: Added text concerning the <CODE>DWC_LogoutFromStorageServer</CODE> function.</DD>
385<DD><CODE>DWC_Init</CODE>: Added a section concerning the details of connecting to the network.</DD>
386<DD><CODE>DWCCfError</CODE>: Initial version.</DD>
387<DD><CODE>DWCCfMsgType</CODE>: Initial version.</DD>
388<DD><CODE>DWCError</CODE>: Added omitted explanations of the ND and SVL errors.</DD>
389<DD><CODE>DWCErrorType</CODE>: Added the choice to <STRONG>Return to Wii Menu</STRONG> when a fatal error occurs.</DD>
390<DD><CODE>DWCRnkRegion</CODE>: Added South Korea (<CODE>DWC_RNK_REGION_KR</CODE>).</DD>
391
392
393            <DT>1.3.2</DT>
394<DD><CODE>DWC_Init</CODE>: Changed to return -1 if it fails to create a DNS cache.</DD><BR><DD><CODE>DWC_SetupGameServer</CODE>: Corrected a typo, changing &quot;DS wireless connection&quot; to &quot;DS wireless communication&quot;.</DD>
395<DD><CODE>DWC_SetReportLevel</CODE>: Removed the statement &quot;only for debugging&quot;.</DD>
396<DD><CODE>DWCReportFlag</CODE>: Added <CODE>DWC_REPORTFLAG_NONE</CODE>.</DD>
397
398
399            <DT>1.3.0</DT>
400<DD><CODE>DWCRnkGetParam_order</CODE>: Corrected an error by changing <B>second</B> to <B>minute</B>.</DD><BR><DD><CODE>DWCRnkGetParam_toplist</CODE>: Corrected an error by changing <B>second</B> to <B>minute</B>.</DD>
401<DD><CODE>DWCRnkGetParam_nearby</CODE>: Corrected an error by changing <B>second</B> to <B>minute</B>.</DD>
402<DD><CODE>DWCRnkGetParam_friends</CODE>: Corrected an error by changing <B>second</B> to <B>minute</B>.</DD>
403<DD><CODE>DWC_InitLanMatch</CODE>: Removed the first argument.</DD>
404<DD><CODE>DWC_InitFriendsMatch</CODE>: Changed so that the first argument is ignored.</DD>
405<DD><CODE>DWC_GetIngamesnCheckResult</CODE>: Corrected a typo by changing &quot;DWC_INGAMESN_NOTCHECKED&quot; to &quot;DWC_INGAMESN_NOT_CHECKED&quot;.</DD>
406
407
408            <DT>1.2.1</DT>
409<DD><CODE>DWC_GetFriendStatus</CODE>: Deleted precautions about execution speed.</DD><BR><DD><CODE>DWC_GetFriendStatusSC</CODE>: Deleted precautions about execution speed.</DD>
410<DD><CODE>DWC_GetFriendStatusData</CODE>: Deleted precautions about execution speed.</DD>
411<DD><CODE>DWC_GetFriendStatusDataSC</CODE>: Deleted precautions about execution speed.</DD>
412<DD><CODE>DWC_ReallocEx</CODE>: Changed so that newly released memory will not be initialized.</DD>
413
414
415            <DT>1.1.2</DT>
416<DD><CODE>DWC_GetGsProfileId</CODE>: Removed the statement &quot;Use only for debugging&quot;.</DD><BR><DD><CODE>DWC_Init</CODE>: Changed so that the data storage server connection target can be changed.</DD>
417<DD><CODE>DWC_InitFriendsMatch</CODE>: Changed the <CODE>DWCFriendsMatchControl</CODE> definition from a structure to a pointer variable. Corrected a <CODE>DWC_SetMemFunc</CODE>-related error.</DD>
418<DD><CODE>DWC_RnkResGetRow</CODE>: Added an explanation of the conditions in which ranking is stored to the <CODE>order</CODE> field.</DD>
419
420
421            <DT>1.1.0</DT>
422<DD><CODE>DWC_Init</CODE>: Added a note that thread-exclusive control of the memory allocation and deallocation functions is required.</DD><BR><DD><CODE>DWCMatchedSCCallback</CODE>: Fixed a broken table.</DD>
423<DD><CODE>DWCAllocEx</CODE>: Made a note about thread-exclusive processing.</DD>
424<DD><CODE>DWCFreeEx</CODE>: Made a note about thread-exclusive processing.</DD>
425
426
427            <DT>1.0.0</DT>
428<DD><CODE>DWC_CreateUserData</CODE>: Removed <CODE>gamecode</CODE> from the arguments.</DD><BR><DD><CODE>DWC_Init</CODE>: Added a description related to NWC24 and changed specifications so that <CODE>gamecode</CODE> is now passed as an argument.</DD>
429<DD><CODE>DWC_SetReportLevel</CODE>: <CODE>DWC_REPORTFLAG_ALL</CODE> is now specified by default.</DD>
430
431
432            <DT>0.2.0</DT>
433<DD><CODE>DWC_InitLanMatch</CODE>: Deleted a typo regarding <CODE>DWC_SetMemFunc</CODE>, and replaced it with <CODE>DWC_Init</CODE>.</DD><BR>
434
435            <DT>0.0.8</DT>
436<DD><CODE>DWC_Init</CODE>: Changed specifications so <CODE>gamename</CODE> is passed as an argument. <BR>Changed specifications so an allocator is passed as an argument.</DD>
437
438
439            <DT>0.0.5</DT>
440<DD><CODE>DWCLanMatchedCallback</CODE>: Changed the type to <CODE>DWCError</CODE>.</DD><BR><DD><CODE>DWCSendLanMatchCallback</CODE>: Changed the argument order.</DD>
441<DD><CODE>DWC_SendLanMatch</CODE>: Fixed a bug asserted when the AID is zero.</DD>
442
443
444            <DT>0.0.3</DT>
445<DD><CODE>DWC_SetReportLevel</CODE>: Added a description related to the <CODE>DWCReportFlag</CODE> enumerator.</DD><BR><DD><CODE>DWC_Printf</CODE>: Changed the argument type from <CODE>u32</CODE> to the <CODE>DWCReportFlag</CODE> enumerated type.</DD>
446
447
448        </p>
449
450    <hr><p>CONFIDENTIAL</p></body>
451
452</html>
453