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