DynamicArea calls
-----------------

Additional interfaces to OS_DynamicArea have been added since RISC OS 4.00.
These are documented here. RISC OS 4.10 and later also have Heap and
Lockable Dynamic Areas, which are documented separately.

OS_DynamicArea SetClamps (8)
      Set clamps on max size of dynamic areas created by subsequent
      calls to OS_DynamicArea 0
=> R0 = 8
   R1 = limit on maximum size of non-sparse areas created by
        OS_DynamicArea 0 with R5 = -1 (that is, areas with 'memory size'
        selected), 0 to read, or -1 for memory size
   R2 = limit on maximum size of non-sparse areas created by
        OS_DynamicArea 0 with R5 = 0 (that is, areas which specify a
        size), 0 to read, or -1 for memory size
   R3 = limit on maximum size of sparse areas created by OS_DynamicArea 0
        with R4 bit 10 (that is, Sparse Dynamic Areas), or 0 to read
<= R1 = previous limit for OS_DynamicArea 0 with R5 = -1
   R2 = previous limit for OS_DynamicArea 0 with R5 > 0
   R3 = previous limit for OS_DynamicArea 0 with R4 bit 10 set

This SWI is used to change the 'clamping' levels on dynamic area creation.
On machines with large amounts of memory, clients which previously requested
dynamic areas which could be as large as the memory of the machine could
very quickly up all the addressable memory. This call allows dynamic area
requests to be limited to set maximum sizes.


OS_DynamicArea SparseClaim (9)
      Ensure region of sparse dynamic area is mapped to valid memory
=> R0 = 9
   R1 = area number
   R2 = base of region to claim
   R3 = size of region
<= R0-R3 preserved

This SWI is used to claim an area of a Sparse Dynamic Area for use by
the client. The size requested will be roundedup to a page. If not all of
the region can be mapped in, an error will occur.


OS_DynamicArea SparseRelease (10)
      Allow region of sparse dynamic area to release memory to free pool
=> R0 = 9
   R1 = area number
   R2 = base of region to claim
   R3 = size of region
<= R0-R3 preserved

This SWI is used to release areas of memory previously claimed back in to
the free pool, unmapping the area requested. If not all of the region can be
released, an error will occur.
