TaskManager

Introduction and Overview

The Task Manager module provides various facilities to ease the management of tasks. These are:

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:

OffsetContents
0task handle
4pointer to task name (should be copied away and not used in place)
8amount of memory (in K) used by the task
12flags:
Bit(s)Meaning
0module task, otherwise application task
1slot bar is draggable, otherwise slot bar cannot be dragged
2-3Reserved, must be zero
TaskManager_ShutdownSWI &42682
Initiates a desktop shutdown
R0=shutdown flags :
Bit(s)Meaning
0don't display restart dialogue (equivalent to Exit menu option)
1don't broadcast Message_PreQuit
2flag in CMOS as portable power-down
3send Message_Shutdown
4reject OS_UpCall 1 and 2 (see COMMS.HTML#25162)
5-31Reserved, must be zero
None
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.

*ChangeDynamicArea -SpriteSize 32K -RamFsSize 100K