Introduction and Overview
The Task Manager module provides various facilities to ease the management of tasks. These are:
- a SWI to find the name of a task, given its handle
- a SWI to enumerate all the currently active tasks
- a SWI to initiate a desktop shutdown
- a * Command to change the size of various system areas.
The Task Manager module is not available in RISC OS 2.
SWI calls
TaskManager_TaskNameFromHandleSWI &42680
Finds the name of a task
R0 | = | task handle |
R0 | = | pointer to task name |
Interrupts are undefined
Fast interrupts are enabled
Processor is in SVC mode
SWI is re-entrant
This call returns the name of a task, given its task handle. If you wish to keep the name, you must copy it into your own workspace.
TaskManager_EnumerateTasksSWI &42681
Enumerates all the currently active tasks
R0 | = | 0 for first call, or value from previous call |
R1 | = | pointer to word aligned buffer |
R2 | = | buffer length (in bytes) |
R0 | = | value to pass to next call, or < 0 if no more entries |
R1 | = | pointer to first unused word in buffer |
R2 | = | number of unused bytes in buffer |
Interrupts are undefined
Fast interrupts are enabled
Processor is in SVC mode
SWI is not re-entrant
This call enumerates all the currently active tasks. On exit the buffer is filled with entries of the form:
Offset | Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | task handle | ||||||||||||
4 | pointer to task name (should be copied away and not used in place) | ||||||||||||
8 | amount of memory (in K) used by the task | ||||||||||||
12 | flags:
|
TaskManager_ShutdownSWI &42682
Initiates a desktop shutdown
R0 | = | shutdown flags :
|
Interrupts are undefined
Fast interrupts are enabled
Processor is in SVC mode
SWI is not re-entrant
This call initiates a desktop shutdown. The actions performed are controlled by the shutdown flags held in R0.
* Commands
*ChangeDynamicArea
Changes the size of the font cache, system sprite area and/or RAM disc
*ChangeDynamicArea
-FontSize nK
-SpriteSize nK
-RamFSSize nK
<n> | - | Size of the area to be set, in kilobytes |
*ChangeDynamicArea changes the size of the font cache, system sprite area and/or RAM disc. It generates an error if it is unable to do so. Its main use is in desktop boot files.