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>nn::os 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">nn::os::ARM</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">nn::os::CTR</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>This constant will be eliminated in the future.</td>
248          </tr>
249          <tr>
250            <td width="100"> </td>
251            <th>
252<span class="argument"><a href="../../nn/os/ALLOCATE_OPTION_LINEAR.html"><CODE>ALLOCATE_OPTION_LINEAR</CODE></a></span>
253            </th>
254<td>Option passed to the <CODE>AllocateMemoryBlock</CODE> function. This allocates a contiguous block of physical memory.</td>
255          </tr>
256          <tr>
257            <td width="100"> </td>
258            <th>
259<span class="argument"><a href="../../nn/os/WAIT_INFINITE.html"><CODE>WAIT_INFINITE</CODE></a></span>
260            </th>
261<td>The function continues running until a result is obtained. (Used by applet library functions that specify a time.)</td>
262          </tr> </table>
263      </div>
264    </a> <a name="function" id="function">
265<h2>Functions</h2>
266      <div class="section">
267        <table class="members">
268          <tr>
269            <td width="100">  </td>
270            <th>
271<a href="../../nn/os/InitializeAlarmSystem.html"><CODE>InitializeAlarmSystem</CODE></a>
272            </th>
273<td>Initializes the alarm system.</td>
274          </tr>
275          <tr>
276            <td width="100">  </td>
277            <th>
278<a href="../../nn/os/GetAppMemorySize.html">GetAppMemorySize</a>
279            </th>
280<td>Gets the maximum total amount of memory that the application can use.</td>
281          </tr>
282          <tr>
283            <td width="100">  </td>
284            <th>
285<a href="../../nn/os/GetUsingMemorySize.html">GetUsingMemorySize</a>
286            </th>
287<td>Gets the total size of memory currently allocated to the program.</td>
288          </tr>
289          <tr>
290            <td width="100">  </td>
291            <th>
292<a href="../../nn/os/InitializeDeviceMemory.html"><CODE>InitializeDeviceMemory</CODE></a>
293            </th>
294<td>This function will be eliminated in the future.</td>
295          </tr>
296          <tr>
297            <td width="100">  </td>
298            <th>
299<a href="../../nn/os/SetupHeapForMemoryBlock.html"><CODE>SetupHeapForMemoryBlock</CODE></a>
300            </th>
301<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>
302          </tr>
303          <tr>
304            <td width="100">  </td>
305            <th>
306<a href="../../nn/os/GetDeviceMemoryAddress.html"><CODE>GetDeviceMemoryAddress</CODE></a>
307            </th>
308<td>Gets the starting address of the device memory.</td>
309          </tr>
310          <tr>
311            <td width="100">  </td>
312            <th>
313<a href="../../nn/os/SetDeviceMemorySize.html"><CODE>SetDeviceMemorySize</CODE></a>
314            </th>
315<td>Changes the size of the device memory.</td>
316          </tr>
317          <tr>
318            <td width="100">  </td>
319            <th>
320<a href="../../nn/os/GetDeviceMemorySize.html"><CODE>GetDeviceMemorySize</CODE></a>
321            </th>
322<td>Gets the size of the device memory.</td>
323          </tr>
324          <tr>
325            <td width="100">  </td>
326            <th>
327<a href="../../nn/os/GetHeapAddress.html"><CODE>GetHeapAddress</CODE></a>
328            </th>
329<td>Gets the starting address of the heap.</td>
330          </tr>
331          <tr>
332            <td width="100">  </td>
333            <th>
334<a href="../../nn/os/SetHeapSize.html"><CODE>SetHeapSize</CODE></a>
335            </th>
336<td>Changes the size of the heap.</td>
337          </tr>
338          <tr>
339            <td width="100">  </td>
340            <th>
341<a href="../../nn/os/GetHeapSize.html"><CODE>GetHeapSize</CODE></a>
342            </th>
343<td>Gets the size of the heap.</td>
344          </tr>
345          <tr>
346            <td width="100">  </td>
347            <th>
348<a href="../../nn/os/InitializeMemoryBlock.html"><CODE>InitializeMemoryBlock</CODE></a>
349            </th>
350<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>
351          </tr> </table>
352      </div>
353    </a>
354<h2>Revision History</h2>
355    <div class="section">
356      <dl class="history">
357        <dt>2010/01/07</dt>
358<dd>Initial version.<br />
359        </dd>
360      </dl>
361    </div>
362  <hr><p>CONFIDENTIAL</p></body>
363</html>
364