1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../../css/manpage.css" type="text/css" />
7    <style type="text/css"><!--
8      span.static_style
9      {
10        font-size			: 8pt;
11        color				: white;
12        font-weight			: bold;
13        background			: #44f;
14        border-left			: solid 1px #aaf;
15        border-top			: solid 1px #aaf;
16        border-right		: solid 1px #00c;
17        border-bottom		: solid 1px #00c;
18        padding-left		: 2px;
19        padding-right		: 2px;
20      }
21      span.virtual_style
22      {
23        font-size			 : 8pt;
24        color				 : white;
25        font-weight			: bold;
26        background			: #0a0;
27        border-left			: solid 1px #0f0;
28        border-top			: solid 1px #0f0;
29        border-right		: solid 1px #060;
30        border-bottom		: solid 1px #060;
31        padding-left		: 2px;
32        padding-right		: 2px;
33      }
34      span.protected_style
35      {
36        font-size			 : 8pt;
37        color				 : white;
38        font-weight			: bold;
39        background			: #444;
40        border-left			: solid 1px #ccc;
41        border-top			: solid 1px #ccc;
42        border-right		: solid 1px #222;
43        border-bottom		: solid 1px #222;
44        padding-left		: 2px;
45        padding-right		: 2px;
46      }
47        --></style>
48<title>nn::os</title>
49  </head>
50  <body>
51<h1><CODE><a href="../../nn/Overview.html">nn</a>::os</CODE> Namespace</h1>
52<h2>Description</h2>
53    <div class="section">
54<p>Namespace for the operating system API.</p><!-- write here --></div>
55    <a name="namespace" id="namespace">
56<h2>Namespaces</h2>
57      <div class="section">
58        <table class="members">
59          <tr>
60            <th>
61<a href="../../nn/os/ARM/Overview.html"><CODE>nn::os::ARM</CODE></a>
62            </th>
63<td>Namespace for functions specific to the ARM processor (the <CODE>::ARM</CODE> portion may be omitted).</td>
64          </tr>
65          <tr>
66            <th>
67<a href="../../nn/os/CTR/Overview.html"><CODE>nn::os::CTR</CODE></a>
68            </th>
69<td>Namespace for functions specific to the CTR platform (the <CODE>::CTR</CODE> portion can be omitted).</td>
70          </tr> </table>
71      </div>
72    </a> <a name="class" id="class">
73<h2>Classes</h2>
74      <div class="section">
75        <table class="members">
76          <tr>
77            <th>
78<a href="../../nn/os/Alarm/Overview.html"><CODE>nn::os::Alarm</CODE></a>
79            </th>
80<td>Class for handling alarms.</td>
81          </tr>
82          <tr>
83            <th>
84<a href="../../nn/os/BlockingQueue/Overview.html"><CODE>nn::os::BlockingQueue</CODE></a>
85            </th>
86<td>Class for handling blocking queues.</td>
87          </tr>
88          <tr>
89            <th>
90<a href="../../nn/os/SafeBlockingQueue/Overview.html"><CODE>nn::os::SafeBlockingQueue</CODE></a>
91            </th>
92<td>Class for handling blocking queues.</td>
93          </tr>
94          <tr>
95            <th>
96<a href="../../nn/os/CriticalSection/Overview.html"><CODE>nn::os::CriticalSection</CODE></a>
97            </th>
98<td>Class for handling critical sections. Critical sections are synchronization objects used for providing mutual exclusion.</td>
99          </tr>
100          <tr>
101            <th>
102<a href="../../nn/os/EventBase/Overview.html"><CODE>nn::os::EventBase</CODE></a>
103            </th>
104<td>Class that is used internally by the library. Do not use this class directly.</td>
105          </tr>
106          <tr>
107            <th>
108<a href="../../nn/os/Event/Overview.html"><CODE>nn::os::Event</CODE></a>
109            </th>
110<td>Class for handling events. Events are synchronization objects that send notification that an event has occurred.</td>
111          </tr>
112          <tr>
113            <th>
114<a href="../../nn/os/HandleObject/Overview.html"><CODE>nn::os::HandleObject</CODE></a>
115            </th>
116<td>Abstract base class that represents an object managed by the OS.</td>
117          </tr>
118          <tr>
119            <th>
120<a href="../../nn/os/LightBarrier/Overview.html"><CODE>nn::os::LightBarrier</CODE></a>
121            </th>
122<td>Synchronization mechanism that waits for the arrival of multiple threads.</td>
123          </tr>
124          <tr>
125            <th>
126<a href="../../nn/os/LightEvent/Overview.html"><CODE>nn::os::LightEvent</CODE></a>
127            </th>
128<td>Synchronization mechanism for communicating flags between threads.</td>
129          </tr>
130          <tr>
131            <th>
132<a href="../../nn/os/LightSemaphore/Overview.html"><CODE>nn::os::LightSemaphore</CODE></a>
133            </th>
134<td>Synchronization mechanism for mutual exclusion of the number of resources between threads.</td>
135          </tr>
136          <tr>
137            <th>
138<a href="../../nn/os/MemoryBlock/Overview.html"><CODE>nn::os::MemoryBlock</CODE></a>
139            </th>
140<td>Class allocating memory from the specified region in the heap.</td>
141          </tr>
142          <tr>
143            <th>
144<a href="../../nn/os/MemoryBlockBase/Overview.html"><CODE>nn::os::MemoryBlockBase</CODE></a>
145            </th>
146<td>Base class for classes handling contiguous memory regions.</td>
147          </tr>
148          <tr>
149            <th>
150<a href="../../nn/os/Mutex/Overview.html"><CODE>nn::os::Mutex</CODE></a>
151            </th>
152<td>Class for handling mutexes. Mutexes are synchronization objects used for providing mutual exclusion.</td>
153          </tr>
154          <tr>
155            <th>
156<a href="../../nn/os/Semaphore/Overview.html"><CODE>nn::os::Semaphore</CODE></a>
157            </th>
158<td>Class for handling semaphores. Semaphores are synchronization objects that have counters.</td>
159          </tr>
160          <tr>
161            <th>
162<a href="../../nn/os/StackMemory/Overview.html"><CODE>nn::os::StackMemory</CODE></a>
163            </th>
164<td>Class that partitions a specified memory region for use as a stack.</td>
165          </tr>
166          <tr>
167            <th>
168<a href="../../nn/os/StackMemoryBlock/Overview.html"><CODE>nn::os::StackMemoryBlock</CODE></a>
169            </th>
170<td>Class allocating stack memory from the heap in the specified region.</td>
171          </tr>
172          <tr>
173            <th>
174<a href="../../nn/os/WaitObject/Overview.html"><CODE>nn::os::WaitObject</CODE></a>
175            </th>
176<td>Base class for objects that are able to wait.</td>
177          </tr>
178          <tr>
179            <th>
180<a href="../../nn/os/InterruptEvent/Overview.html"><CODE>nn::os::InterruptEvent</CODE></a>
181            </th>
182<td>Abstract class used internally by the library. Do not use it directly.</td>
183          </tr>
184          <tr>
185            <th>
186<a href="../../nn/os/Thread/Overview.html"><CODE>nn::os::Thread</CODE></a>
187            </th>
188<td>Class for representing threads.</td>
189          </tr>
190          <tr>
191            <th>
192<a href="../../nn/os/StackBuffer/Overview.html"><CODE>nn::os::StackBuffer</CODE></a>
193            </th>
194<td>Class template used for placing the thread stack in locations such as within a static region or a structure.</td>
195          </tr>
196          <tr>
197            <th>
198<a href="../../nn/os/ThreadLocalStorage/Overview.html"><CODE>nn::os::ThreadLocalStorage</CODE></a>
199            </th>
200<td>Class that represents thread-local storage with the same size as the <CODE>uptr</CODE> type.</td>
201          </tr>
202          <tr>
203            <th>
204<a href="../../nn/os/Tick/Overview.html"><CODE>nn::os::Tick</CODE></a>
205            </th>
206<td>Class for handling system ticks.</td>
207          </tr>
208          <tr>
209            <th>
210<a href="../../nn/os/Timer/Overview.html"><CODE>nn::os::Timer</CODE></a>
211            </th>
212<td>Class for representing timers.</td>
213          </tr> </table>
214      </div>
215    </a> <a name="struct" id="struct">
216<h2>Structures</h2>
217      <div class="section">
218        <table class="members">
219          <tr>
220            <th>
221<a href="../../nn/os/LockPolicy/Overview.html"><CODE>nn::os::LockPolicy</CODE></a>
222            </th>
223<td>Container class used for operations related to lock policies.</td>
224          </tr> </table>
225      </div>
226    </a> <a name="typedef" id="typedef">
227<h2><CODE>typedef</CODE> Definitions</h2>
228      <div class="section">
229        <table class="members">
230          <tr>
231            <td width="100" />
232            <th>
233<a href="../../nn/os/AlarmHandler.html"><CODE>AlarmHandler</CODE></a>
234            </th>
235<td>Type representing handlers that are run for alarms.</td>
236          </tr> </table>
237      </div>
238    </a> <a name="constant" id="constant">
239<h2>Constants</h2>
240      <div class="section">
241        <table class="members">
242          <tr>
243            <td width="100"> </td>
244            <th>
245<span class="argument"><a href="../../nn/os/NN_ATTRIBUTE_DEPRECATED.html"><CODE>NN_ATTRIBUTE_DEPRECATED</CODE></a></span>
246            </th>
247<td width="100">const size_t DEVICE_MEMORY_SIZE</td>
248<td>This constant will be eliminated in the future.</td>
249          </tr>
250          <tr>
251            <td width="100"> </td>
252            <th>
253<span class="argument"><a href="../../nn/os/ALLOCATE_OPTION_LINEAR.html"><CODE>ALLOCATE_OPTION_LINEAR</CODE></a></span>
254            </th>
255<td width="100">const int</td>
256<td>Option passed to the <CODE>AllocateMemoryBlock</CODE> function. This allocates a contiguous block of physical memory.</td>
257          </tr>
258          <tr>
259            <td width="100"> </td>
260            <th>
261<span class="argument"><a href="../../nn/os/WAIT_INFINITE.html"><CODE>WAIT_INFINITE</CODE></a></span>
262            </th>
263<td width="100">const s64</td>
264<td>The function continues running until a result is obtained. (Used by applet library functions that specify a time.)</td>
265          </tr> </table>
266      </div>
267    </a> <a name="function" id="function">
268<h2>Functions</h2>
269      <div class="section">
270        <table class="members">
271          <tr>
272            <td width="100">  </td>
273            <th>
274<a href="../../nn/os/InitializeAlarmSystem.html"><CODE>InitializeAlarmSystem</CODE></a>
275            </th>
276<td>Initializes the alarm system.</td>
277          </tr>
278          <tr>
279            <td width="100">  </td>
280            <th>
281<a href="../../nn/os/GetAppMemorySize.html"><CODE>GetAppMemorySize</CODE></a>
282            </th>
283<td>Gets the maximum total amount of memory that the application can use.</td>
284          </tr>
285          <tr>
286            <td width="100">  </td>
287            <th>
288<a href="../../nn/os/GetUsingMemorySize.html"><CODE>GetUsingMemorySize</CODE></a>
289            </th>
290<td>Gets the total size of memory currently allocated to the program.</td>
291          </tr>
292          <tr>
293            <td width="100">  </td>
294            <th>
295<a href="../../nn/os/InitializeDeviceMemory.html"><CODE>InitializeDeviceMemory</CODE></a>
296            </th>
297<td>This function will be eliminated in the future.</td>
298          </tr>
299          <tr>
300            <td width="100">  </td>
301            <th>
302<a href="../../nn/os/SetupHeapForMemoryBlock.html"><CODE>SetupHeapForMemoryBlock</CODE></a>
303            </th>
304<td>This function sets up the OS to emulate the same memory environment that was used in CTR-SDK 0.9 and prior versions.</td>
305          </tr>
306          <tr>
307            <td width="100">  </td>
308            <th>
309<a href="../../nn/os/GetDeviceMemoryAddress.html"><CODE>GetDeviceMemoryAddress</CODE></a>
310            </th>
311<td>Gets the starting address of the device memory.</td>
312          </tr>
313          <tr>
314            <td width="100">  </td>
315            <th>
316<a href="../../nn/os/SetDeviceMemorySize.html"><CODE>SetDeviceMemorySize</CODE></a>
317            </th>
318<td>Changes the size of the device memory.</td>
319          </tr>
320          <tr>
321            <td width="100">  </td>
322            <th>
323<a href="../../nn/os/GetDeviceMemorySize.html"><CODE>GetDeviceMemorySize</CODE></a>
324            </th>
325<td>Gets the size of the device memory.</td>
326          </tr>
327          <tr>
328            <td width="100">  </td>
329            <th>
330<a href="../../nn/os/GetHeapAddress.html"><CODE>GetHeapAddress</CODE></a>
331            </th>
332<td>Gets the starting address of the heap.</td>
333          </tr>
334          <tr>
335            <td width="100">  </td>
336            <th>
337<a href="../../nn/os/SetHeapSize.html"><CODE>SetHeapSize</CODE></a>
338            </th>
339<td>Changes the size of the heap.</td>
340          </tr>
341          <tr>
342            <td width="100">  </td>
343            <th>
344<a href="../../nn/os/GetHeapSize.html"><CODE>GetHeapSize</CODE></a>
345            </th>
346<td>Gets the size of the heap.</td>
347          </tr>
348          <tr>
349            <td width="100">  </td>
350            <th>
351<a href="../../nn/os/InitializeMemoryBlock.html"><CODE>InitializeMemoryBlock</CODE></a>
352            </th>
353<td>Allows use of the <a href="../../nn/os/MemoryBlock/Overview.html"><CODE>MemoryBlock</CODE></a> and <a href="../../nn/os/StackMemoryBlock/Overview.html"><CODE>StackMemoryBlock</CODE></a> classes.</td>
354          </tr> </table>
355      </div>
356    </a>
357<h2>Revision History</h2>
358    <div class="section">
359      <dl class="history">
360        <dt>2010/01/07</dt>
361<dd>Initial version.<br />
362        </dd>
363      </dl>
364    </div>
365  <hr><p>CONFIDENTIAL</p></body>
366</html>
367