;
; suballoc.sh
;
; Handling of requests for small link blocks
;
;  1994-1998 Straylight
;

;----- Licensing note -------------------------------------------------------
;
; This file is part of Straylight's Sapphire library.
;
; Sapphire is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2, or (at your option)
; any later version.
;
; Sapphire is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with Sapphire.  If not, write to the Free Software Foundation,
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

;----- Overview -------------------------------------------------------------
;
; Functions provided:
;
;  sub_alloc
;  sub_free
;  sub_init

		[	:LNOT::DEF:suballoc__dfn
		GBLL	suballoc__dfn

; --- sub_alloc ---
;
; On entry:	R0 == size of block to allocate
;
; On exit:	R0 == pointer to block allocated
;		May return an error
;
; Use:		Allocates a block of the size specified, typically very
;		quickly indeed.
;
;		If the size is not one of those supported (currently
;		supported sizes are 8-40 inclusive in 4 byte increments),
;		the behaviour is undefined (but very predictable).

		IMPORT	sub_alloc

; --- sub_free ---
;
; On entry:	R0 == pointer to block
;		R1 == size of the block
;
; On exit:	--
;
; Use:		Frees a block allocated using sub_alloc.

		IMPORT	sub_free

; --- sub_init ---
;
; On entry:	--
;
; On exit:	--
;
; Use:		Initialises the suballocation system for use.

		IMPORT	sub_init

		]

;----- That's all, folks ----------------------------------------------------

		END
