diff options
Diffstat (limited to '')
-rw-r--r-- | private/mvdm/dos/v86/h/malloc.h | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/private/mvdm/dos/v86/h/malloc.h b/private/mvdm/dos/v86/h/malloc.h new file mode 100644 index 000000000..e2aa979ff --- /dev/null +++ b/private/mvdm/dos/v86/h/malloc.h @@ -0,0 +1,124 @@ +/*** +*malloc.h - declarations and definitions for memory allocation functions +* +* Copyright (c) 1985-1988, Microsoft Corporation. All rights reserved. +* +*Purpose: +* Contains the function declarations for memory allocation functions; +* also defines manifest constants and types used by the heap routines. +* [System V] +* +*******************************************************************************/ + + +#define _HEAPEMPTY -1 +#define _HEAPOK -2 +#define _HEAPBADBEGIN -3 +#define _HEAPBADNODE -4 +#define _HEAPEND -5 +#define _HEAPBADPTR -6 +#define _FREEENTRY 0 +#define _USEDENTRY 1 + +#ifndef _SIZE_T_DEFINED +typedef unsigned int size_t; +#define _SIZE_T_DEFINED +#endif + +#if (!defined(NO_EXT_KEYS)) + +#ifndef _HEAPINFO_DEFINED +typedef struct _heapinfo { + int far * _pentry; + size_t _size; + int _useflag; + } _HEAPINFO; +#define _HEAPINFO_DEFINED +#endif + +#else /* NO_EXT_KEYS */ +#if (defined(M_I86CM) || defined(M_I86LM) || defined(M_I86HM)) + +#ifndef _HEAPINFO_DEFINED + +typedef struct _heapinfo { + int * _pentry; + size_t _size; + int _useflag; + } _HEAPINFO; + +#define _HEAPINFO_DEFINED +#endif + +#endif /* M_I86CM || M_I86LM || M_I86HM */ + +#endif /* NO_EXT_KEYS */ + + +#if (defined(M_I86SM) || defined(M_I86MM)) +#define _heapchk _nheapchk +#define _heapset _nheapset +#define _heapwalk _nheapwalk +#endif +#if (defined(M_I86CM) || defined(M_I86LM) || defined(M_I86HM)) +#define _heapchk _fheapchk +#define _heapset _fheapset +#define _heapwalk _fheapwalk +#endif + +#ifndef NO_EXT_KEYS /* extensions enabled */ + #define _CDECL cdecl + #define _NEAR near +#else /* extensions not enabled */ + #define _CDECL + #define _NEAR +#endif /* NO_EXT_KEYS */ + + +/* external variable declarations */ +extern unsigned int _NEAR _CDECL _amblksiz; + +/* function prototypes */ + +void * _CDECL alloca(size_t); +void * _CDECL calloc(size_t, size_t); +void * _CDECL _expand(void *, size_t); +int _CDECL _fheapchk(void); +int _CDECL _fheapset(unsigned int); +unsigned int _CDECL _freect(size_t); +void _CDECL free(void *); +void * _CDECL malloc(size_t); +size_t _CDECL _memavl(void); +size_t _CDECL _memmax(void); +size_t _CDECL _msize(void *); +int _CDECL _nheapchk(void); +int _CDECL _nheapset(unsigned int); +void * _CDECL realloc(void *, size_t); +void * _CDECL sbrk(int); +size_t _CDECL stackavail(void); + + +#ifndef NO_EXT_KEYS /* extensions enabled */ + +void cdecl _ffree(void far *); +void far * cdecl _fmalloc(size_t); +size_t cdecl _fmsize(void far *); +#ifndef _QC +void huge * cdecl halloc(long, size_t); +void cdecl hfree(void huge *); +#endif +void cdecl _nfree(void near *); +void near * cdecl _nmalloc(size_t); +size_t cdecl _nmsize(void near *); +int cdecl _nheapwalk(struct _heapinfo *); +int cdecl _fheapwalk(struct _heapinfo *); + +#else +#if (defined(M_I86CM) || defined(M_I86LM) || defined(M_I86HM)) + +int _nheapwalk(struct _heapinfo *); +int _fheapwalk(struct _heapinfo *); + +#endif /* M_I86CM || M_I86LM || M_I86HM */ + +#endif /* NO_EXT_KEYS */ |