1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML><HEAD>
3    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
4    <META http-equiv="Content-Style-Type" content="text/css">
5    <TITLE>CTR-SDK API Guide</TITLE>
6    <LINK rel="stylesheet" href="./css/manpage.css" type="text/css">
7
8    <style>
9    <!--
10    .disabled
11    {
12        color: gray;
13    }
14    th
15    {
16        white-space: nowrap;
17    }
18    thead th
19    {
20        width: auto;
21    }
22    -->
23    </style>
24</HEAD><BODY>
25
26    <h1>CTR-SDK API Guide</h1>
27
28    <h2>Overview</h2>
29    <p>
30        This guide provides the following two types of information to allow developers to understand the features provided by the CTR-SDK.
31    </p>
32    <ul>
33        <li>An overview of each library provided by the CTR-SDK
34        <li>An index of functions, sorted by feature and purpose
35    </ul>
36
37
38    <h2>Table of Contents</h2>
39    <ul>
40        <li><a href="#des">Library Overview</a>
41        <li><a href="#rev">Index of Functions (by Category)</a>
42            <ul>
43                <li><a href="#graphics">Graphics</a>
44                <li><a href="#sound">Sound</a>
45                <li><a href="#hid">User Input</a>
46                <li><a href="#info">Getting Information Other Than User Input</a>
47                <li><a href="#comm">Communication</a>
48                <li><a href="#calc">Calculation</a>
49                <li><a href="#pow">Power / Application Controls</a>
50                <li><a href="#debug">Debug</a>
51                <li><a href="#os">OS Foundation</a>
52                <li><a href="#fs">File System</a>
53                <li><a href="#home">HOME Menu</a>
54                <li><a href="#applet">Applets</a>
55                <li><a href="#pre">Built-In Software</a>
56                <li><a href="#setting">System Settings</a>
57                <li><a href="#parental">Parental Controls</a>
58            </ul>
59    </ul>
60
61    <a name="des"></a>
62    <h2>Library Overview</h2>
63    <p>
64    </p>
65
66    <table>
67    <thead>
68    <tr><th>Library Name
69        <th>Overview
70    </thead>
71    <tr><th><a href="nn/init/Overview.html"><CODE>init</CODE></a>
72        <td>Handles processing that precedes a program's <CODE>main</CODE> function. By providing functions with particular names, applications can add processing that runs before the <CODE>main</CODE> function starts.
73
74    <tr><th><a href="nn/os/Overview.html"><CODE>os</CODE></a>
75        <td>Handles threads, mutexes, timers, clocks, and basic memory management.
76
77    <tr><th><a href="nn/fnd/Overview.html"><CODE>fnd</CODE></a>
78        <td>Defines common classes used by a number of other libraries, such as allocators, dates and times.
79
80    <tr><th><a href="nn/fs/Overview.html"><CODE>fs</CODE></a>
81        <td>Accesses Game Cards, SD Cards, save data, and other memory locations.
82
83    <tr><th><a href="nn/ro/Overview.html"><CODE>ro</CODE></a>
84        <td>Controls dynamic modules.
85
86    <tr><th><a href="nn/math/Overview.html"><CODE>math</CODE></a>
87        <td>Defines numeric functions and classes.
88
89    <tr><th><a href="nn/nstd/Overview.html"><CODE>nstd</CODE></a>
90        <td>Provides customized versions of standard library functions.
91
92    <tr><th><a href="nn/util/Overview.html"><CODE>util</CODE></a>
93        <td>Defines general-purpose classes.
94
95    <tr><th><a href="nn/cx/Overview.html"><CODE>cx</CODE></a>
96        <td>Compresses and expands data.
97
98    <tr><th><a href="introduction/AboutZlib.html">zlib</a>
99        <td>The CTR-SDK ported version of the open-source zlib library.
100
101    <tr><th><a href="nn/crypto/Overview.html"><CODE>crypto</CODE></a>
102        <td>Handles encryption-related processing.
103
104    <tr><th><a href="nn/jpeg/CTR/Overview.html"><CODE>jpeg</CODE></a>
105        <td>Encodes and decodes JPEG and MPO images.
106
107    <tr><th><a href="nn/enc/Overview.html">enc</a>
108        <td>Provides conversion back and forth between UTF-16 and UTF-8.
109
110    <tr><th><a href="nn/applet/CTR/Overview.html"><CODE>applet</CODE></a>
111        <td>Controls the HOME Menu and Sleep Mode.
112
113    <tr><th><a href="nn/ptm/CTR/Overview.html"><CODE>ptm</CODE></a>
114        <td>Gets power status and controls the real-time clock alarm(s).
115
116    <tr><th><a href="nn/pl/CTR/Overview.html"><CODE>pl</CODE></a>
117        <td>Handles pedometer step counts and shared fonts.
118
119    <tr><th><a href="nn/news/CTR/Overview.html"><CODE>news</CODE></a>
120        <td>Posts messages to Notifications.
121
122    <tr><th><a href="nn/cfg/CTR/Overview.html"><CODE>cfg</CODE></a>
123        <td>Gets the settings stored in System Memory.
124
125    <tr><th><a href="nn/dbg/Overview.html"><CODE>dbg</CODE></a>
126        <td>Handles debug output and abnormal program termination.
127
128    <tr><th><a href="nn/hio/CTR/Overview.html"><CODE>hio</CODE></a>
129        <td>Communicates with a Windows PC via USB. This can only be used for development purposes.
130
131    <tr><th><a href="nn/midi/CTR/Overview.html"><CODE>midi</CODE></a>
132        <td>Uses UIC-MIDI to communicate with a MIDI interface. This library can be used only for development purposes.
133
134    <tr><th><a href="nn_gx/Overview.html"><CODE>nngx</CODE></a>, <a href="nn/gx/CTR/Overview.html"><CODE>nn::gx</CODE></a>
135        <td>Controls the GPU.
136
137    <tr><th><a href="gl/Overview.html"><CODE>gl</CODE></a>
138        <td>Creates command lists. This uses an OpenGL ES-compatible API, but it increases the CPU load.
139
140    <tr><th><a href="nn/gd/CTR/Overview.html"><CODE>gd</CODE></a>
141        <td>Creates command lists. This is incompatible with OpenGL ES but it reduces the CPU load.
142
143    <tr><th><a href="nn/gr/CTR/Overview.html"><CODE>gr</CODE></a>
144        <td>Provides helper functions for creating command lists.
145
146    <tr><th><a href="nn/ulcd/CTR/Overview.html"><CODE>ulcd</CODE></a>
147        <td>Generates appropriate camera matrices based on input from the 3D depth slider.
148
149    <tr><th><a href="nn/tpl/CTR/Overview.html"><CODE>tpl</CODE></a>
150        <td>A library for accessing TPL files, which hold texture data.
151
152    <tr><th><a href="nn/font/CTR/Overview.html"><CODE>font</CODE></a>
153        <td>A library for rendering characters and strings using font data created by FontConverter.
154
155    <tr><th><a href="nn/snd/CTR/Overview.html"><CODE>snd</CODE></a>
156        <td>Uses the sound DSP for sound playback.
157
158    <tr><th><a href="nn/dsp/CTR/Overview.html"><CODE>dsp</CODE></a>
159        <td>Controls the sound DSP.
160
161    <tr><th><a href="nn/hid/CTR/Overview.html"><CODE>hid</CODE></a>
162        <td>Reads input from buttons, the Circle Pad, the Touch Screen, the accelerometer, and the gyro sensor.
163
164    <tr><th><a href="nn/camera/CTR/Overview.html"><CODE>camera</CODE></a>
165        <td>Controls the cameras.
166
167    <tr><th><a href="nn/y2r/CTR/Overview.html"><CODE>y2r</CODE></a>
168        <td>Converts YUV image data into RGB format.
169
170    <tr><th><a href="nn/mic/CTR/Overview.html"><CODE>mic</CODE></a>
171        <td>Gets input from the microphone.
172
173    <tr><th><a href="nn/uds/CTR/Overview.html"><CODE>uds</CODE></a>
174        <td>Handles direct wireless communication between CTR systems.
175
176    <tr><th><a href="nn/rdt/CTR/Overview.html"><CODE>rdt</CODE></a>
177        <td>Establishes reliable communication channels on top of UDS communication channels.
178
179    <tr><th><a href="nn/dlp/CTR/Overview.html"><CODE>dlp</CODE></a>
180        <td>Library that handles Download Play.
181
182    <tr><th><a href="nn/cec/CTR/Overview.html"><CODE>cec</CODE></a>
183        <td>Controls StreetPass.
184
185    <tr><th><a href="nn/boss/Overview.html"><CODE>boss</CODE></a>
186        <td>Controls SpotPass.
187
188    <tr><th><a href="nn/ac/CTR/Overview.html"><CODE>ac</CODE></a>
189        <td>Connects to access points.
190
191    <tr><th><a href="nn/http/Overview.html"><CODE>http</CODE></a>
192        <td>Used by <a href="#NEX">NEX</a>.
193
194    <tr><th><a href="nn/socket/Overview.html"><CODE>socket</CODE></a>
195        <td>Used by <a href="#NEX">NEX</a>.
196
197    <tr><th><a href="nn/ir/CTR/Overview.html">ir</a>
198        <td>Carries out infrared communication between consoles.
199
200    <tr><th><a href="nn/ndm/CTR/Overview.html"><CODE>ndm</CODE></a>
201        <td>Controls communication-related background processing.
202
203    <tr><th><a href="nn/friends/CTR/Overview.html"><CODE>friends</CODE></a>
204        <td>Gets information from the friend list. This also controls logins for online services.
205
206    <tr><th><a href="nn/ngc/CTR/Overview.html"><CODE>ngc</CODE></a>
207        <td>Checks strings for profanity.
208
209    <tr><th><a href="nn/ubl/Overview.html"><CODE>ubl</CODE></a>
210        <td>Manages the user blacklist.
211
212    <tr><th><a href="nn/erreula/CTR/Overview.html"><CODE>erreula</CODE></a>
213        <td>Controls the applet that displays the EULA error message.
214
215    <tr><th><a href="nn/swkbd/CTR/Overview.html"><CODE>swkbd</CODE></a>
216        <td>Controls the software keyboard applet.
217
218    <tr><th><a href="nn/phtsel/CTR/Overview.html"><CODE>phtsel</CODE></a>
219        <td>Controls the photo selector applet.
220
221    <tr><th><a href="nn/voicesel/CTR/Overview.html"><CODE>voicesel</CODE></a>
222        <td>Controls the voice selector applet.
223
224    </table>
225
226
227
228
229
230    <a name="rev"></a>
231    <h2>Index by Feature</h2>
232    <p>
233    </p>
234
235    <a name="graphics"></a>
236    <h3>Graphics</h3>
237
238    <table>
239    <tr><th>Screen Display
240        <td>Handled by the <a href="nn_gx/Overview.html"><CODE>gx</CODE></a>, <a href="gl/Overview.html"><CODE>gl</CODE></a>, <a href="nn/gd/Overview.html"><CODE>gd</CODE></a>, and <a href="nn/gr/Overview.html"><CODE>gr</CODE></a> libraries.
241
242    <tr><th>Stereoscopic Output
243        <td>Use the <a href="nn_gx/Overview.html"><CODE>gx</CODE></a> and <a href="nn/ulcd/CTR/Overview.html"><CODE>ulcd</CODE></a> libraries.
244
245    <tr><th><a name="font">Fonts</a>
246        <td>You can use the <a href="nn/font/CTR/Overview.html"><CODE>font</CODE></a> library. <br> Use <CODE>FontConverter</CODE> to create font data for the <a href="nn/font/CTR/Overview.html"><CODE>font</CODE></a> library.
247
248    <tr><th>Text Rendering
249        <td>→ <a href="#font">Fonts</a>
250
251    <tr><th>Shared Fonts
252        <td>Use the <a href="nn/pl/CTR/Overview.html"><CODE>pl</CODE></a> library.
253
254    <tr><th>Texture Files
255        <td>You can use the <a href="nn/tpl/CTR/Overview.html"><CODE>tpl</CODE></a> library. <br> Use <a href="../TechnicalNotes/TexturePackagerLibrary/TPLTexturePackageTool.pdf"><CODE>ctr_TexturePackager</CODE></a> to create TPL files for the <a href="nn/tpl/CTR/Overview.html"><CODE>tpl</CODE></a> library.
256
257    <tr><th>Encoding and Decoding JPEG Images
258        <td>Use the <a href="nn/jpeg/CTR/Overview.html"><CODE>jpeg</CODE></a> library.
259
260    <tr><th>Encoding and Decoding MPO Images
261        <td>Use the <a href="nn/jpeg/CTR/Overview.html"><CODE>jpeg</CODE></a> library.
262
263    <tr><th>Encoding and Decoding Stereoscopic Images
264        <td>→ <a href="#MPOEncodeDecode">Encoding and Decoding MPO Images</a>
265
266    <tr><th>Converting from YUV to RGB
267        <td>You can use the <a href="nn/y2r/CTR/Overview.html"><CODE>y2r</CODE></a> library.
268
269    <tr><th class="disabled">Brightness Adjustment
270        <td class="disabled">You cannot change the brightness or get the current brightness value.
271
272    <tr><th class="disabled">Power-Saving Mode
273        <td class="disabled">You cannot turn power-saving mode on or off, nor can you get the current mode.
274
275    </table>
276
277
278
279    <a name="sound"></a>
280    <h3>Sound</h3>
281
282    <table>
283    <tr><th>Sound Playback
284        <td>Use the <a href="nn/snd/CTR/Overview.html"><CODE>snd</CODE></a> library.
285
286    <tr><th>Shutter Sound
287        <td>Play it using <a href="nn/camera/CTR/PlayShutterSound.html"><CODE>nn::camera::CTR::PlayShutterSound</CODE></a>.
288
289    <tr><th>Microphone
290        <td>Get input audio using the <a href="nn/mic/CTR/Overview.html"><CODE>mic</CODE></a> library.
291
292    <tr><th>Using the MIDI Interface (UIC-MIDI)
293        <td>This can only be used for development purposes. It cannot be used in retail products.<br> Use the <a href="nn/midi/CTR/Overview.html"><CODE>midi</CODE></a> library.
294
295    <tr><th>Sound Output Mode
296        <td>Get this using <a href="nn/cfg/CTR/GetSoundOutputMode.html"><CODE>nn::cfg::CTR::GetSoundOutputMode</CODE></a>.
297
298    <tr><th><a name="headphone">Headphone Connection Status</a>
299        <td>Get this using <a href="nn/snd/CTR/GetHeadphoneStatus.html"><CODE>nn::snd::CTR::GetHeadphoneStatus</CODE></a>.
300
301    <tr><th class="disabled">Sound Volume
302        <td class="disabled">You cannot get a value for this.
303
304    </table>
305
306
307
308    <a name="hid"></a>
309    <h3>User Input</h3>
310
311    <table>
312    <tr><th>+Control Pad, A/B/X/Y/L/R Buttons, START
313        <td>Get input values using <a href="nn/hid/CTR/PadReader/Overview.html"><CODE>nn::hid::CTR::PadReader</CODE></a>.
314
315    <tr><th>SELECT
316        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> Enable Debug Mode using the <CODE>Config</CODE> tool and call <a href="nn/hid/CTR/EnableSelectButton.html"><CODE>nn::hid::CTR::EnableSelectButton</CODE></a> to get input via <a href="nn/hid/CTR/PadReader/Overview.html"><CODE>nn::hid::CTR::PadReader</CODE></a>.
317
318    <tr><th><a name="slidepad">Circle Pad</a>
319        <td>Use <a href="nn/hid/CTR/PadReader/Overview.html"><CODE>nn::hid::CTR::PadReader</CODE></a> to get input values.
320
321    <tr><th>Circle Pad Pro
322        <td>Get input values using <CODE><a href="nn/hid/CTR/ExtraPadReader/Overview.html">nn::hid::CTR::ExtraPadReader</a></CODE>.
323
324    <tr><th>ZL/ZR Buttons
325        <td>Use <CODE><a href="nn/hid/CTR/ExtraPadReader/Overview.html">nn::hid::CTR::ExtraPadReader</a></CODE> to get input values.
326
327    <tr><th>Analog Stick
328        <td>→ <a href="#slidepad">Circle Pad</a>
329
330    <tr><th><a name="touchpanel">Touch Panel</a>
331        <td>Get input values using <a href="nn/hid/CTR/TouchPanelReader/Overview.html"><CODE>nn::hid::CTR::TouchPanelReader</CODE></a>.
332
333    <tr><th>Touch Screen
334        <td>→ <a href="#touchpanel">Touch Panel</a>
335
336    <tr><th>Accelerometer
337        <td>Get input values using <a href="nn/hid/CTR/AccelerometerReader/Overview.html"><CODE>nn::hid::CTR::AccelerometerReader</CODE></a>.
338
339    <tr><th>Gyro Sensor
340        <td>Get input values using <a href="nn/hid/CTR/GyroscopeReader/Overview.html"><CODE>nn::hid::CTR::GyroscopeReader</CODE></a>.
341
342    <tr><th>Pedometer
343        <td>Use the <a href="nn/pl/CTR/Overview.html"><CODE>pl</CODE></a> library.
344
345    <tr><th>Camera
346        <td>Get camera images using the <a href="nn/camera/CTR/Overview.html"><CODE>camera</CODE></a> library.
347
348    <tr><th>Microphone
349        <td>Use the <a href="nn/mic/CTR/Overview.html"><CODE>mic</CODE></a> library to get input audio.
350
351    <tr><th>Debug Controller
352        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> Use <a href="nn/hid/CTR/DebugPadReader/Overview.html"><CODE>nn::hid::CTR::DebugPadReader</CODE></a> to get input values.
353
354    <tr><th>3D depth slider
355        <td>You can indirectly use this through the <a href="nn/ulcd/CTR/Overview.html"><CODE>ulcd</CODE></a> library.
356
357    <tr><th class="disabled">Sound Volume
358        <td class="disabled">You cannot get a value for this function.
359
360    <tr><th>POWER Button
361        <td>You cannot get the POWER Button input directly. <br> → You must handle <a href="#ApiClose">Application Close</a> instead.
362
363    <tr><th>Wireless Switch
364        <td>You cannot get the wireless switch input. <br> → However, turning the <a href="#WiFiOFF">wireless switch OFF</a> has an impact during communication.
365
366    <tr><th>HOME
367        <td>You cannot get the HOME Button input directly. <br> → You must handle <a href="#HomeMenuChange">switching to the HOME Menu</a>.
368
369    </table>
370
371
372
373    <a name="info"></a>
374    <h3>Getting Information Other Than User Input</h3>
375
376    <table>
377    <tr><th><a name="BatteryLevel">Remaining Battery Life</a>
378        <td>Get this using <a href="nn/ptm/CTR/GetBatteryLevel.html"><CODE>nn::ptm::CTR::GetBatteryLevel</CODE></a>.
379
380    <tr><th><a name="ACadapter">AC Adapter Connection State</a>
381        <td>Get this using <a href="nn/ptm/CTR/GetAdapterState.html"><CODE>nn::ptm::CTR::GetAdapterState</CODE></a>.
382
383    <tr><th><a name="BatteryCharge">Charging Status</a>
384        <td>Get this using <a href="nn/ptm/CTR/GetBatteryChargeState.html"><CODE>nn::ptm::CTR::GetBatteryChargeState</CODE></a>.
385
386    <tr><th>Getting System Settings
387        <td>You can get some System Settings using the <a href="nn/cfg/CTR/Overview.html"><CODE>cfg</CODE></a> library.
388
389    <tr><th><a name="DateTime">Date and time</a>
390        <td>You can get the current date and time using <a href="nn/fnd/DateTime/Overview.html"><CODE>nn::fnd::DateTime</CODE></a>. <br> Use <a href="nn/cfg/CTR/GetUserTimeOffset.html"><CODE>nn::cfg::CTR::GetUserTimeOffset</CODE></a> to discover whether and how the time has been changed by the user. <br> Get CPU cycle counts using <a href="nn/os/Tick/Overview.html"><CODE>nn::os::Tick</CODE></a>.
391
392    <tr><th><a name="UserName">Username</a>
393        <td>Get this using <a href="nn/cfg/CTR/GetUserName.html"><CODE>nn::cfg::CTR::GetUserName</CODE></a>.
394
395    <tr><th><a name="Birthday">Birthday</a>
396        <td>Get this using <a href="nn/cfg/CTR/GetBirthday.html"><CODE>nn::cfg::CTR::GetBirthday</CODE></a>.
397
398    <tr><th><a name="Country">Regions</a>
399        <td>Get the country using <a href="nn/cfg/CTR/GetCountry.html"><CODE>nn::cfg::CTR::GetCountry</CODE></a> and the local area using<a href="nn/cfg/CTR/GetSimpleAddress.html"><CODE> nn::cfg::CTR::GetSimpleAddress</CODE></a>.
400
401    <tr><th>Headphone Connection Status
402        <td>Use <a href="nn/snd/CTR/GetHeadphoneStatus.html"><CODE>nn::snd::CTR::GetHeadphoneStatus</CODE></a> to get the connection status of headphones.
403
404    <tr><th>User Information
405        <td>→ <a href="#UserName">Username</a><br> → <a href="#Birthday">Birthday</a><br> → <a href="#Country">Area</a><br>
406
407    <tr><th>Language
408        <td>Get this using <a href="nn/cfg/CTR/GetLanguage.html"><CODE>nn::cfg::CTR::GetLanguage</CODE></a>.
409
410    <tr><th>Region
411        <td>Get this using <a href="nn/cfg/CTR/GetRegion.html"><CODE>nn::cfg::CTR::GetRegion</CODE></a>.
412
413    <tr><th>Sound Output Mode
414        <td>Use <a href="nn/cfg/CTR/GetSoundOutputMode.html"><CODE>nn::cfg::CTR::GetSoundOutputMode</CODE></a> to get the sound output mode.
415
416    <tr><th>Variable RTC Offset
417        <td>Get this using <a href="nn/cfg/CTR/GetUserTimeOffset.html"><CODE>nn::cfg::CTR::GetUserTimeOffset</CODE></a>.
418
419    <tr><th>System-Specific ID
420        <td>Get this using <a href="nn/cfg/CTR/GetTransferableId.html"><CODE>nn::cfg::CTR::GetTransferableId</CODE></a>.
421
422    <tr><th>Pedometer
423        <td>Use the <a href="nn/pl/CTR/Overview.html"><CODE>pl</CODE></a> library.
424
425    <tr><th>Notification LED
426        <td>You cannot manipulate the notification LED directly, or get its state. <br> See below for the conditions under which it illuminates or blinks, and related information.
427            <ul>
428            <li><b>When a notification is received</b><br>Illuminates when a notification is received via <a href="#boss">SpotPass</a>. You can make a notification be sent from the server and the LED to illuminate by registering an application-specific <a href="#boss">SpotPass</a> task.
429            <li><b>When a StreetPass communication is received</b><br>Illuminates when <a href="#cec">StreetPass</a> is engaged. <br> You cannot control this from the application.
430            <li><b>When a friend comes online</b><br>Illuminates when a <a href="#friends">Friend</a> comes online. <br> You cannot control this option from the application.
431            <li><b>When the battery level is very low</b><br>Illuminates when the <a href="#BatteryLevel">battery level</a> reaches <a href="nn/ptm/CTR/BatteryLevel.html">nn::ptm::CTR::BATTERYLEVEL_1</a>. <br> You cannot control this option from the application.
432            </ul>
433
434    <tr><th>3D LED
435        <td>You cannot control or get the state of the 3D LED directly. <br> The 3D LED lights up when <CODE>NN_GX_DISPLAY_MODE_STEREO</CODE> is specified to <a href="nn_gx/nngxSetDisplayMode.html"><CODE>nngxSetDisplayMode</CODE></a>, as long as <a href="#3Dgx">&quot;Display of 3D Images&quot;</a> is not restricted by Parental Controls.
436
437    <tr><th>Power LED
438        <td>You cannot control or get the state of the power LED.<br> → You can use the <a href="#BatteryLevel">remaining battery life</a> instead.
439
440    <tr><th>Recharge LED
441        <td>You cannot control or get the state of the recharge LED.<br> → You can use the <a href="#BatteryCharge">charging status</a> instead.
442
443    <tr><th>Wireless LED
444        <td>You cannot manipulate the wireless LED or get its state. <br> The LED illuminates when wireless communication is activated, and blinks during wireless communication.
445
446    <tr><th>Getting the Execution Environment
447        <td>Use <a href="nn/os/CTR/GetRunningTargetHardware.html"><CODE>nn::os::CTR::GetRunningTargetHardware</CODE></a> to get the type of hardware on which an application is running.
448
449    </table>
450
451
452
453    <a name="comm"></a>
454    <h3>Communication</h3>
455
456    <table>
457    <tr><th><a name="cec">StreetPass</a>
458        <td>Use the <a href="nn/cec/CTR/Overview.html"><CODE>cec</CODE></a> library.
459
460    <tr><th><a name="boss">SpotPass</a>
461        <td>Use the <a href="nn/boss/Overview.html"><CODE>boss</CODE></a> library.
462
463    <tr><th><a name="uds">Direct, Low-Latency Communication Between CTR Systems</a>
464        <td>Use the <a href="nn/uds/CTR/Overview.html"><CODE>uds</CODE></a> library.
465
466    <tr><th><a name="rdt">Direct Data Transfers Between CTR Systems</a>
467        <td>Use the <a href="nn/rdt/Overview.html"><CODE>rdt</CODE></a> library.
468
469    <tr><th><a name="dlplay">Download Play</a>
470        <td>Use the <a href="nn/dlp/CTR/Overview.html"><CODE>dlp</CODE></a> library.
471
472    <tr><th><a name="ir">Infrared Communication</a>
473        <td>Use the <a href="nn/ir/CTR/Overview.html"><CODE>ir</CODE> library</a>.
474
475    <tr><th><a name="friends">Getting Friend Information</a>
476        <td>Use the <a href="nn/friends/CTR/Overview.html"><CODE>friends</CODE></a> library.
477
478    <tr><th>Friend List
479        <td>→ <a href="#friends">Getting Friend Information</a>
480
481    <tr><th class="disabled">Registering Friends
482        <td class="disabled">Applications cannot register friends.
483
484    <tr><th><a name="NEX">NEX</a>
485        <td>→ NEX is distributed with the CTR-NEX package, which is separate from the CTR-SDK. Refer to the CTR-NEX package.
486
487    <tr><th>Online Matchmaking
488        <td>→ <a href="#NEX">NEX</a>
489
490    <tr><th>Online Ranking
491        <td>→ <a href="#NEX">NEX</a>
492
493    <tr><th>Network Data Storage
494        <td>→ <a href="#NEX">NEX</a>
495
496    <tr><th><a name="ac">Connecting to an Access Point</a>
497        <td>Use the <a href="nn/ac/CTR/Overview.html"><CODE>ac</CODE></a> library.
498
499    <tr><th>Nintendo Zone
500        <td>Use the <a href="nn/ac/CTR/Overview.html"><CODE>ac</CODE></a> library to automatically connect to a Nintendo Zone just like an ordinary access point.
501
502    <tr><th>USB Communication with a Windows PC
503        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> Use the <a href="nn/hio/CTR/Overview.html"><CODE>hio</CODE></a> library.
504
505    <tr><th>Posting Messages
506        <td>Applications can post messages directly using <a href="nn/news/CTR/user/PostNews.html"><CODE>nn::news::CTR::user::PostNews</CODE></a>. <br> You can also post messages through <a href="#boss">SpotPass</a>.
507
508    <tr><th><a name="internet">Internet Communication</a>
509        <td>→ <a href="#ac">Connecting to an Access Point</a><br> → <a href="#boss">SpotPass</a><br> → <a href="#NEX">NEX</a>
510
511    <tr><th><a name="local">Local Communication</a>
512        <td>→ <a href="#uds">Direct, Low-Latency Wireless Communication Between CTR Systems</a><br> → <a href="#rdt">Direct Wireless Data Transfers Between CTR Systems</a><br> → <a href="#dlplay">Download Play</a><br>→ <a href="#ir">Infrared Communication</a>
513
514    <tr><th>Nintendo 3DS Service User Agreement
515        <td>→ <a href="#EULA">EULA</a>
516
517    <tr><th><a name="EULA">EULA</a>
518        <td>The EULA must be accepted before it is possible to use <a href="#internet">Internet communication</a>, run <a href="#cec">StreetPass</a>, or get <a href="#friends">friend information</a>. Acceptance of EULA can use the System Settings or be performed with <CODE>Config</CODE>. <br> An application can use <CODE><a href="nn/cfg/CTR/IsAgreedEula.html">nn::cfg::CTR::IsAgreedEula</a></CODE> to find if the user has accepted the EULA.
519
520    <tr><th>Wireless LED
521        <td>You cannot manipulate the wireless LED or get its state. <br> The LED illuminates when wireless communication is activated, and blinks during wireless communication.
522
523    <tr><th>Wireless Switch
524        <td>You cannot get the wireless switch input. <br> → However, turning the <a href="#WiFiOFF">wireless switch OFF</a> has an effect during communication.
525
526    <tr><th><a name="WiFiOFF">Disabled</a>
527        <td>If wireless communication is disabled when you initialize a library that uses wireless, then you get an error with an error value to indicate that wireless communication is disabled. <br> If wireless communication is disabled via the wireless switch when wireless communication is in use, the sequence transitions to one for disconnecting a connection by a library.
528
529    </table>
530
531
532
533    <a name="calc"></a>
534    <h3>Calculation</h3>
535
536    <table>
537    <tr><th>Matrix / Vector
538        <td>Use the <a href="nn/math/Overview.html"><CODE>math</CODE></a> library.
539
540    <tr><th>Quaternions
541        <td>Use the <a href="nn/math/Overview.html"><CODE>math</CODE></a> library.
542
543    <tr><th>Floating-Point Functions
544        <td>Use the <a href="nn/math/Overview.html"><CODE>math</CODE></a> library.
545
546    <tr><th>Integer Functions
547        <td>Use the <a href="nn/math/Overview.html"><CODE>math</CODE></a> library.
548
549    <tr><th>Bit Operations
550        <td>Use the <a href="nn/math/Overview.html"><CODE>math</CODE></a> library.
551
552    <tr><th>Random Number Generation
553<td>Normally the <a href="nn/math/Overview.html"><CODE>math</CODE></a> library can be used for the generation of pseudo-random numbers.<br/>You can use the <a href="nn/crypto/GenerateRandomBytes.html"><CODE>nn::crypto::GenerateRandomBytes</CODE></a> function to generate random numbers that are not repeated.
554
555    <tr><th>CRC Calculations
556        <td>Use the <a href="nn/util/Overview.html"><CODE>util</CODE></a> library.
557
558    <tr><th>SHA Calculations
559        <td>Use the <a href="nn/crypto/Overview.html"><CODE>crypto</CODE></a> library.
560
561    <tr><th>AES Encryption
562        <td>Use the <a href="nn/crypto/Overview.html"><CODE>crypto</CODE></a> library.
563
564    <tr><th>Compression / Decompression
565        <td>The <a href="nn/cx/Overview.html"><CODE>cx</CODE></a> library or <a href="introduction/aboutZlib.html"><CODE>zlib</CODE></a> can be used.
566
567    <tr><th>Encoding and Decoding JPEG Images
568        <td>Use the <a href="nn/jpeg/CTR/Overview.html"><CODE>jpeg</CODE></a> library.
569
570    <tr><th><a name="MPOEncodeDecode">Encoding and Decoding MPO Images</a>
571        <td>Use the <a href="nn/jpeg/CTR/Overview.html"><CODE>jpeg</CODE></a> library.
572
573    <tr><th>Encoding and Decoding Stereoscopic Images
574        <td>→ <a href="#MPOEncodeDecode">Encoding and Decoding MPO Images</a>
575
576    </table>
577
578
579
580    <a name="pow"></a>
581    <h3>Power / Application Controls</h3>
582
583    <table>
584    <tr><th>POWER Button
585        <td>You cannot get input directly from the POWER Button. <br> → You must handle <a href="#ApiClose">Application Close</a> instead.
586
587    <tr><th>HOME
588        <td>You cannot get input directly from the HOME Button. <br> → You must handle <a href="#HomeMenuChange">switching to the HOME Menu</a>.
589
590    <tr><th class="disabled">Power Off
591        <td class="disabled">Applications cannot turn the system off.
592
593    <tr><th><a name="sleep">Sleep</a>
594        <td>Applications cannot go into Sleep Mode autonomously. Applications go into sleep mode according to instructions from the system. <br> See the <a href="nn/applet/CTR/Overview.html"><CODE>applet</CODE></a> library.
595
596    <tr><th>Sleep Mode
597        <td>→ <a href="#sleep">Sleep</a>
598
599    <tr><th><a name="ApiClose">Application Shutdown</a>
600        <td>Applications cannot exit autonomously. <br>Applications close according to instructions from the system. <br> For more information, see the <a href="nn/applet/CTR/Overview.html"><CODE>applet</CODE></a> library.
601
602    <tr><th>Application Reset
603        <td>Use <a href="nn/applet/CTR/RestartApplication.html"><CODE>nn::applet::CTR::RestartApplication</CODE></a>.
604
605    <tr><th>Remaining Battery Life
606        <td>Use <a href="nn/ptm/CTR/GetBatteryLevel.html"><CODE>nn::ptm::CTR::GetBatteryLevel</CODE></a> to get the remaining battery life.
607
608    <tr><th>AC Adapter Connection State
609        <td>Use <a href="nn/ptm/CTR/GetAdapterState.html"><CODE>nn::ptm::CTR::GetAdapterState</CODE></a> to get the AC adapter connection state.
610
611    <tr><th>Charging Status
612        <td>Use <a href="nn/ptm/CTR/GetBatteryChargeState.html"><CODE>nn::ptm::CTR::GetBatteryChargeState</CODE></a> to get the charging status.
613
614    </table>
615
616
617
618    <a name="os"></a>
619    <h3>OS Foundation</h3>
620
621    <table>
622
623    <tr><th>Thread
624        <td>Use <a href="nn/os/Thread/Overview.html"><CODE>os::Thread</CODE></a>.
625
626    <tr><th>Mutex
627        <td>Use the <a href="nn/os/Overview.html"><CODE>os</CODE></a> library.
628
629    <tr><th><a name="tick">Ticks</a>
630        <td>Use <a href="nn/os/Tick/Overview.html"><CODE>os::Tick</CODE></a>.
631
632    <tr><th>Cycle Counts
633        <td>→ <a href="#tick">Ticks</a>
634
635    <tr><th>Timers
636        <td>Use <a href="nn/os/Timer/Overview.html"><CODE>os::Timer</CODE></a>.
637
638    <tr><th><a name="MemoryControl">Memory Management</a>
639        <td>Use the <a href="nn/os/Overview.html"><CODE>os</CODE> library</a> for basic allocation of memory to your application. You can use the <a href="nn/fnd/Overview.html"><CODE>fnd</CODE> library</a> to build an allocator in allocated memory.
640
641    <tr><th>Device Memory
642        <td>→ <a href="#MemoryControl">Memory Management</a>
643
644    <tr><th>Exception Handling
645        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> You can register exception handlers with the <CODE>os</CODE> library (<a href="nn/os/ARM/Overview.html"><CODE>nn::os::ARM</CODE></a>).
646
647    <tr><th><a name="DateTime">Date and Time</a>
648        <td>Get the current date and time using <a href="nn/fnd/DateTime/Overview.html"><CODE>fnd::DateTime</CODE></a>.<br> <br> Get CPU cycle counts using <a href="nn/os/Tick/Overview.html"><CODE>os::Tick</CODE></a>.
649
650    <tr><th><a name="DLL">Dynamic Modules</a>
651        <td>Use the <a href="nn/ro/Overview.html"><CODE>ro</CODE></a> library.
652
653    <tr><th>DLL
654        <td>→ <a href="#DLL">Dynamic Modules</a>
655
656    </table>
657
658
659
660    <a name="fs"></a>
661    <h3>File System</h3>
662
663    <table>
664    <tr><th>Game Cards
665        <td>Use the <a href="nn/fs/Overview.html"><CODE>fs</CODE> library</a>. <br> See <a href="nn/fs/MountRom.html"><CODE>nn::fs::MountRom</CODE></a>.
666
667    <tr><th>Save Data
668        <td>Use the <a href="nn/fs/Overview.html"><CODE>fs</CODE> library</a>. <br> See <a href="nn/fs/MountSaveData.html"><CODE>nn::fs::MountSaveData</CODE></a>.
669
670    <tr><th>Expanded Save Data
671        <td>Use the <a href="nn/fs/Overview.html"><CODE>fs</CODE> library</a>. <br> See <a href="nn/fs/MountExtSaveData.html"><CODE>nn::fs::MountExtSaveData</CODE></a>.
672
673    <tr><th>SD Card
674        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> Use the <a href="nn/fs/Overview.html"><CODE>fs</CODE> library</a>. <br> See <a href="nn/fs/MountSdmc.html"><CODE>nn::fs::MountSdmc</CODE></a>.
675
676    </table>
677
678
679
680    <a name="debug"></a>
681    <h3>Debug</h3>
682
683    <table>
684    <tr><th>Debug Output
685        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> Use <a href="nn_dbg/Overview.html">macros for debug string output</a>.
686
687    <tr><th>ASSERT
688<td>Uses the  <a href="nn_dbg/Overview.html">ASSERT Macro</a>.<br/> Enables you to set the handler that is called with <a href="nn/dbg/SetBreakHandler.html"><CODE>nn::dbg::SetBreakHandler</CODE></a> when the ASSERT macro fails.
689
690    <tr><th>USB Communication with a Windows PC
691        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> Use the <a href="nn/hio/CTR/Overview.html"><CODE>hio</CODE></a> library.
692
693    <tr><th>Using the MIDI Interface (UIC-MIDI)
694        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> Use the <a href="nn/midi/CTR/Overview.html"><CODE>midi</CODE></a> library.
695
696    <tr><th>Debug Controller
697        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> Use <a href="nn/hid/CTR/DebugPadReader/Overview.html"><CODE>nn::hid::CTR::DebugPadReader</CODE></a> to get input values.
698
699    <tr><th>Exception Handling
700        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> You can register exception handlers with the <CODE>os</CODE> library (<a href="nn/os/ARM/Overview.html"><CODE>nn::os::ARM</CODE></a>).
701
702    <tr><th>Getting the Execution Environment
703        <td>Use <a href="nn/os/CTR/GetRunningTargetHardware.html"><CODE>nn::os::CTR::GetRunningTargetHardware</CODE></a> to get the type of hardware on which an application is running.
704
705    <tr><th>Accessing SD Cards
706        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> Use the <a href="nn/fs/Overview.html"><CODE>fs</CODE> library</a>. <br> For more information, see <a href="nn/fs/MountSdmc.html"><CODE>nn::fs::MountSdmc</CODE></a>.
707
708    <tr><th>SELECT
709        <td>This option can be used only for development purposes.<br> It cannot be used in retail products.<br> Enable Debug Mode by using the <CODE>Config</CODE> tool, and call <a href="nn/hid/CTR/EnableSelectButton.html"><CODE>nn::hid::CTR::EnableSelectButton</CODE></a> to get input from <a href="nn/hid/CTR/PadReader/Overview.html"><CODE>nn::hid::CTR::PadReader</CODE></a>.
710
711    </table>
712
713
714
715    <a name="home"></a>
716    <h3>HOME Menu</h3>
717
718    <table>
719    <tr><th class="disabled">Brightness Adjustment
720        <td class="disabled">You cannot change the brightness or get the current brightness value.
721
722    <tr><th class="disabled">Power-Saving Mode
723        <td class="disabled">You cannot turn power-saving mode on or off, nor can you get the current mode.
724
725    <tr><th>Banners
726        <td>See the <a href="../tools/ctr_makebanner.html"><CODE>ctr_makebanner</CODE> reference</a> for details about creating icons. See <a href="../SDKRules/BuildRules.html">Build Rules</a> or the <a href="../TechnicalNotes/BuildSystemDevelopmentGuide/BuildSystemDevelopmentGuide.html"><I>Guide to Developing a Build System</I></a> for instructions on adding them to your application.
727
728    <tr><th><a name="icon">Icons</a>
729        <td>For more information about creating icons, see the <a href="../tools/ctr_makebanner.html"><CODE>ctr_makebanner</CODE> reference</a>. <br>For more information about adding icons to your application, see <a href="../SDKRules/BuildRules.html">Build Rules</a> or the <a href="../TechnicalNotes/BuildSystemDevelopmentGuide/BuildSystemDevelopmentGuide.html"><I>Guide to Developing a Build System</I></a>.
730
731    <tr><th>Software Icons
732        <td>→ <a href="#icon">Icons</a>
733
734    <tr><th><a name="boss_news">SpotPass Notifications</a>
735        <td>These are notifications received via <a href="#boss">SpotPass</a>. You can receive notifications sent from the server by registering an application-specific <a href="#boss">SpotPass</a> task.
736
737    <tr><th><a name="cec_news">StreetPass Notifications</a>
738        <td>This is a notification indicating that <a href="#cec">StreetPass</a> has occurred. <br> You cannot control this option from the application.
739
740    <tr><th><a name="news">Notifications Distributed Directly from Games</a>
741        <td>Applications can use <a href="nn/news/CTR/user/PostNews.html"><CODE>nn::news::CTR::user::PostNews</CODE></a> to distribute notifications directly.
742
743    <tr><th>Pedometer
744        <td>Use the <a href="nn/pl/CTR/Overview.html"><CODE>pl</CODE></a> library.
745
746    <tr><th>Play Coins
747        <td>→ The library used for Play Coins is distributed with the CTR-SDK Applet package, which is separate from the CTR-SDK itself.
748
749<!--     <tr><th><a name="Emanual">電子マニュアル</a>         <td>PDF, ビルド, makerom      <tr><th>取扱説明書         <td>→ <a href="#Emanual">電子マニュアル</a> -->
750
751    <tr><th><a name="HomeMenuChange">Switching to the HOME Menu</a>
752        <td>Use the <a href="nn/applet/CTR/Overview.html"><CODE>applet</CODE></a> library.
753
754
755    </table>
756
757
758    <a name="applet"></a>
759    <h3>Applets</h3>
760
761    <table>
762    <tr><th>Error Dialogs
763        <td>Use the <CODE><a href="nn/erreula/CTR/Overview.html">erreula</a></CODE> library.
764    <tr><th>Software Keyboard
765        <td>Use the <CODE><a href="nn/swkbd/CTR/Overview.html">swkbd</a></CODE> library.
766    <tr><th>Photo Selector Dialog
767        <td>Use the <CODE><a href="nn/phtsel/CTR/Overview.html">phtsel</a></CODE> library.
768    <tr><th>Voice Selector Dialog
769        <td>Use the <CODE><a href="nn/voicesel/CTR/Overview.html">voicesel</a></CODE> library.
770    </table>
771
772
773
774    <a name="pre"></a>
775    <h3>Built-In Software</h3>
776
777    <table>
778    <tr><th>Notifications
779        <td>→ <a href="#boss_news">SpotPass Notifications</a><br> → <a href="#cec_news">StreetPass Notifications</a><br> → <a href="#news">Notifications Distributed Directly from Games</a>
780
781    <tr><th>Software Library
782        <td>→ <a href="#icon">Icon</a> information is registered here. No other operations are possible.
783
784    <tr><th>Activity Log
785        <td>→ <a href="#icon">Icon</a> information is used here. No other operations are possible.
786
787    <tr><th>AR Cards
788        <td>→ The AR library is used to recognize AR Cards. It is distributed separately from the CTR-SDK.
789
790    <tr><th>Mii
791        <td>→ The CTR Face Library allows you to use Mii characters. It is distributed separately from the CTR-SDK.
792
793    </table>
794
795
796
797    <a name="setting"></a>
798    <h3>System Settings</h3>
799
800    <table>
801
802    <tr><th><a name="UserName">Username</a>
803        <td>Use <a href="nn/cfg/CTR/GetUserName.html"><CODE>nn::cfg::CTR::GetUserName</CODE></a> to get the user name.
804
805    <tr><th><a name="Birthday">Birthday</a>
806        <td>Use <a href="nn/cfg/CTR/GetBirthday.html"><CODE>nn::cfg::CTR::GetBirthday</CODE></a> to get the birthday.
807
808    <tr><th><a name="Country">Regions</a>
809        <td>Use <a href="nn/cfg/CTR/GetCountry.html"><CODE>nn::cfg::CTR::GetCountry</CODE></a> to get the country, and use <a href="nn/cfg/CTR/GetSimpleAddress.html"><CODE> nn::cfg::CTR::GetSimpleAddress</CODE></a> to get the local area.
810
811    <tr><th>Language
812        <td>Use <a href="nn/cfg/CTR/GetLanguage.html"><CODE>nn::cfg::CTR::GetLanguage</CODE></a> to get the language.
813
814    <tr><th>Sound Output Mode
815        <td>Use <a href="nn/cfg/CTR/GetSoundOutputMode.html"><CODE>nn::cfg::CTR::GetSoundOutputMode</CODE></a> to get the sound output mode.
816
817    <tr><th>Variable RTC Offset
818        <td>Use <a href="nn/cfg/CTR/GetUserTimeOffset.html"><CODE>nn::cfg::CTR::GetUserTimeOffset</CODE></a> to get the variable RTC offset.
819
820    <tr><th>Touch Screen Calibration
821        <td>Applications do not need to calibrate the Touch Screen because this is automatically done by the <a href="nn/hid/CTR/TouchPanelReader/Overview.html"><CODE>nn::hid::CTR::TouchPanelReader</CODE></a>.
822
823    <tr><th>External Camera Calibration
824        <td>Applications do not need to calibrate the cameras to take 3D photos because the cameras are calibrated automatically.<br> <br> You can use <a href="nn/camera/CTR/GetStereoCameraCalibrationData.html"><CODE>nn::camera::CTR::GetStereoCameraCalibrationData</CODE></a> to get calibration data and <a href="nn/camera/CTR/GetStereoCameraCalibrationMatrixEx.html"><CODE>nn::camera::CTR::GetStereoCameraCalibrationMatrixEx</CODE></a> to generate a calibration matrix from the calibration data.
825
826    <tr><th>Circle Pad Calibration
827        <td>Applications do not need to calibrate the Circle Pad because this is automatically done by the <a href="nn/hid/CTR/PadReader/Overview.html"><CODE>nn::hid::CTR::PadReader</CODE></a>.
828
829    <tr><th>Parental Controls
830        <td>→ <a href="#parental">Parental Controls</a>
831
832    <tr><th>Blocked-User Settings Initialization
833        <td>The <a href="nn/ubl/Overview.html"><CODE>ubl</CODE></a> library clears the registered blocked-user settings.
834
835    <tr><th>Internet Connections
836        <td>These are used by <a href="#ac">Connecting to an Access Point</a>.
837
838    </table>
839
840
841
842    <a name="parental"></a>
843    <h3>Parental Controls</h3>
844
845    <table>
846    <tr><th class="disabled">Software Rating
847        <td class="disabled">Based on the rating information set in <a href="#icon">Icon</a>, applications with a setting greater than the target age are prohibited from running. <br>This restriction is applied automatically, and prevents the application from being started from the HOME Menu. <br> It is not possible to obtain whether this restriction is enabled.
848    <tr><th class="disabled">Internet Browser
849        <td class="disabled">When enabled, this restriction prevents the Internet browser from starting. <br> It is not possible to get whether this restriction is enabled.
850
851    <tr><th class="disabled">Nintendo 3DS Shopping Services
852        <td class="disabled">When enabled, this restriction prevents the user from purchasing paid content. <br> It is not possible to get whether this restriction is enabled.
853
854    <tr><th><a name="3Dgx">Display of 3D Images</a>
855        <td>When enabled, this restriction prevents the system from displaying stereoscopic images. This restriction is applied automatically. It prevents stereoscopic display even if you set <CODE><a href="nn_gx/nngxSetDisplayMode.html">nngxSetDisplayMode</a></CODE> to <CODE>NN_GX_DISPLAYMODE_STEREO</CODE>. <br> You can detect whether this restriction or the 3D depth slider has prohibited stereoscopic images by calling <a href="nn::cfg::CTR::IsStereoVisionAllowed.html"><CODE>nn::gx::CTR::IsStereoVisionAllowed</CODE></a>.
856
857    <tr><th>Sharing Images / Audio / Video
858        <td>When enabled, this restriction prevents the sending and receiving of user-generated content (UGC). <br> This restriction is not applied automatically. Applications must get a value from <a href="nn::cfg::CTR::IsRestrictPhotoExchange.html"><CODE>nn::cfg::CTR::IsRestrictPhotoExchange</CODE></a> and then enforce this restriction.
859
860    <tr><th>Online Interaction
861        <td>When enabled, this restriction prevents communication via access points. This restriction is applied automatically. When enabled, it causes connection to an AP to fail. <br> You can obtain whether this restriction is enabled using <a href="nn::cfg::CTR::IsRestrictP2pInternet.html"><CODE>nn::cfg::CTR::IsRestrictP2pInternet</CODE></a>.
862
863    <tr><th>StreetPass
864        <td>When enabled, this restriction blocks StreetPass. <br> This restriction is applied automatically. When enabled, writing a message to a StreetPass box fails. It also blocks the StreetPass feature itself. <br> You can determine whether this restriction is enabled using <a href="nn::cfg::CTR::IsRestrictP2pCec.html"><CODE>nn::cfg::CTR::IsRestrictP2pCec</CODE></a>.
865
866    <tr><th>Friend Registration
867        <td>It is prohibited to register friends when this restriction is enabled.<br> <br> You can determine whether this restriction is enabled using <a href="nn::cfg::CTR::IsRestrictAddFriend.html"><CODE>nn::cfg::CTR::IsRestrictAddFriend</CODE></a>.
868
869    <tr><th class="disabled">DS Download Play
870        <td class="disabled">DS Download Play is prohibited when this restriction is enabled. <br> It is not possible to get whether this restriction is enabled.
871    </table>
872
873
874
875    <h2>Revision History</h2>
876    <div class="section">
877        <dl class="history">
878            <dt>2012/06/22</dt>
879<dd>Added the item about the ASSERT macro.</dd>
880            <dt>2011/12/12</dt>
881            <dd>Updated information.</dd>
882            <dt>2011/07/19</dt>
883            <dd>Initial version.</dd>
884        </dl>
885    </div>
886
887
888<hr><p>CONFIDENTIAL</p></BODY></HTML>