From 88a820dbcc75af61e495d87ffc047085e218515e Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Sun, 27 Jan 2002 22:54:54 +0000 Subject: [PATCH] * include/malloc.h (_heapinfo): Correct structure definition. (_USEDENTRY,_FREEENTRY): Add defines. Add comment on platform support for _heap* functions. (_get_sbh_threshold): Add prototype. (_set_sbh_threshold): Likewise. (_expand): Likewise. --- winsup/mingw/ChangeLog | 9 +++++++++ winsup/mingw/include/malloc.h | 19 ++++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog index 7d3eb7c62..ed4487b1d 100644 --- a/winsup/mingw/ChangeLog +++ b/winsup/mingw/ChangeLog @@ -1,3 +1,12 @@ +2002-01-28 Danny Smith + + * include/malloc.h (_heapinfo): Correct structure definition. + (_USEDENTRY,_FREEENTRY): Add defines. + Add comment on platform support for _heap* functions. + (_get_sbh_threshold): Add prototype. + (_set_sbh_threshold): Likewise. + (_expand): Likewise. + 2002-01-25 Danny Smith * profile/profil.c: Update copyright info. diff --git a/winsup/mingw/include/malloc.h b/winsup/mingw/include/malloc.h index 85ad4e8d3..9c412404b 100644 --- a/winsup/mingw/include/malloc.h +++ b/winsup/mingw/include/malloc.h @@ -41,20 +41,25 @@ /* * The structure used to walk through the heap with _heapwalk. - * TODO: This is a guess at the internals of this structure. */ typedef struct _heapinfo { - void* ptr; - unsigned int size; - int in_use; + int* _pentry; + size_t _size; + int _useflag; } _HEAPINFO; +/* Values for _heapinfo.useflag */ +#define _USEDENTRY 0 +#define _FREEENTRY 1 #ifdef __cplusplus extern "C" { #endif - +/* + The _heap* memory allocation functions are supported on NT + but not W9x. On latter, they always set errno to ENOSYS. +*/ int _heapwalk (_HEAPINFO*); #ifndef _NO_OLDNAMES @@ -64,7 +69,11 @@ int heapwalk (_HEAPINFO*); int _heapchk (void); /* Verify heap integrety. */ int _heapmin (void); /* Return unused heap to the OS. */ int _heapset (unsigned int); + size_t _msize (void*); +size_t _get_sbh_threshold (void); +int _set_sbh_threshold (size_t); +void * _expand (void*, size_t); #ifdef __cplusplus }