/* shmalloc.h -- SmartHeap ANSI Standard C memory API * Professional Memory Management Library * * Copyright (C) 1991-1996 by Arthur D. Applegate. All Rights Reserved. * All Rights Reserved. * * No part of this source code may be copied, modified or reproduced * in any form without retaining the above copyright notice. * This source code, or source code derived from it, may not be redistributed * without express written permission of the author. */ #if !(defined(_SHMALLOC_H)) #define _SHMALLOC_H #include "smrtheap.h" #ifdef __cplusplus extern "C" { #endif /* ANSI Standard Memory Management API */ #if (!defined(MEM_DEBUG) && !defined(NO_MALLOC_MACRO)) || defined(MALLOC_MACRO) #ifdef malloc #undef malloc #endif #define malloc(s) MEM_malloc(s) #ifdef calloc #undef calloc #endif #define calloc(s,c) MEM_calloc(s,c) #ifdef realloc #undef realloc #endif #define realloc(p,s) MEM_realloc(p,s) #ifdef free #undef free #endif #define free(p) MEM_free(p) #endif /* NO_MALLOC_MACRO */ #ifndef MEM_malloc void MEM_FAR * MEM_ENTRY_ANSI MEM_malloc(size_t size); void MEM_FAR * MEM_ENTRY_ANSI MEM_calloc(size_t nobj, size_t size); void MEM_FAR * MEM_ENTRY_ANSI MEM_realloc(void MEM_FAR *p, size_t size); void MEM_ENTRY_ANSI MEM_free(void MEM_FAR *p); #endif /* MEM_malloc */ #if defined(__WATCOMC__) && defined(__SW_3S) /* Watcom stack calling convention */ #pragma aux (syscall) MEM_malloc #pragma aux (syscall) MEM_realloc #pragma aux (syscall) MEM_calloc #pragma aux (syscall) MEM_free #endif /* __WATCOMC__ */ #ifdef __cplusplus } #endif #endif /* !defined(_SHMALLOC_H) */