1 /* Defines interfaces for the applications and exports function calls that
2 the applications should use instead of the standard ones. */
7 #include "instrument.h"
12 struct typemap * memmap;
14 void *ourcalloc(size_t nmemb, size_t size) {
15 void *oc=calloc(nmemb,size);
16 typemapallocate(memmap, oc,size*nmemb);
20 void *ourmalloc(size_t size) {
21 void *oc=malloc(size);
22 typemapallocate(memmap, oc,size);
26 void ourfree(void *ptr) {
28 typemapdeallocate(memmap, ptr);
33 void *ourrealloc(void *ptr, size_t size) {
34 void *orr=realloc(ptr,size);
36 typemapdeallocate(memmap, ptr);
42 typemapdeallocate(memmap, ptr);
43 typemapallocate(memmap, orr,size);
47 void alloc(void *ptr,int size) {
48 typemapallocate(memmap, ptr,size);
51 void dealloc(void *ptr) {
52 typemapdeallocate(memmap, ptr);
55 void initializemmap() {
56 memmap=allocatetypemap();
63 bool assertvalidtype(int ptr, int structure) {
64 return typemapasserttype(memmap, (void *)ptr, structure);
66 bool assertvalidmemory(int ptr, int structure) {
67 return typemapassertvalidmemory(memmap, (void *)ptr, structure);
70 void initializestack(void *high) {
71 initializetypemapstack(memmap, high);