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