From c25510f944553681d7898e5b9d8e132f6e3c431b Mon Sep 17 00:00:00 2001 From: Alan Korr Date: Wed, 17 Apr 2002 15:00:28 +0000 Subject: Now memory-page and memory-misc compile fine (others are in stage-development) Conventions : * Public headers : memory.h,config.h,defines.h,inlines.h,types.h,functions.h * Private headers : memory-page.h,memory-slab.h (here you can find prototypes functions or structures we want to share only between memory-page.c, memory-slab.c, memory-block.c, memory-misc.c). * Public or private codes in : memory-page.c,memory-slab.c,memory-block.c,memory-misc.c git-svn-id: svn://svn.rockbox.org/rockbox/trunk@126 a1c6a512-1295-4272-9138-f99709370657 --- firmware/test/memory/memory-slab.h | 62 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 firmware/test/memory/memory-slab.h (limited to 'firmware/test/memory/memory-slab.h') diff --git a/firmware/test/memory/memory-slab.h b/firmware/test/memory/memory-slab.h new file mode 100644 index 0000000000..f58897c3ec --- /dev/null +++ b/firmware/test/memory/memory-slab.h @@ -0,0 +1,62 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id: + * + * Copyright (C) 2002 by Alan Korr + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifndef __LIBRARY_MEMORY_SLAB_H__ +#define __LIBRARY_MEMORY_SLAB_H__ + +struct memory_free_block + { + struct memory_free_block + *link; + }; + +struct memory_slab + { + struct memory_slab + *less,*more; + unsigned int // left == number of free blocks left + left; + struct memory_free_block + *free; + }; + +struct memory_cache + { + struct memory_cache + *less,*more,*same; + unsigned int + left; // number of free slabs + struct memory_slab + *used; + struct memory_slab + *free; + struct memory_slab + *reap; + unsigned int + size,original_size; + unsigned int + page_size; + unsigned int + blocks_per_slab; + int + page_order; + unsigned int + flags; + }; + +#endif -- cgit v1.2.3