; ; 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