summaryrefslogtreecommitdiffstats
path: root/cpukit/libdl/rtl-alloc-heap.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libdl/rtl-alloc-heap.h')
-rw-r--r--cpukit/libdl/rtl-alloc-heap.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/cpukit/libdl/rtl-alloc-heap.h b/cpukit/libdl/rtl-alloc-heap.h
new file mode 100644
index 0000000000..d9276553e4
--- /dev/null
+++ b/cpukit/libdl/rtl-alloc-heap.h
@@ -0,0 +1,47 @@
+/*
+ * COPYRIGHT (c) 2012 Chris Johns <chrisj@rtems.org>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+/**
+ * @file
+ *
+ * @ingroup rtems_rtl
+ *
+ * @brief RTEMS Run-Time Linker Allocator for the standard heap.
+ */
+
+#if !defined (_RTEMS_RTL_ALLOC_HEAP_H_)
+#define _RTEMS_RTL_ALLOC_HEAP_H_
+
+#include <rtems/rtl/rtl-allocator.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/**
+ * Allocator handler for the standard libc heap.
+ *
+ * @param allocation If true the request is to allocate memory else free.
+ * @param tag The type of allocation request.
+ * @param address Pointer to the memory address. If an allocation the value is
+ * unspecific on entry and the allocated address or NULL on
+ * exit. The NULL value means the allocation failed. If a delete
+ * or free request the memory address is the block to free. A
+ * free request of NULL is silently ignored.
+ * @param size The size of the allocation if an allocation request and
+ * not used if deleting or freeing a previous allocation.
+ */
+void rtems_rtl_alloc_heap(bool allocate,
+ rtems_rtl_alloc_tag_t tag,
+ void** address,
+ size_t size);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif