Dos6.0

源代码在线查看: malloc.h

软件大小: 19350 K
上传用户: 189
关键词: Dos 6.0
下载地址: 免注册下载 普通下载 VIP

相关代码

				/***
				*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 */
							

相关资源