|
|
1.1 ! root 1: /*** ! 2: *malloc.h - declarations and definitions for memory allocation functions ! 3: * ! 4: * Copyright (c) 1985-1991, Microsoft Corporation. All rights reserved. ! 5: * ! 6: *Purpose: ! 7: * Contains the function declarations for memory allocation functions; ! 8: * also defines manifest constants and types used by the heap routines. ! 9: * [System V] ! 10: * ! 11: ****/ ! 12: ! 13: #ifndef _INC_MALLOC ! 14: ! 15: #ifdef __cplusplus ! 16: extern "C" { ! 17: #endif ! 18: ! 19: ! 20: #if (_MSC_VER <= 600) ! 21: #define __cdecl _cdecl ! 22: #endif ! 23: ! 24: #define _HEAPEMPTY (-1) ! 25: #define _HEAPOK (-2) ! 26: #define _HEAPBADBEGIN (-3) ! 27: #define _HEAPBADNODE (-4) ! 28: #define _HEAPEND (-5) ! 29: #define _HEAPBADPTR (-6) ! 30: #define _FREEENTRY 0 ! 31: #define _USEDENTRY 1 ! 32: ! 33: /* Define _HEAP_MAXREQ to be equal to (unsigned)( -sizeof(_heap_seg_desc) ! 34: * - 2*sizeof(int) ) */ ! 35: ! 36: #define _HEAP_MAXREQ 0xFFFFFFD8 ! 37: ! 38: ! 39: #ifndef _SIZE_T_DEFINED ! 40: typedef unsigned int size_t; ! 41: #define _SIZE_T_DEFINED ! 42: #endif ! 43: ! 44: ! 45: #ifndef _HEAPINFO_DEFINED ! 46: typedef struct _heapinfo { ! 47: int * _pentry; ! 48: size_t _size; ! 49: int _useflag; ! 50: } _HEAPINFO; ! 51: #define _HEAPINFO_DEFINED ! 52: #endif ! 53: ! 54: ! 55: /* external variable declarations */ ! 56: ! 57: extern unsigned int _amblksiz; ! 58: ! 59: ! 60: /* function prototypes */ ! 61: ! 62: void * _alloca(size_t); ! 63: void * calloc(size_t, size_t); ! 64: void * _expand(void *, size_t); ! 65: void free(void *); ! 66: int _heapadd(void *, size_t); ! 67: int _heapchk(void); ! 68: int _heapmin(void); ! 69: int _heapset(unsigned int); ! 70: int _heapwalk(_HEAPINFO *); ! 71: void * malloc(size_t); ! 72: size_t _msize(void *); ! 73: void * realloc(void *, size_t); ! 74: ! 75: #if !__STDC__ ! 76: /* Non-ANSI names for compatibility */ ! 77: #define alloca _alloca ! 78: #endif /* __STDC__*/ ! 79: ! 80: #ifdef __cplusplus ! 81: } ! 82: #endif ! 83: ! 84: #define _INC_MALLOC ! 85: #endif /* _INC_MALLOC */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.