old-cross-binutils/mmalloc/mmalloc.h
Fred Fish 7f12eb53ca * detach.c (mmalloc_detach): Fix bug in computation of negative
brk value.
	* mmcheck.c (mmcheckf): Renamed from mmcheck and new FORCE argument
	added.  Replaced hack that always allowed checking routines to be
 	installed and enforce restriction that they have to be installed
	prior to allocating any memory on the used heap or the FORCE argument
	has to be non-NULL.
	(mmcheck): New function that calls mmcheckf with FORCE set to zero,
	for backwards compatibility.
	* mmalloc.c (malloc): Store result in local variable before
	returning it.  Makes debugging much easier at negligible cost.
	* mmalloc.h (mmcheckf): Declare.
	* attach.c (reuse): Call mmcheckf rather than mmcheck.
	* mmap-sup.c (__mmalloc_mmap_morecore): Improve to allow mmap
	to select a base mapping address if none is otherwise given.
	(mmalloc_findbase): New function that user can call to find
	an available mapping address of a given size.
1996-07-11 07:36:27 +00:00

61 lines
1.5 KiB
C

#ifndef MMALLOC_H
#define MMALLOC_H 1
/* FIXME: If <stddef.h> doesn't exist, you'll need to do something
to define size_t before including this file. Like upgrading
to a system with an ANSI C environment. */
#ifdef HAVE_STDDEF_H
# include <stddef.h>
#endif
#include "ansidecl.h"
/* Allocate SIZE bytes of memory. */
extern PTR mmalloc PARAMS ((PTR, size_t));
/* Re-allocate the previously allocated block in PTR, making the new block
SIZE bytes long. */
extern PTR mrealloc PARAMS ((PTR, PTR, size_t));
/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */
extern PTR mcalloc PARAMS ((PTR, size_t, size_t));
/* Free a block allocated by `mmalloc', `mrealloc' or `mcalloc'. */
extern void mfree PARAMS ((PTR, PTR));
/* Allocate SIZE bytes allocated to ALIGNMENT bytes. */
extern PTR mmemalign PARAMS ((PTR, size_t, size_t));
/* Allocate SIZE bytes on a page boundary. */
extern PTR mvalloc PARAMS ((PTR, size_t));
/* Activate a standard collection of debugging hooks. */
extern int mmcheck PARAMS ((PTR, void (*) (void)));
extern int mmcheckf PARAMS ((PTR, void (*) (void), int));
/* Pick up the current statistics. (see FIXME elsewhere) */
extern struct mstats mmstats PARAMS ((PTR));
extern PTR mmalloc_attach PARAMS ((int, PTR));
extern PTR mmalloc_detach PARAMS ((PTR));
extern int mmalloc_setkey PARAMS ((PTR, int, PTR));
extern PTR mmalloc_getkey PARAMS ((PTR, int));
extern int mmalloc_errno PARAMS ((PTR));
extern int mmtrace PARAMS ((void));
#endif /* MMALLOC_H */