[Select]

Dynamic Areas


Index

 

Dynamic areas

The following reason codes are passed in R0 to OS_DynamicArea :

OS_DynamicArea 0 - Create (PRM 5a-53)

OS_DynamicArea 1 - Remove (PRM 5a-56)

OS_DynamicArea 2 - Read information (PRM 5a-57)

OS_DynamicArea 3 - Enumerate (PRM 5a-58)

OS_DynamicArea 4 - Renumber (PRM 5a-59)

OS_DynamicArea 5 - Return available space (ShrinkableDAs)

OS_DynamicArea 6 - Read change information (for internal use only)

OS_DynamicArea 7 - Enumerate with information (for internal use only)

OS_DynamicArea 8 - Limit maximum area size (Clamps)

OS_DynamicArea 9 - Claim region of sparse area (SparseDAs)

OS_DynamicArea 10 - Release region of sparse area (SparseDAs)

OS_DynamicArea 11 - Lock area (LockedDAs)

OS_DynamicArea 12 - Unlock area (LockedDAs)

OS_DynamicArea 13 - Resize locked area (LockedDAs)

OS_DynamicArea 14 - Describe heap area (HeapDAs)

OS_DynamicArea 15 - Claim space in heap area (HeapDAs)

OS_DynamicArea 16 - Release block in heap area (HeapDAs)

OS_DynamicArea 17 - Resize block in heap area (HeapDAs)

OS_DynamicArea 18 - Read size of block in heap area (HeapDAs)

OS_DynamicArea 19 - Change domain state of area (DomainDAs)

For OS_DynamicArea 0, the following flags are used :

Bit 0-3 - access permissions (PRM 5a-54, PRM 1-384)

Bit 4 - area is not bufferable (PRM 5a-54)

Bit 5 - area is not cacheable (PRM 5a-54)

Bit 6 - area is doubly mapped (PRM 5a-54)

Bit 7 - area is not user resizeable (PRM 5a-54)

Bit 8 - area requires specific pages of memory (PRM 5a-54)

Bit 9 - area is shrinkable (ShrinkableDAs)

Bit 10 - area is sparse (SparseDAs)

Bit 11 - area is application bound (reserved for future expansion)

Bit 12 - area is in DMAable memory (DMAableDAs)

Bit 13 - area is locked (LockedDAs)

Bit 14 - area is a heap area (HeapDAs)

Bit 15 - area requires specific physical pages (PhysicalDAs)

Bit 16 - area handles aborts (AbortableDAs)

Bit 17 - area is in a domain (DomainDAs)

Bit 18 - area is not user visible (InvisibleDAs)

Bit 19 - area supplies a fixed list of pages (FixedPageDAs)

Bit 20-31 - reserved for future expansion

The dynamic area handler has the following reason codes :

Reason 0 - PreGrow (PRM 5a-42, PhysicalDAs)

Reason 1 - PostGrow (PRM 5a-43)

Reason 2 - PreShrink (PRM 5a-44)

Reason 3 - PostShrink (PRM 5a-44)

Reason 4 - TestShrink (ShrinkableDAs)

Reason 5 - Abort (AbortableDAs)


This documentation is copyright 3QD Developments Ltd 2013 and may not be reproduced or published in any form without the copyright holders permission. RISC OS is subject to continuous development and improvement as such all information is reproduced by 3QD Developments Ltd in good faith and is believed to be correct at the time of publication E&OE. 3QD Developments Ltd cannot accept any liability for any loss or damage arising from the use of any information provided as part of the RISC OS Documentation.

HTML document version 1.03 3rd November 2015