1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<HTML> 3<HEAD> 4<META http-equiv="Content-Type" content="text/html; charset=windows-1252"> 5<META name="GENERATOR" content="Microsoft FrontPage 5.0"> 6<META http-equiv="Content-Style-Type" content="text/css"> 7<LINK rel="stylesheet" type="text/css" href="../CSS/revolution.css"> 8<BASE target="main"> 9<TITLE>List of Operating System API Functions</TITLE> 10</HEAD> 11<BODY> 12<H1><A name="Operating System API">List of Operating System API Functions</A></H1> 13<H2><A name="Address Conversion">Address Conversion</A></H2> 14<TABLE border="1"> 15 <TBODY> 16 <TR> 17<TD nowrap><A href="Address/OSPhysicalToCached.html">OSPhysicalToCached</A></TD> 18<TD>Converts a physical address into a cached address.</TD> 19 </TR> 20 <TR> 21<TD nowrap><A href="Address/OSPhysicalToUncached.html">OSPhysicalToUncached</A></TD> 22<TD>Converts a physical address into an address outside the cache.</TD> 23 </TR> 24 <TR> 25<TD nowrap><A href="Address/OSCachedToPhysical.html">OSCachedToPhysical</A></TD> 26<TD>Converts a cache address into a physical address.</TD> 27 </TR> 28 <TR> 29<TD nowrap><A href="Address/OSUncachedToPhysical.html">OSUncachedToPhysical</A></TD> 30<TD>Converts an address outside the cache into a physical address.</TD> 31 </TR> 32 <TR> 33<TD nowrap><A href="Address/OSCachedToUncached.html">OSCachedToUncached</A></TD> 34<TD>Converts a cached address into an address outside the cache.</TD> 35 </TR> 36 <TR> 37<TD nowrap><A href="Address/OSUncachedToCached.html">OSUncachedToCached</A></TD> 38<TD>Converts an address outside the cache into a cached address.</TD> 39 </TR> 40 <TR> 41<TD><A href="Address/OSRoundUp32B.html">OSRoundUp32B</A></TD> 42<TD>Retrieves the closest 32-byte upper boundary.</TD> 43 </TR> 44 <TR> 45<TD><A href="Address/OSRoundDown32B.html">OSRoundDown32B</A></TD> 46<TD>Retrieves the closest 32-byte lower boundary.</TD> 47 </TR> 48 </TBODY> 49</TABLE> 50<H2><A name="Alarm">Alarms</A></H2> 51<TABLE border="1"> 52 <TBODY> 53 <TR> 54<TD><A href="Alarm/OSCancelAlarm.html">OSCancelAlarm</A></TD> 55<TD>Cancels the specified alarm.</TD> 56 </TR> 57 <TR> 58<TD><A href="Alarm/OSCreateAlarm.html">OSCreateAlarm</A></TD> 59<TD>Initializes the structure for the specified alarm.</TD> 60 </TR> 61 <TR> 62<TD><A href="Alarm/OSCancelAlarms.html">OSCancelAlarms</A></TD> 63<TD>Cancels alarm groups that have the same tag.</TD> 64 </TR> 65 <TR> 66<TD><A href="Alarm/OSSetAlarm.html">OSSetAlarm</A></TD> 67<TD>Sets an alarm.</TD> 68 </TR> 69 <TR> 70<TD><A href="Alarm/OSSetAlarmTag.html">OSSetAlarmTag</A></TD> 71<TD>Sets a tag to an alarm.</TD> 72 </TR> 73 <TR> 74<TD><A href="Alarm/OSSetPeriodicAlarm.html">OSSetPeriodicAlarm</A></TD> 75<TD>Sets a periodic alarm.</TD> 76 </TR> 77 <TR> 78 <TD><A href="Alarm/OSSetAlarmUserData.html">OSSetAlarmUserData</A></TD> 79 <TD>Sets user data in an alarm.</TD> 80 </TR> 81 <TR> 82 <TD><A href="Alarm/OSGetAlarmUserData.html">OSGetAlarmUserData</A></TD> 83 <TD>Gets user data from an alarm.</TD> 84 </TR> 85 </TBODY> 86</TABLE> 87<H2><A name="Arena">Arena</A></H2> 88<TABLE border=""> 89 <TBODY> 90 <TR> 91<TD nowrap><A href="Arena/OSAllocFromMEM1ArenaHi.html">OSAllocFromMEM1ArenaHi</A></TD> 92<TD>Allocates <STRONG><EM><CODE>size</CODE></EM></STRONG> bytes from the upper boundary of the arena in internal main memory (MEM1 area).</TD> 93 </TR> 94 <TR> 95<TD nowrap><A href="Arena/OSAllocFromMEM1ArenaLo.html">OSAllocFromMEM1ArenaLo</A></TD> 96<TD>Allocates <STRONG><EM><CODE>size</CODE></EM></STRONG> bytes from the lower boundary of the arena in internal main memory (MEM1 area).</TD> 97 </TR> 98 <TR> 99<TD nowrap><A href="Arena/OSAllocFromMEM2ArenaHi.html">OSAllocFromMEM2ArenaHi</A></TD> 100<TD>Allocates <STRONG><EM><CODE>size</CODE></EM></STRONG> bytes from the upper boundary of the arena in external main memory (MEM2 area).</TD> 101 </TR> 102 <TR> 103<TD nowrap><A href="Arena/OSAllocFromMEM2ArenaLo.html">OSAllocFromMEM2ArenaLo</A></TD> 104<TD>Allocates <STRONG><EM><CODE>size</CODE></EM></STRONG> bytes from the lower boundary of the arena in external main memory (MEM2 area).</TD> 105 </TR> 106 <TR> 107<TD nowrap><A href="Arena/OSGetMEM1ArenaHi.html">OSGetMEM1ArenaHi</A></TD> 108<TD>Gets the upper boundary of the arena in internal main memory (MEM1 area).</TD> 109 </TR> 110 <TR> 111<TD nowrap><A href="Arena/OSGetMEM1ArenaLo.html">OSGetMEM1ArenaLo</A></TD> 112<TD>Gets the lower boundary of the arena in internal main memory (MEM1 area).</TD> 113 </TR> 114 <TR> 115<TD nowrap><A href="Arena/OSGetMEM2ArenaHi.html">OSGetMEM2ArenaHi</A></TD> 116<TD>Gets the upper boundary of the arena in external main memory (MEM2 area).</TD> 117 </TR> 118 <TR> 119<TD nowrap><A href="Arena/OSGetMEM2ArenaLo.html">OSGetMEM2ArenaLo</A></TD> 120<TD>Gets the lower boundary of the arena in external main memory (MEM2 area).</TD> 121 </TR> 122 <TR> 123<TD nowrap><A href="Arena/OSSetMEM1ArenaHi.html">OSSetMEM1ArenaHi</A></TD> 124<TD>Sets the upper boundary of the arena in internal main memory (MEM1 area).</TD> 125 </TR> 126 <TR> 127<TD nowrap><A href="Arena/OSSetMEM1ArenaLo.html">OSSetMEM1ArenaLo</A></TD> 128<TD>Sets the lower boundary of the arena in internal main memory (MEM1 area).</TD> 129 </TR> 130 <TR> 131<TD nowrap><A href="Arena/OSSetMEM2ArenaHi.html">OSSetMEM2ArenaHi</A></TD> 132<TD>Sets the upper boundary of the arena in external main memory (MEM2 area).</TD> 133 </TR> 134 <TR> 135<TD nowrap><A href="Arena/OSSetMEM2ArenaLo.html">OSSetMEM2ArenaLo</A></TD> 136<TD>Sets the lower boundary of the arena in external main memory (MEM2 area).</TD> 137 </TR> 138 </TBODY> 139</TABLE> 140<H2><A name="Cache">Cache (Data Cache)</A></H2> 141<H3>Data Cache</H3> 142<TABLE border=""> 143 <TBODY> 144 <TR> 145<TD nowrap><A href="Cache/DCFlushRange.html">DCFlushRange</A></TD> 146<TD>Flushes the specified region of the data cache.</TD> 147 </TR> 148 <TR> 149<TD nowrap><A href="Cache/DCFlushRangeNoSync.html">DCFlushRangeNoSync</A></TD> 150<TD>Invalidates a specified data cache range.</TD> 151 </TR> 152 <TR> 153<TD><A href="Cache/DCFreeze.html">DCFreeze</A></TD> 154<TD>The current contents of the L1 data cache are locked and will not be invalidated.</TD> 155 </TR> 156 <TR> 157<TD><A href="Cache/DCInvalidateRange.html">DCInvalidateRange</A></TD> 158<TD>Invalidates the specified region of the data cache.</TD> 159 </TR> 160 <TR> 161<TD nowrap><A href="Cache/DCStoreRange.html">DCStoreRange</A></TD> 162<TD>Reflects (writes back) the data in the specified region of the data cache to real memory.</TD> 163 </TR> 164 <TR> 165<TD><A href="Cache/DCStoreRangeNoSync.html">DCStoreRangeNoSync</A></TD> 166<TD>Securely updates specified memory range with modified data in the cache.</TD> 167 </TR> 168 <TR> 169<TD><A href="Cache/DCTouchRange.html">DCTouchRange</A></TD> 170<TD>Loads specified range of memory into the cache.</TD> 171 </TR> 172 <TR> 173<TD><A href="Cache/DCUnfreeze.html">DCUnfreeze</A></TD> 174<TD>Cancels the effect of the <code><A href="Cache/DCUnfreeze.html">DCFreeze</a></code> function.</TD> 175 </TR> 176 <TR> 177<TD><A href="Cache/DCZeroRange.html">DCZeroRange</A></TD> 178<TD>Loads the range of memory into the cache and sets all cache blocks to zero.</TD> 179 </TR> 180 </TBODY> 181</TABLE> 182<H3>Instruction Cache</H3> 183<TABLE border=""> 184 <TBODY> 185 <TR> 186<TD><A href="Cache/ICFreeze.html">ICFreeze</A></TD> 187<TD>Current contents of the L1 instruction cache are locked and will not be invalidated.</TD> 188 </TR> 189 <TR> 190<TD nowrap><A href="Cache/ICInvalidateRange.html">ICInvalidateRange</A></TD> 191<TD>Invalidates the specified region of the instruction cache.</TD> 192 </TR> 193 <TR> 194<TD><A href="Cache/ICUnfreeze.html">ICUnfreeze</A></TD> 195<TD>Cancels the effect of the <A href="Cache/ICUnfreeze.html"><code>ICFreeze</code></a> function.</TD> 196 </TR> 197 </TBODY> 198</TABLE> 199<H3>Locked Cache</H3> 200<TABLE border=""> 201 <TBODY> 202 <TR> 203<TD><A href="Cache/LCDisable.html">LCDisable</A></TD> 204<TD>Disables the locked cache and returns the cache to the normal 32-KB and 8-way set associative state.</TD> 205 </TR> 206 <TR> 207<TD><A href="Cache/LCEnable.html">LCEnable</A></TD> 208<TD>Enables the locked cache.</TD> 209 </TR> 210 <TR> 211<TD><A href="Cache/LCGetBase.html">LCGetBase</A></TD> 212<TD>Returns a base pointer to the locked cache region. </TD> 213 </TR> 214 <TR> 215<TD><A href="Cache/LCFlushQueue.html">LCFlushQueue</A></TD> 216<TD>Flushes the DMA queue and issues SYNC until all DMA transfers are committed.</TD> 217 </TR> 218 <TR> 219<TD><A href="Cache/LCLoadBlocks.html">LCLoadBlocks</A></TD> 220<TD>Places DMA transactions in the queue.</TD> 221 </TR> 222 <TR> 223<TD><A href="Cache/LCLoadData.html">LCLoadData</A></TD> 224<TD>Places DMA transactions in the queue.</TD> 225 </TR> 226 <TR> 227<TD><A href="Cache/LCQueueLength.html">LCQueueLength</A></TD> 228<TD>Returns the number of remaining transactions in the DMA queue. </TD> 229 </TR> 230 <TR> 231<TD><A href="Cache/LCQueueWait.html">LCQueueWait</A></TD> 232<TD>Polls the DMA queue length until it is less than or equal to <STRONG><EM><CODE>len</CODE></EM></STRONG>.</TD> 233 </TR> 234 <TR> 235<TD><A href="Cache/LCStoreBlocks.html">LCStoreBlocks</A></TD> 236<TD>Places DMA transactions in the queue.</TD> 237 </TR> 238 <TR> 239<TD><A href="Cache/LCStoreData.html">LCStoreData</A></TD> 240<TD>Places DMA transactions in the queue.</TD> 241 </TR> 242 </TBODY> 243</TABLE> 244<H2><A name="Error">Error</A></H2> 245<TABLE border=""> 246 <TBODY> 247 <TR> 248<TD nowrap><A href="Error/ASSERT.html">ASSERT</A></TD> 249<TD>Displays messages for debugging.</TD> 250 </TR> 251 <TR> 252<TD nowrap><A href="Error/ASSERTMSG.html">ASSERTMSG</A></TD> 253<TD>Displays messages for debugging (specified as a character string).</TD> 254 </TR> 255 <TR> 256<TD><A href="Error/OSFatal.html">OSFatal</A></TD> 257<TD>Stops program execution and displays the specified text message on the TV screen.</TD> 258 </TR> 259 <TR> 260<TD nowrap><A href="Error/OSHalt.html">OSHalt</A></TD> 261<TD>Displays the specified character string and stops the OS.</TD> 262 </TR> 263 <TR> 264<TD><A href="Error/OSProtectRange.html">OSProtectRange</A></TD> 265<TD>Sets main memory access protection for the specified region.</TD> 266 </TR> 267 <TR> 268<TD nowrap><A href="Error/OSReport.html">OSReport</A></TD> 269<TD>A formatted message is displayed on the log window of the debugger.</TD> 270 </TR> 271 <TR> 272<TD><A href="Error/OSSetErrorHandler.html">OSSetErrorHandler</A></TD> 273<TD>Implements an error handler of the specified error type.</TD> 274 </TR> 275 </TBODY> 276</TABLE> 277<H2><A name="Exec">Execution</A></H2> 278<TABLE border="1"> 279 <TBODY> 280 <TR> 281<TD><A href="Reset/OSExec.html">OSExecl</A></TD> 282<TD>Executes new dol files (argument specified as a list).</TD> 283 </TR> 284 <TR> 285<TD><A href="Reset/OSExec.html">OSExecv</A></TD> 286<TD>Executes new dol files (argument specified as an array).</TD> 287 </TR> 288 </TBODY> 289</TABLE> 290<H2><A name="FastCast">Fast Cast</A></H2> 291<TABLE border="1"> 292 <TBODY> 293 <TR> 294<TD><A href="FastCast/OSf32tos16.html">OSf32tos16</A></TD> 295<TD>Fast converts single-precision floating point values to signed 16-bit integers.</TD> 296 </TR> 297 <TR> 298<TD><A href="FastCast/OSf32tos8.html">OSf32tos8</A></TD> 299<TD>Fast converts single-precision floating point values to signed 8-bit integers.</TD> 300 </TR> 301 <TR> 302<TD><A href="FastCast/OSf32tou16.html">OSf32tou16</A></TD> 303<TD>Fast converts single-precision floating point values to unsigned 16-bit integers.</TD> 304 </TR> 305 <TR> 306<TD><A href="FastCast/OSf32tou8.html">OSf32tou8</A></TD> 307<TD>Fast converts single-precision floating point values to unsigned 8-bit integers.</TD> 308 </TR> 309 <TR> 310<TD><A href="FastCast/OSInitFastCast.html">OSInitFastCast</A></TD> 311<TD>Sets up the floating point number/integer fast cast feature. </TD> 312 </TR> 313 <TR> 314<TD><A href="FastCast/OSs16tof32.html">OSs16tof32</A></TD> 315<TD>Fast converts signed 16-bit integers to 32-bit floating point values.</TD> 316 </TR> 317 <TR> 318<TD><A href="FastCast/OSs8tof32.html">OSs8tof32</A></TD> 319<TD>Fast converts signed 8-bit integers to 32-bit floating point values.</TD> 320 </TR> 321 <TR> 322<TD><A href="FastCast/OSu16tof32.html">OSu16tof32</A></TD> 323 <TD> 324<P>Fast converts unsigned 16-bit integers to 32-bit floating point values.</P> 325 </TD> 326 </TR> 327 <TR> 328<TD><A href="FastCast/OSu8tof32.html">OSu8tof32</A></TD> 329<TD>Fast converts unsigned 8-bit integers to 32-bit floating point values.</TD> 330 </TR> 331 <TR> 332<TD><A href="FastCast/OSSetGQR.html">OSSetGQR[n]</A></TD> 333<TD>Sets value to a quantization register GQR in the Broadway CPU.</TD> 334 </TR> 335 </TBODY> 336</TABLE> 337<H2><A name="Font">Font</A></H2> 338<TABLE border="1"> 339 <TBODY> 340 <TR> 341<TD><B><A href="Font/intro.html">Introduction</A></B></TD> 342<TD>Overview of the internal ROM fonts.</TD> 343 </TR> 344 <TR> 345<TD><A href="Font/OSGetFontEncode.html">OSGetFontEncode</A></TD> 346<TD>Checks the encoding method of a character font.</TD> 347 </TR> 348 <TR> 349<TD><A href="Font/OSGetFontTexel.html">OSGetFontTexel</A></TD> 350<TD>Retrieves the font texel image of the first text character from the specified string.</TD> 351 </TR> 352 <TR> 353<TD><A href="Font/OSGetFontTexture.html">OSGetFontTexture</A></TD> 354<TD>Gets a pointer to the font texture image of the first text character in the specified string.</TD> 355 </TR> 356 <TR> 357<TD><A href="Font/OSGetFontWidth.html">OSGetFontWidth</A></TD> 358<TD>Gets the texel width of the first text character in the specified string.</TD> 359 </TR> 360 <TR> 361<TD><A href="Font/OSInitFont.html">OSInitFont</A></TD> 362<TD>Loads and expands ROM font data.</TD> 363 </TR> 364 <TR> 365<TD><A href="Font/OSLoadFont.html">OSLoadFont</A></TD> 366<TD>Loads a ROM font.</TD> 367 </TR> 368 </TBODY> 369</TABLE> 370<H2><A name="Idle">Idle Function</A></H2> 371<TABLE border=""> 372 <TBODY> 373 <TR> 374<TD nowrap><A href="Thread/OSGetIdleFunction.html">OSGetIdleFunction</A></TD> 375<TD>Gets the current background execution context.</TD> 376 </TR> 377 <TR> 378<TD nowrap><A href="Thread/OSSetIdleFunction.html">OSSetIdleFunction</A></TD> 379<TD>Generates a background execution context.</TD> 380 </TR> 381 </TBODY> 382</TABLE> 383<H2><A name="Initialization">Initialization</A></H2> 384<TABLE border=""> 385 <TBODY> 386 <TR> 387<TD nowrap><A href="Init/OSGetConsoleSimulatedMem1Size.html">OSGetConsoleSimulatedMem1Size</A></TD> 388<TD>Gets the size of the internal main memory (MEM1) that simulates a console.</TD> 389 </TR> 390 <TR> 391<TD nowrap><A href="Init/OSGetConsoleSimulatedMem2Size.html">OSGetConsoleSimulatedMem2Size</A></TD> 392<TD>Gets the size of external memory (MEM2) that simulates a console.</TD> 393 </TR> 394 <TR> 395<TD><A href="Init/OSGetConsoleType.html">OSGetConsoleType</A></TD> 396<TD>Checks the console type.</TD> 397 </TR> 398 <TR> 399<TD nowrap><A href="Init/OSGetPhysicalMem1Size.html">OSGetPhysicalMem1Size</A></TD> 400<TD>This function is retained for compatibility with older versions. Gets the internal main memory size of Hollywood that is mounted in a development machine.</TD> 401 </TR> 402 <TR> 403<TD nowrap><A href="Init/OSGetPhysicalMem2Size.html">OSGetPhysicalMem2Size</A></TD> 404<TD>Gets the size of the external main memory (GDDR3) that is mounted on a development machine.</TD> 405 </TR> 406 <TR> 407<TD><A href="Init/OSInit.html">OSInit</A></TD> 408<TD>Initializes the OS. </TD> 409 </TR> 410 </TBODY> 411</TABLE> 412<H2><A name="Interrupt">Interrupts</A></H2> 413<TABLE border=""> 414 <TBODY> 415 <TR> 416<TD nowrap><A href="Interrupt/OSDisableInterrupts.html">OSDisableInterrupts</A></TD> 417<TD>Disables external interrupts.</TD> 418 </TR> 419 <TR> 420<TD nowrap><A href="Interrupt/OSEnableInterrupts.html">OSEnableInterrupts</A></TD> 421<TD>Enables external interrupts.</TD> 422 </TR> 423 <TR> 424<TD nowrap><A href="Interrupt/OSRestoreInterrupts.html">OSRestoreInterrupts</A></TD> 425<TD>Restores the interrupt state to a previous state.</TD> 426 </TR> 427 </TBODY> 428</TABLE> 429<H2><A name="Memory Allocation">Memory Allocation</A>(MEM Library is recommended)</H2> 430<TABLE border=""> 431 <TBODY> 432 <TR> 433<TD nowrap><A href="Alloc/OSAddToHeap.html">OSAddToHeap</A></TD> 434<TD>Adds an arbitrary block of memory to the heap.</TD> 435 </TR> 436 <TR> 437<TD nowrap><A href="Alloc/OSAlloc.html">OSAlloc</A></TD> 438<TD>Allocates memory from the current heap.</TD> 439 </TR> 440 <TR> 441<TD nowrap><A href="Alloc/OSAllocFixed.html">OSAllocFixed</A></TD> 442<TD>Allocates the explicitly specified region of memory.</TD> 443 </TR> 444 <TR> 445<TD nowrap><A href="Alloc/OSAllocFromHeap.html">OSAllocFromHeap</A></TD> 446<TD>Allocates memory from the specified heap region.</TD> 447 </TR> 448 <TR> 449<TD nowrap><A href="Alloc/OSCheckHeap.html">OSCheckHeap</A></TD> 450<TD>Checks that the heap region is normal for debugging.</TD> 451 </TR> 452 <TR> 453<TD><A href="Alloc/OSCreateHeap.html">OSCreateHeap</A></TD> 454<TD>Creates a heap.</TD> 455 </TR> 456 <TR> 457<TD nowrap><A href="Alloc/OSDestroyHeap.html">OSDestroyHeap</A></TD> 458<TD>Destroys a heap.</TD> 459 </TR> 460 <TR> 461<TD nowrap><A href="Alloc/OSDumpHeap.html">OSDumpHeap</A></TD> 462<TD>Dumps statistical information and elements for the heap region.</TD> 463 </TR> 464 <TR> 465<TD nowrap><A href="Alloc/OSFree.html">OSFree</A></TD> 466<TD>Frees memory referenced by a pointer to the current heap.</TD> 467 </TR> 468 <TR> 469<TD nowrap><A href="Alloc/OSFreeToHeap.html">OSFreeToHeap</A></TD> 470<TD>Returns freed memory to the specified heap.</TD> 471 </TR> 472 <TR> 473<TD nowrap><A href="Alloc/OSInitAlloc.html">OSInitAlloc</A></TD> 474<TD>Initializes memory allocation services and the arena in which all heaps will reside. </TD> 475 </TR> 476 <TR> 477<TD nowrap><A href="Alloc/OSSetCurrentHeap.html">OSSetCurrentHeap</A></TD> 478<TD>Sets the current heap.</TD> 479 </TR> 480 </TBODY> 481</TABLE> 482<H2><A name="Reset">Reset</A></H2> 483<TABLE border="1"> 484 <TBODY> 485 <TR> 486<TD><A href="Reset/intro.html"><B>Introduction</B></A></TD> 487 <TD>This is an overview of the reset and shutdown functions.</TD> 488 </TR> 489 <TR> 490<TD><A href="Reset/OSIsRestart.html">OSIsRestart</A></TD> 491<TD>Checks whether boot up was from a restart.</TD> 492 </TR> 493 <TR> 494<TD><A href="Reset/OSGetResetCode.html">OSGetResetCode</A></TD> 495<TD>Returns the reset code.</TD> 496 </TR> 497 <TR> 498<TD><A href="Reset/OSGetSaveRegion.html">OSGetSaveRegion</A></TD> 499<TD>Gets the region specified by OSSetSaveRegion.</TD> 500 </TR> 501 <TR> 502<TD><A href="Reset/OSGetSavedRegion.html">OSGetSavedRegion</A></TD> 503<TD>Gets the region specified by OSSetSaveRegion.</TD> 504 </TR> 505 <TR> 506<TD><A href="Reset/OSSetSaveRegion.html">OSSetSaveRegion</A></TD> 507<TD>Sets a region that must not be cleared by OSInit after restart.</TD> 508 </TR> 509 <TR> 510 <TD><A href="Reset/OSRebootSystem.html">OSRebootSystem</A></TD> 511 <TD>Restarts (hot resets) the system.</TD> 512 </TR> 513 <TR> 514 <TD><A href="Reset/OSRestart.html">OSRestart</A></TD> 515 <TD>Restarts (restarts) the application.</TD> 516 </TR> 517 <TR> 518 <TD><A href="Reset/OSReturnToMenu.html">OSReturnToMenu</A></TD> 519 <TD>Terminates execution of the applications and restores execution to the system menu.</TD> 520 </TR> 521 <TR> 522 <TD><A href="Reset/OSShutdownSystem.html">OSShutdownSystem</A></TD> 523 <TD>Terminates execution of the application and turns off the system power (shutdown).</TD> 524 </TR> 525 </TBODY> 526</TABLE> 527<H2><A name="Reset Button">RESET</A></H2> 528<TABLE border="1"> 529 <TBODY> 530 <TR> 531<TD><A href="Resetbutton/OSGetResetButtonState.html">OSGetResetButtonState</A></TD> 532<TD>Checks the current state of the RESET Button.</TD> 533 </TR> 534 <TR> 535<TD><A href="Resetbutton/OSSetResetCallback.html">OSSetResetCallback</A></TD> 536<TD>Registers a one time reset callback.</TD> 537 </TR> 538 <TR> 539 <TD><A href="Resetbutton/OSSetPowerCallback.html">OSSetPowerCallback</A></TD> 540 <TD>Registers a one time power button callback.</TD> 541 </TR> 542 </TBODY> 543</TABLE> 544<H2><A name="Relocatable">Relocatable Module System</A></H2> 545<TABLE border="1"> 546 <TBODY> 547 <TR> 548<TD><A href="Rel/intro.html"><B>Introduction</B></A></TD> 549<TD>An overview of the relocatable module system.</TD> 550 </TR> 551 <TR> 552<TD><A href="Rel/OSLink.html">OSLink</A></TD> 553<TD>Links the specified module.</TD> 554 </TR> 555 <TR> 556<TD><A href="Rel/OSLink.html">OSLinkFixed</A></TD> 557<TD>Links the specified module and releases some memory that the relocatable module occupies.</TD> 558 </TR> 559 <TR> 560<TD><A href="Rel/OSUnlink.html">OSUnlink</A></TD> 561<TD>Unlinks the specified module.</TD> 562 </TR> 563 <TR> 564<TD><A href="Rel/OSSearchModule.html">OSSearchModule</A></TD> 565<TD>Searches the module which includes the specified address.</TD> 566 </TR> 567 <TR> 568<TD><A href="Rel/OSSetStringTable.html">OSSetStringTable</A></TD> 569<TD>Specifies the module string table location.</TD> 570 </TR> 571 </TBODY> 572</TABLE> 573<H2><A name="Stack">Stack</A></H2> 574<TABLE border="1"> 575 <TBODY> 576 <TR> 577<TD><A href="Stack/OSClearStack.html">OSClearStack</A></TD> 578<TD>Sets the <STRONG><EM><CODE>val</CODE></EM></STRONG> value to the stack of the thread to call.</TD> 579 </TR> 580 <TR> 581<TD><A href="Stack/OSGetStackPointer.html">OSGetStackPointer</A></TD> 582<TD>Gets the current stack pointer address (r1).</TD> 583 </TR> 584 <TR> 585<TD><A href="Stack/OSSwitchFiber.html">OSSwitchFiber</A></TD> 586<TD>Executes a function that uses the new stack.</TD> 587 </TR> 588 <TR> 589<TD><A href="Stack/OSSwitchStack.html">OSSwitchStack</A></TD> 590<TD>Switches the current stack pointer.</TD> 591 </TR> 592 </TBODY> 593</TABLE> 594<H2><A name="Stopwatch">Stopwatch</A></H2> 595<TABLE border=""> 596 <TBODY> 597 <TR> 598<TD nowrap><A href="Stopwatch/OSInitStopwatch.html">OSInitStopwatch</A></TD> 599<TD>Initializes the specified stopwatch structure.</TD> 600 </TR> 601 <TR> 602<TD nowrap><A href="Stopwatch/OSStartStopwatch.html">OSStartStopwatch</A></TD> 603<TD>Records the current time (start stopwatch).</TD> 604 </TR> 605 <TR> 606<TD nowrap><A href="Stopwatch/OSStopStopwatch.html">OSStopStopwatch</A></TD> 607<TD>Records the current time (stop stopwatch). Updates the cumulative time from<CODE> OSStartStopwatch</CODE>.</TD> 608 </TR> 609 <TR> 610<TD nowrap><A href="Stopwatch/OSCheckStopwatch.html">OSCheckStopwatch</A></TD> 611<TD>Checks whether the stopwatch function is running.</TD> 612 </TR> 613 <TR> 614<TD nowrap><A href="Stopwatch/OSResetStopwatch.html">OSResetStopwatch</A></TD> 615<TD>Initializes the specified stopwatch structure.</TD> 616 </TR> 617 <TR> 618<TD nowrap><A href="Stopwatch/OSDumpStopwatch.html">OSDumpStopwatch</A></TD> 619<TD>Writes to the debug channel some information sets (interval, total time, etc.) that the stopwatch measures.</TD> 620 </TR> 621 </TBODY> 622</TABLE> 623<H2><A name="Synchronization">Synchronization</A></H2> 624<TABLE border=""> 625 <TBODY> 626 <TR> 627<TD nowrap><A href="Synchronization/PPCSync.html">PPCSync</A></TD> 628<TD>Executes a standard PowerPC sync instruction.</TD> 629 </TR> 630 </TBODY> 631</TABLE> 632<H2><A name="Time">Time</A></H2> 633<TABLE border="1"> 634 <TBODY> 635 <TR> 636<TD><A href="Time/OSDiffTick.html">OSDiffTick</A></TD> 637<TD>Returns the difference between two tick values.</TD> 638 </TR> 639 <TR> 640<TD><A href="Time/OSGetTime.html">OSGetTime</A></TD> 641<TD>Gets the value of the time base register (64-bit width) in units of OS_TIMER_CLOCK Hz.</TD> 642 </TR> 643 <TR> 644<TD><A href="Time/OSGetTick.html">OSGetTick</A></TD> 645<TD>Gets a tick. (Gets the 32 low order bits of Broadway's time base register.)</TD> 646 </TR> 647 <TR> 648<TD nowrap><A href="Time/OSTicksToCycles.html">OSTicksToCycles</A></TD> 649<TD>Converts time from ticks to CPU core cycles units (<CODE> OS_CORE_CLOCK</CODE> Hz).</TD> 650 </TR> 651 <TR> 652<TD nowrap><A href="Time/OSTicksToSeconds.html">OSTicksToSeconds</A></TD> 653<TD>Converts value from unit of ticks to seconds.</TD> 654 </TR> 655 <TR> 656<TD nowrap><A href="Time/OSTicksToMilliseconds.html">OSTicksToMilliseconds</A></TD> 657<TD>Converts value from unit of ticks to milliseconds.</TD> 658 </TR> 659 <TR> 660<TD nowrap><A href="Time/OSTicksToMicroseconds.html">OSTicksToMicroseconds</A></TD> 661<TD>Converts value from unit of ticks to microseconds.</TD> 662 </TR> 663 <TR> 664<TD nowrap><A href="Time/OSTicksToNanoseconds.html">OSTicksToNanoseconds</A></TD> 665<TD>Converts value from unit of ticks to nanoseconds.</TD> 666 </TR> 667 <TR> 668<TD nowrap><A href="Time/OSSecondsToTicks.html">OSSecondsToTicks</A></TD> 669<TD>Converts value from unit of seconds to ticks.</TD> 670 </TR> 671 <TR> 672<TD nowrap><A href="Time/OSMillisecondsToTicks.html">OSMillisecondsToTicks</A></TD> 673<TD>Converts value from unit of milliseconds to ticks.</TD> 674 </TR> 675 <TR> 676<TD nowrap><A href="Time/OSMicrosecondsToTicks.html">OSMicrosecondsToTicks</A></TD> 677<TD>Converts value from unit of microseconds to ticks.</TD> 678 </TR> 679 <TR> 680<TD nowrap><A href="Time/OSNanosecondsToTicks.html">OSNanosecondsToTicks</A></TD> 681<TD>Converts value from unit of nanoseconds to ticks.</TD> 682 </TR> 683 <TR> 684<TD><A href="Time/OSCalendarTimeToTicks.html">OSCalendarTimeToTicks</A></TD> 685<TD>Converts value from unit of calendar time to ticks (<code>OS_TIMER_CLOCK</code> Hz).</TD> 686 </TR> 687 <TR> 688<TD><A href="Time/OSTicksToCalendarTime.html">OSTicksToCalendarTime</A></TD> 689 <TD> 690<P>(Converts value from unit of ticks (<code>OS_TIMER_CLOCK</code> Hz) to calendar time.</P> 691 </TD> 692 </TR> 693 </TBODY> 694</TABLE> 695<H2><A name="Thread">Thread</A></H2> 696<TABLE border="1"> 697 <TBODY> 698 <TR> 699<TD><A href="Thread/OSCancelThread.html">OSCancelThread</A></TD> 700<TD>Stops the specified thread. </TD> 701 </TR> 702 <TR> 703<TD><A href="Thread/OSCheckActiveThreads.html">OSCheckActiveThreads</A></TD> 704<TD>Executes as many checks as possible by tracing an active thread queue.</TD> 705 </TR> 706 <TR> 707<TD><A href="Thread/OSCreateThread.html">OSCreateThread</A></TD> 708<TD>Creates a new thread.</TD> 709 </TR> 710 <TR> 711<TD><A href="Thread/OSDetachThread.html">OSDetachThread</A></TD> 712<TD>Sets the detached attribute for the specified thread. </TD> 713 </TR> 714 <TR> 715<TD><A href="Thread/OSDisableScheduler.html">OSDisableScheduler</A></TD> 716<TD>Pauses thread rescheduling.</TD> 717 </TR> 718 <TR> 719<TD><A href="Thread/OSEnableScheduler.html">OSEnableScheduler</A></TD> 720<TD>Restarts thread rescheduling.</TD> 721 </TR> 722 <TR> 723<TD><A href="Thread/OSExitThread.html">OSExitThread</A></TD> 724<TD>Ends the current (called) thread and switches to the next runnable thread.</TD> 725 </TR> 726 <TR> 727<TD><A href="Thread/OSGetCurrentThread.html">OSGetCurrentThread</A></TD> 728<TD>Gets the pointer to the current thread.</TD> 729 </TR> 730 <TR> 731<TD><A href="Thread/OSGetThreadPriority.html">OSGetThreadPriority</A></TD> 732<TD>Returns the priority order that will become the scheduling base for the specified thread.</TD> 733 </TR> 734 <TR> 735<TD><A href="Thread/OSSetThreadSpecific.html">OSGetThreadSpecific</A></TD> 736<TD>Gets data specific to the thread that called this function.</TD> 737 </TR> 738 <TR> 739<TD><A href="Thread/OSInitThreadQueue.html">OSInitThreadQueue</A></TD> 740<TD>Initializes the thread queue that other thread functions use.</TD> 741 </TR> 742 <TR> 743<TD><A href="Thread/OSIsThreadSuspended.html">OSIsThreadSuspended</A></TD> 744<TD>Checks whether the specified thread is suspended.</TD> 745 </TR> 746 <TR> 747<TD><A href="Thread/OSIsThreadTerminated.html">OSIsThreadTerminated</A></TD> 748<TD>Checks whether the specified thread is stopped.</TD> 749 </TR> 750 <TR> 751<TD><A href="Thread/OSJoinThread.html">OSJoinThread</A></TD> 752<TD>Waits for the specified thread to end and reproduces information for the ended thread.</TD> 753 </TR> 754 <TR> 755<TD><A href="Thread/OSResumeThread.html">OSResumeThread</A></TD> 756<TD>Resumes the specified thread (incremental).</TD> 757 </TR> 758 <TR> 759<TD><A href="Thread/OSSetThreadPriority.html">OSSetThreadPriority</A></TD> 760<TD>Sets the priority level used as the scheduling base.</TD> 761 </TR> 762 <TR> 763<TD><A href="Thread/OSSetThreadSpecific.html">OSSetThreadSpecific</A></TD> 764<TD>Gets data specific to the thread that called this function.</TD> 765 </TR> 766 <TR> 767<TD><A href="Thread/OSSetSwitchThreadCallback.html">OSSetSwitchThreadCallback</A></TD> 768<TD>Registers a specified callback function.</TD> 769 </TR> 770 <TR> 771<TD><A href="Thread/OSSleepThread.html">OSSleepThread</A></TD> 772<TD>Suspends the current thread and inserts it into the thread queue that <STRONG><EM><CODE>queue</CODE></EM></STRONG> specifies..</TD> 773 </TR> 774 <TR> 775<TD><A href="Thread/OSSuspendThread.html">OSSuspendThread</A></TD> 776<TD>Suspends the specified thread.</TD> 777 </TR> 778 <TR> 779<TD><A href="Thread/OSWakeupThread.html">OSWakeupThread</A></TD> 780<TD>Wakes up all the threads in the specified thread queue. </TD> 781 </TR> 782 <TR> 783<TD><A href="Thread/OSYieldThread.html">OSYieldThread</A></TD> 784<TD>Performs thread rescheduling.</TD> 785 </TR> 786 <TR> 787 <TD><A href="Thread/OSSleepMicroseconds.html">OSSleepMicroseconds</A></TD> 788 <TD>Temporarily stops the current thread and sets executable status after the specified number of microseconds have elapsed. </TD> 789 </TR> 790 <TR> 791 <TD><A href="Thread/OSSleepMilliseconds.html">OSSleepMilliseconds</A></TD> 792 <TD>Temporarily stops the current thread and sets executable status after the specified number of milliseconds have elapsed. </TD> 793 </TR> 794 <TR> 795 <TD><A href="Thread/OSSleepNanoseconds.html">OSSleepNanoseconds</A></TD> 796 <TD>Temporarily stops the current thread and sets executable status after the specified number of nanoseconds have elapsed. </TD> 797 </TR> 798 <TR> 799 <TD><A href="Thread/OSSleepSeconds.html">OSSleepSeconds</A></TD> 800 <TD>Temporarily stops the current thread and sets executable status after the specified number of seconds have elapsed. </TD> 801 </TR> 802 <TR> 803 <TD><A href="Thread/OSSleepTicks.html">OSSleepTicks</A></TD> 804 <TD>Temporarily stops the current thread and sets executable status after the specified number of ticks of the system clock have elapsed. </TD> 805 </TR> 806 </TBODY> 807</TABLE> 808<H2><A name="ThreadSynchronization">Thread Synchronization</A></H2> 809<P><B>Mutexes and Condition Variables</B></P> 810<TABLE border="1"> 811 <TBODY> 812 <TR> 813<TD><A href="Thread_Synchronization/OSInitCond.html">OSInitCond</A></TD> 814<TD>Initializes the condition variable. </TD> 815 </TR> 816 <TR> 817<TD><A href="Thread_Synchronization/OSInitMutex.html">OSInitMutex</A></TD> 818<TD>Initializes the mutex.</TD> 819 </TR> 820 <TR> 821<TD><A href="Thread_Synchronization/OSLockMutex.html">OSLockMutex</A></TD> 822<TD>Attempts to lock the mutex that <STRONG><EM><CODE>mutex</CODE></EM></STRONG> specifies.</TD> 823 </TR> 824 <TR> 825<TD><A href="Thread_Synchronization/OSSignalCond.html">OSSignalCond</A></TD> 826<TD>Unblocks all the threads waiting on the specified condition variable. </TD> 827 </TR> 828 <TR> 829<TD><A href="Thread_Synchronization/OSTryLockMutex.html">OSTryLockMutex</A></TD> 830<TD>The calling thread tries to lock the mutex.</TD> 831 </TR> 832 <TR> 833<TD><A href="Thread_Synchronization/OSUnlockMutex.html">OSUnlockMutex</A></TD> 834<TD>The calling thread unlocks the mutex.</TD> 835 </TR> 836 <TR> 837<TD><A href="Thread_Synchronization/OSWaitCond.html">OSWaitCond</A></TD> 838<TD>Blocks the calling thread on the condition variable and releases the mutex.</TD> 839 </TR> 840 </TBODY> 841</TABLE> 842<P><B>Message Queues</B></P> 843<TABLE border="1"> 844 <TBODY> 845 <TR> 846<TD><A href="Thread_Synchronization/OSInitMessageQueue.html">OSInitMessageQueue</A></TD> 847<TD>Initializes the message queue structure <STRONG><EM><CODE>mq</CODE></EM></STRONG>. </TD> 848 </TR> 849 <TR> 850<TD><A href="Thread_Synchronization/OSJamMessage.html">OSJamMessage</A></TD> 851<TD>Inserts a message at the start of the specified message queue.</TD> 852 </TR> 853 <TR> 854<TD><A href="Thread_Synchronization/OSReceiveMessage.html">OSReceiveMessage</A></TD> 855<TD>Extracts messages from the message queue.</TD> 856 </TR> 857 <TR> 858<TD><A href="Thread_Synchronization/OSSendMessage.html">OSSendMessage</A></TD> 859<TD>Inserts a message at the end of the specified message queue.</TD> 860 </TR> 861 </TBODY> 862</TABLE> 863<P><B>Semaphores</B></P> 864<TABLE border="1"> 865 <TBODY> 866 <TR> 867<TD><A href="Thread_Synchronization/OSGetSemaphoreCount.html">OSGetSemaphoreCount</A></TD> 868<TD>Returns the current semaphore count.</TD> 869 </TR> 870 <TR> 871<TD><A href="Thread_Synchronization/OSInitSemaphore.html">OSInitSemaphore</A></TD> 872<TD>Initializes semaphores.</TD> 873 </TR> 874 <TR> 875<TD><A href="Thread_Synchronization/OSSignalSemaphore.html">OSSignalSemaphore</A></TD> 876<TD>Increments the specified semaphore count.</TD> 877 </TR> 878 <TR> 879<TD><A href="Thread_Synchronization/OSTryWaitSemaphore.html">OSTryWaitSemaphore</A></TD> 880<TD>If the semaphore count is greater than zero, the count is decremented.</TD> 881 </TR> 882 <TR> 883<TD><A href="Thread_Synchronization/OSWaitSemaphore.html">OSWaitSemaphore</A></TD> 884<TD>Decrements the specified semaphore count.</TD> 885 </TR> 886 </TBODY> 887</TABLE> 888<br> 889<hr> 890<P>CONFIDENTIAL</p> 891</BODY> 892</HTML>