summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/include/rtems/malloc.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-01-29 17:28:27 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-01-29 17:28:27 +0000
commite0a66c157439fc5512e3406542a5a96667f2e452 (patch)
treedc2d7ae38579af1757a1a0f40dfe31a0450d8b4f /cpukit/libcsupport/include/rtems/malloc.h
parent2008-01-29 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-e0a66c157439fc5512e3406542a5a96667f2e452.tar.bz2
2008-01-29 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h, libcsupport/src/malloc_walk.c, libcsupport/src/posix_memalign.c, libcsupport/src/realloc.c, score/src/heapwalk.c: Add rtems_memalign as helper and as exposed nmemalign variant with few restrictions. Also turn on compilation of _Heap_Walk but make forced calls to it conditionally compiled. This should allow more flexibility to the user as to run-time checking of the heap. * libcsupport/src/rtems_memalign.c: New file.
Diffstat (limited to 'cpukit/libcsupport/include/rtems/malloc.h')
-rw-r--r--cpukit/libcsupport/include/rtems/malloc.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/cpukit/libcsupport/include/rtems/malloc.h b/cpukit/libcsupport/include/rtems/malloc.h
index e347082819..d5b5eb691d 100644
--- a/cpukit/libcsupport/include/rtems/malloc.h
+++ b/cpukit/libcsupport/include/rtems/malloc.h
@@ -125,4 +125,24 @@ void malloc_report_statistics_with_plugin(
rtems_printk_plugin_t print
);
+/**
+ *
+ * This method is a help memalign implementation which does all
+ * error checking done by posix_memalign() EXCEPT it does NOT
+ * place numeric restrictions on the alignment value.
+ *
+ * @param[in] pointer points to the user pointer
+ * @param[in] alignment is the desired alignment
+ * @param[in] size is the allocation request size in bytes
+ *
+ * @return This methods returns zero on success and a POSIX errno
+ * value to indicate the failure condition. On success
+ * *pointer will contain the address of the allocated memory.
+ */
+int rtems_memalign(
+ void **pointer,
+ size_t alignment,
+ size_t size
+);
+
#endif