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