source: rtems/cpukit/libcsupport/src/malloc_p.h @ bd5984de

4.104.11
Last change on this file since bd5984de was bd5984de, checked in by Joel Sherrill <joel.sherrill@…>, on Sep 17, 2008 at 6:37:55 PM

2008-09-17 Joel Sherrill <joel.sherrill@…>

  • libcsupport/src/free.c, libcsupport/src/malloc.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_sbrk_helpers.c, libcsupport/src/malloc_statistics_helpers.c, libcsupport/src/malloc_walk.c, libcsupport/src/mallocfreespace.c, libcsupport/src/mallocinfo.c, libcsupport/src/realloc.c, libcsupport/src/rtems_memalign.c, sapi/include/confdefs.h, score/inline/rtems/score/thread.inl: Add support for optionally having a unified work area. In other words, the RTEMS Workspace and C Program Heap are the same pool of memory.
  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*
2 *  RTEMS Malloc Family Internal Header
3 *
4 *  COPYRIGHT (c) 1989-2007.
5 *  On-Line Applications Research Corporation (OAR).
6 *
7 *  The license and distribution terms for this file may be
8 *  found in the file LICENSE in this distribution or at
9 *  http://www.rtems.com/license/LICENSE.
10 *
11 *  $Id$
12 */
13
14#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
15#include <rtems.h>
16#include <rtems/libcsupport.h>
17#include <rtems/score/protectedheap.h>
18#include <rtems/malloc.h>
19
20#ifdef RTEMS_NEWLIB
21#include <sys/reent.h>
22#endif
23
24#include <stdint.h>
25#include <inttypes.h>
26#include <rtems/chain.h>
27
28#ifndef HAVE_UINTMAX_T
29  /* Fall back to unsigned long if uintmax_t is not available */
30  #define unsigned long uintmax_t
31
32  #ifndef PRIuMAX
33    #define PRIuMAX             "lu"
34  #endif
35#endif
36
37/*
38 * Basic management data
39 */
40extern Heap_Control  *RTEMS_Malloc_Heap;
41
42/*
43 *  Malloc Statistics Structure
44 */
45extern rtems_malloc_statistics_t rtems_malloc_statistics;
46
47#define MSBUMP(_f,_n)    rtems_malloc_statistics._f += (_n)
48
49/*
50 *  Process deferred free operations
51 */
52bool malloc_is_system_state_OK(void);
53void malloc_deferred_frees_initialize(void);
54void malloc_deferred_frees_process(void);
55void malloc_deferred_free(void *);
Note: See TracBrowser for help on using the repository browser.