Create Xref-Html Frames                    Remove All Frames
file:c:/local/Cygwin/usr/include/malloc.h        (Tue May 25 21:07:25 2004 )


   1: /* malloc.h -- header file for memory routines.  */
   2: 
   3: #ifndef _INCLUDE_MALLOC_H_
   4: #define _INCLUDE_MALLOC_H_
   5: 
   6: #include <_ansi.h>
   7: #include <sys/reent.h>
   8: 
   9: #define __need_size_t
  10: #include <stddef.h>
  11: 
  12: /* include any machine-specific extensions */
  13: #include <machine/malloc.h>
  14: 
  15: #ifdef __cplusplus
  16: extern "C" {
  17: #endif
  18: 
  19: /* This version of struct mallinfo must match the one in
  20:    libc/stdlib/mallocr.c.  */
  21: 
  22: struct mallinfo {
  23:   int arena;    /* total space allocated from system */
  24:   int ordblks;  /* number of non-inuse chunks */
  25:   int smblks;   /* unused -- always zero */
  26:   int hblks;    /* number of mmapped regions */
  27:   int hblkhd;   /* total space in mmapped regions */
  28:   int usmblks;  /* unused -- always zero */
  29:   int fsmblks;  /* unused -- always zero */
  30:   int uordblks; /* total allocated space */
  31:   int fordblks; /* total non-inuse space */
  32:   int keepcost; /* top-most, releasable (via malloc_trim) space */
  33: };  
  34: 
  35: /* The routines.  */
  36: 
  37: extern _PTR malloc _PARAMS ((size_t));
  38: #ifdef __CYGWIN__
  39: #undef _malloc_r
  40: #define _malloc_r(r, s) malloc (s)
  41: #else
  42: extern _PTR _malloc_r _PARAMS ((struct _reent *, size_t));
  43: #endif
  44: 
  45: extern _VOID free _PARAMS ((_PTR));
  46: #ifdef __CYGWIN__
  47: #undef _free_r
  48: #define _free_r(r, p) free (p)
  49: #else
  50: extern _VOID _free_r _PARAMS ((struct _reent *, _PTR));
  51: #endif
  52: 
  53: extern _PTR realloc _PARAMS ((_PTR, size_t));
  54: #ifdef __CYGWIN__
  55: #undef _realloc_r
  56: #define _realloc_r(r, p, s) realloc (p, s)
  57: #else
  58: extern _PTR _realloc_r _PARAMS ((struct _reent *, _PTR, size_t));
  59: #endif
  60: 
  61: extern _PTR calloc _PARAMS ((size_t, size_t));
  62: #ifdef __CYGWIN__
  63: #undef _calloc_r
  64: #define _calloc_r(r, s1, s2) calloc (s1, s2);
  65: #else
  66: extern _PTR _calloc_r _PARAMS ((struct _reent *, size_t, size_t));
  67: #endif
  68: 
  69: extern _PTR memalign _PARAMS ((size_t, size_t));
  70: #ifdef __CYGWIN__
  71: #undef _memalign_r
  72: #define _memalign_r(r, s1, s2) memalign (s1, s2);
  73: #else
  74: extern _PTR _memalign_r _PARAMS ((struct _reent *, size_t, size_t));
  75: #endif
  76: 
  77: extern struct mallinfo mallinfo _PARAMS ((void));
  78: #ifdef __CYGWIN__
  79: #undef _mallinfo_r
  80: #define _mallinfo_r(r) mallinfo ()
  81: #else
  82: extern struct mallinfo _mallinfo_r _PARAMS ((struct _reent *));
  83: #endif
  84: 
  85: extern void malloc_stats _PARAMS ((void));
  86: #ifdef __CYGWIN__
  87: #undef _malloc_stats_r
  88: #define _malloc_stats_r(r) malloc_stats ()
  89: #else
  90: extern void _malloc_stats_r _PARAMS ((struct _reent *));
  91: #endif
  92: 
  93: extern int mallopt _PARAMS ((int, int));
  94: #ifdef __CYGWIN__
  95: #undef _mallopt_r
  96: #define _mallopt_r(i1, i2) mallopt (i1, i2)
  97: #else
  98: extern int _mallopt_r _PARAMS ((struct _reent *, int, int));
  99: #endif
 100: 
 101: extern size_t malloc_usable_size _PARAMS ((_PTR));
 102: #ifdef __CYGWIN__
 103: #undef _malloc_usable_size_r
 104: #define _malloc_usable_size_r(r, p) malloc_usable_size (p)
 105: #else
 106: extern size_t _malloc_usable_size_r _PARAMS ((struct _reent *, _PTR));
 107: #endif
 108: 
 109: /* These aren't too useful on an embedded system, but we define them
 110:    anyhow.  */
 111: 
 112: extern _PTR valloc _PARAMS ((size_t));
 113: #ifdef __CYGWIN__
 114: #undef _valloc_r
 115: #define _valloc_r(r, s) valloc (s)
 116: #else
 117: extern _PTR _valloc_r _PARAMS ((struct _reent *, size_t));
 118: #endif
 119: 
 120: extern _PTR pvalloc _PARAMS ((size_t));
 121: #ifdef __CYGWIN__
 122: #undef _pvalloc_r
 123: #define _pvalloc_r(r, s) pvalloc (s)
 124: #else
 125: extern _PTR _pvalloc_r _PARAMS ((struct _reent *, size_t));
 126: #endif
 127: 
 128: extern int malloc_trim _PARAMS ((size_t));
 129: #ifdef __CYGWIN__
 130: #undef _malloc_trim_r
 131: #define _malloc_trim_r(r, s) malloc_trim (s)
 132: #else
 133: extern int _malloc_trim_r _PARAMS ((struct _reent *, size_t));
 134: #endif
 135: 
 136: /* A compatibility routine for an earlier version of the allocator.  */
 137: 
 138: extern _VOID mstats _PARAMS ((char *));
 139: #ifdef __CYGWIN__
 140: #undef _mstats_r
 141: #define _mstats_r(r, p) mstats (p)
 142: #else
 143: extern _VOID _mstats_r _PARAMS ((struct _reent *, char *));
 144: #endif
 145: 
 146: /* SVID2/XPG mallopt options */
 147: 
 148: #define M_MXFAST  1    /* UNUSED in this malloc */
 149: #define M_NLBLKS  2    /* UNUSED in this malloc */
 150: #define M_GRAIN   3    /* UNUSED in this malloc */
 151: #define M_KEEP    4    /* UNUSED in this malloc */
 152: 
 153: /* mallopt options that actually do something */
 154:   
 155: #define M_TRIM_THRESHOLD    -1
 156: #define M_TOP_PAD           -2
 157: #define M_MMAP_THRESHOLD    -3 
 158: #define M_MMAP_MAX          -4
 159: 
 160: #ifndef __CYGWIN__
 161: /* Some systems provide this, so do too for compatibility.  */
 162: extern void cfree _PARAMS ((_PTR));
 163: #endif /* __CYGWIN__ */
 164: 
 165: #ifdef __cplusplus
 166: }
 167: #endif
 168: 
 169: #endif /* _INCLUDE_MALLOC_H_ */
 170: 








































Html form generated by Xrefactory version 1.6.7 on Fri Sep 03 17:18:59 2004