/* Copyright 1997 Acorn Computers Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /***************************************************/ /* File : Memory.h */ /* */ /* Purpose: Granularity-controlled memory handling */ /* functions for the browser, designed as */ /* transparent replacements for malloc, */ /* calloc, realloc and free. */ /* */ /* Author : A.D.Hodgkinson */ /* */ /* History: 29-Nov-96: Created. */ /***************************************************/ /* Chunk IDs for set_chunk_size functions; see the */ /* comments above memory_set_chunk_size in Memory.c */ /* for details on what they mean. */ #define CK_FURL 1 #define CK_DURL 2 #define CK_CHIL 3 #define CK_NAME 4 #define CK_LINE 5 #define CK_LDAT 6 #define CK_FWID 7 #define CK_FHEI 8 #define CK_LINV 9 #define CK_LDAV 10 #define CK_STAT 11 #define CK_OBJB 12 /* Function prototypes */ void * memory_malloc (size_t size); void * memory_calloc (size_t n, size_t size); void * memory_realloc (void * ptr, size_t size); void * memory_alloc_and_set (size_t s, int f); void memory_free (void * ptr); int memory_size (void * ptr); int memory_granular_size (void * ptr); _kernel_oserror * memory_set_chunk_size (browser_data * b, reformat_cell * cell, int chunk, int size);