From 7768c51b7b1ef0becc4090705a9bd2f14aa28d00 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 28 Aug 2008 13:34:46 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@412 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- src/include/ch.h | 1 + src/include/heap.h | 40 ++++++++++++++++++++++++++++++++++++++++ src/include/mempools.h | 3 +++ 3 files changed, 44 insertions(+) create mode 100644 src/include/heap.h (limited to 'src/include') diff --git a/src/include/ch.h b/src/include/ch.h index 18b766b9a..7325de0db 100644 --- a/src/include/ch.h +++ b/src/include/ch.h @@ -42,6 +42,7 @@ #include "sleep.h" #include "queues.h" #include "serial.h" +#include "heap.h" #include "mempools.h" #include "debug.h" diff --git a/src/include/heap.h b/src/include/heap.h new file mode 100644 index 000000000..9619eba2f --- /dev/null +++ b/src/include/heap.h @@ -0,0 +1,40 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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 this program. If not, see . +*/ + +/** + * @addtogroup Heap + * @{ + */ + +#ifndef _HEAP_H_ +#define _HEAP_H_ + +#ifdef __cplusplus +extern "C" { +#endif + void chHeapInit(void); + void *chHeapAlloc(size_t size); + void chHeapFree(void *p); +#ifdef __cplusplus +} +#endif + +#endif /* _HEAP_H_ */ + +/** @} */ diff --git a/src/include/mempools.h b/src/include/mempools.h index 12edf97fe..2dbf6bf37 100644 --- a/src/include/mempools.h +++ b/src/include/mempools.h @@ -42,6 +42,9 @@ extern "C" { void chPoolInit(MemoryPool *mp, size_t size); void *chPoolAlloc(MemoryPool *mp, bool_t grow); void chPoolFree(MemoryPool *mp, void *objp); +#ifdef CH_USE_HEAP + void chPoolRelease(MemoryPool *mp); +#endif #ifdef __cplusplus } #endif -- cgit v1.2.3