mirror of
				https://github.com/isledecomp/isle.git
				synced 2025-10-25 09:24:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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) */
 | 
