3 * @author aurelien.morelle@parrot.fr
7 #ifndef _MALLOC_INCLUDE_OS_
8 #define _MALLOC_INCLUDE_OS_
14 #include <VP_Os/vp_os.h>
22 * Same as calloc, see <stdlib.h>
25 vp_os_calloc(size_t nmemb, size_t size);
28 * Same as malloc, see <stdlib.h>
31 vp_os_malloc(size_t size);
34 * Same as vp_os_malloc, but without assert even if debug mode
37 vp_os_malloc_no_assert(size_t size);
40 * Same as free, see <stdlib.h>
43 vp_os_free(void *ptr);
46 * Same as realloc, see <stdlib.h>
49 vp_os_realloc(void *ptr, size_t size);
52 * Same as vp_os_malloc, but returned value is aligned on align_size boundaries
53 * -> align_size has to be a power of two !!!
56 vp_os_aligned_malloc(size_t size, size_t align_size);
60 * Must be used to free memory allocated by vp_os_aligned_malloc correctly
63 vp_os_aligned_free(void *ptr);
66 * Allow reallocation of aligned data
67 * -> align_size has to be a power of two !!!
70 vp_os_aligned_realloc(void* ptr, size_t size, size_t align_size);
73 vp_os_memset(void *s, int c, size_t n)
78 res = memset(s, c, n);
82 return memset(s, c, n);
83 #endif // <- DEBUG_MODE
88 vp_os_memcpy(void *dest, const void *src, size_t n)
93 res = memcpy(dest, src, n);
97 return memcpy(dest, src, n);
98 #endif // <- DEBUG_MODE
102 extern void *please_use_vp_os_calloc(size_t nmemb, size_t size);
103 extern void *please_use_vp_os_malloc(size_t size);
104 extern void please_use_vp_os_free(void *ptr);
105 extern void *please_use_vp_os_realloc(void *ptr, size_t size);
106 extern void *please_use_vp_os_memset(void *s, int c, size_t n);
108 #define calloc please_use_vp_os_calloc
109 #define malloc please_use_vp_os_malloc
110 #define memset please_use_vp_os_memset
111 #define free please_use_vp_os_free
112 #define realloc please_use_vp_os_realloc
119 #endif // ! _MALLOC_INCLUDE_OS_