RISCOS.com

www.riscos.com Technical Support:
Programmer's Reference Manual

 

The TaskManager module


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_TaskNameFromHandle
(SWI &42680)

Finds the name of a task

On entry

R0 = task handle

On exit

R0 = pointer to task name

Interrupts

Interrupt status is undefined
Fast interrupts are enabled

Processor mode

Processor is in SVC mode

Re-entrancy

SWI is re-entrant

Use

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.

Related SWIs

TaskManager_EnumerateTasks

Related vectors

None


TaskManager_EnumerateTasks
(SWI &42681)

Enumerates all the currently active tasks

On entry

R0 = 0 for first call, or value from previous call
R1 = pointer to word aligned buffer
R2 = buffer length (in bytes)

On exit

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

Interrupt status is undefined
Fast interrupts are enabled

Processor mode

Processor is in SVC mode

Re-entrancy

SWI is not re-entrant

Use

This call enumerates all the currently active tasks. On exit the buffer is filled with entries of the form:

Byte Meaning
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:
Bit 0 0 => application task
1 => module task
Bit 1 0 => slot bar cannot be dragged
1 => slot bar can be dragged
(Bits 2-31 are reserved, and are currently 0)
Related SWIs

TaskManager_TaskNameFromHandle

Related vectors

None


TaskManager_Shutdown
(SWI &42682)

Initiates a desktop shutdown

On entry

R0 = shutdown flags

On exit

--

Interrupts

Interrupt status is undefined
Fast interrupts are enabled

Processor mode

Processor is in SVC mode

Re-entrancy

SWI is not re-entrant

Use

This call initiates a desktop shutdown. The actions performed are controlled by the shutdown flags held in R0:

Bit Meaning when set
0 don't display restart dialogue (equivalent to Exit menu option)
1 don't broadcast Message_PreQuit (see Message_PreQuit (8))
2 flag in CMOS as portable power-down
3 send a Message_Shutdown (see Message_Shutdown (14))
4 reject OS_UpCall 1 and 2 (see OS_UpCall 1 and 2)
5 - 31 reserved (must be zero)
Related SWIs

None

Related vectors

None

* Commands


*ChangeDynamicArea

Changes the size of the font cache, system sprite area and/or RAM disc

Syntax

*ChangeDynamicArea [-FontSize n[K]] [-SpriteSize n[K]] [-RamFsSize n[K]]

Parameters

n - Size of the area to be set, in kilobytes

Use

*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.

Example

*ChangeDynamicArea -SpriteSize 32K -RamFsSize 100K

Related commands

None

Related SWIs

OS_ChangeDynamicArea, OS_UpCall 257

Related vectors

None

This edition Copyright © 3QD Developments Ltd 2015
Last Edit: Tue,03 Nov 2015