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.&nbsp;</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.&nbsp;</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.&nbsp;</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.&nbsp;</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.&nbsp;</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.&nbsp;</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.&nbsp;</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.&nbsp;</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.&nbsp;</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.&nbsp;</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>.&nbsp;</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>