/* alloc.h memory management functions and variables. */ /* * C/C++ Run Time Library - Version 6.5 * * Copyright (c) 1987, 1994 by Borland International * All Rights Reserved. * */ #if !defined(__ALLOC_H) #define __ALLOC_H #if !defined(___DEFS_H) #include <_defs.h> #endif #ifndef NULL #include <_null.h> #endif #if !defined(RC_INVOKED) #if defined(__STDC__) #pragma warn -nak #endif #endif /* !RC_INVOKED */ #if !defined(__FLAT__) #define _HEAPEMPTY 1 #define _HEAPOK 2 #define _FREEENTRY 3 #define _USEDENTRY 4 #define _HEAPEND 5 #define _HEAPCORRUPT -1 #define _BADNODE -2 #define _BADVALUE -3 #ifndef _STDDEF #define _STDDEF #ifndef _PTRDIFF_T #define _PTRDIFF_T #if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__) typedef long ptrdiff_t; #else typedef int ptrdiff_t; #endif #endif #ifndef _SIZE_T #define _SIZE_T typedef unsigned size_t; #endif #endif #if !defined(_Windows) #if !defined(__STDC__) /* NON_ANSI */ struct farheapinfo { void huge *ptr; unsigned long size; int in_use; }; #endif #if defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__) struct heapinfo { void _FAR *ptr; unsigned int size; int in_use; }; #else #define heapinfo farheapinfo #endif #endif /* WINDOWS */ #ifdef __cplusplus extern "C" { #endif void _FAR *_RTLENTRY calloc(size_t __nitems, size_t __size); void _RTLENTRY free(void _FAR *__block); void _FAR *_RTLENTRY malloc(size_t __size); void _FAR *_RTLENTRY realloc(void _FAR *__block, size_t __size); #if !defined(_Windows) #if defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__) unsigned long _RTLENTRY coreleft (void); #else unsigned _RTLENTRY coreleft(void); #endif #endif #if defined(__DPMI16__) || !defined(_Windows) int _RTLENTRY heapcheck(void); unsigned long _RTLENTRY farcoreleft(void); #endif #if defined(__DPMI16__) #define farheapcheck heapcheck #define coreleft farcoreleft #endif #if !defined(_Windows) int _RTLENTRY brk(void *__addr); void *_RTLENTRY sbrk(int __incr); int _RTLENTRY heapfillfree(unsigned int __fillvalue); int _RTLENTRY heapcheckfree(unsigned int __fillvalue); #if defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__) #if !defined(__STDC__) /* NON_ANSI */ int _RTLENTRY heapchecknode(void far *__node); int _RTLENTRY heapwalk(struct farheapinfo far *__hi); #endif #else int _RTLENTRY heapchecknode(void *__node); int _RTLENTRY heapwalk(struct heapinfo *__hi); #endif #if !defined(__STDC__) /* NON_ANSI */ unsigned long _RTLENTRY farcoreleft(void); int _RTLENTRY farheapcheck(void); int _RTLENTRY farheapchecknode(void far *__node); int _RTLENTRY farheapfillfree(unsigned int __fillvalue); int _RTLENTRY farheapcheckfree(unsigned int __fillvalue); int _RTLENTRY farheapwalk(struct farheapinfo *__hi); #endif #endif /* WINDOWS */ #if !defined(__STDC__) /* NON_ANSI */ void far * _RTLENTRY farcalloc(unsigned long __nunits, unsigned long __unitsz); void _RTLENTRY farfree(void far *__block); void far * _RTLENTRY farmalloc(unsigned long __nbytes); void far * _RTLENTRY farrealloc(void far *__oldblock, unsigned long __nbytes); #endif #ifdef __cplusplus } #endif #else /* defined __FLAT__ */ #ifndef _STDDEF # define _STDDEF # ifndef _PTRDIFF_T # define _PTRDIFF_T typedef int ptrdiff_t; # endif # ifndef _SIZE_T # define _SIZE_T typedef unsigned size_t; # endif #endif #if !defined(__STDC__) struct heapinfo { void * ptr; unsigned size; int in_use; }; #endif #ifdef __cplusplus extern "C" { #endif void * _RTLENTRY _EXPFUNC calloc(size_t __nitems, size_t __size); void _RTLENTRY _EXPFUNC free(void * __block); void * _RTLENTRY _EXPFUNC malloc(size_t __size); void * _RTLENTRY _EXPFUNC realloc(void * __block, size_t __size); int _RTLENTRY _EXPFUNC heapcheck(void); int _RTLENTRY _EXPFUNC heapfillfree(unsigned int __fillvalue); int _RTLENTRY _EXPFUNC heapcheckfree(unsigned int __fillvalue); int _RTLENTRY _EXPFUNC heapchecknode(void *__node); int _RTLENTRY _EXPFUNC heapwalk(struct heapinfo *__hi); #if defined(__DPMI32__) unsigned _RTLENTRY coreleft(void); #endif #ifdef __cplusplus } #endif /* Values returned by heap??? and _heap??? functions */ #define _HEAPEMPTY 1 #define _HEAPOK 2 #define _FREEENTRY 3 #define _USEDENTRY 4 #define _HEAPEND 5 #define _HEAPCORRUPT -1 #define _BADNODE -2 #define _BADVALUE -3 #define _HEAPBADBEGIN -4 #define _HEAPBADNODE -5 #define _HEAPBADPTR -6 #if !defined(__STDC__) #define farcalloc calloc #define farcoreleft coreleft #define farfree free #define farmalloc malloc #define farrealloc realloc #endif #endif /* __FLAT__ */ #if !defined(RC_INVOKED) #if defined(__STDC__) #pragma warn .nak #endif #endif /* !RC_INVOKED */ #endif /* __ALLOC_H */