Annotation of os2sdk/include/malloc.h, revision 1.1.1.1

1.1       root        1: /***
                      2: *malloc.h - declarations and definitions for memory allocation functions
                      3: *
                      4: *   Copyright (c) 1985-1987, 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: #define _HEAPEMPTY      -1
                     14: #define _HEAPOK         -2
                     15: #define _HEAPBADBEGIN   -3
                     16: #define _HEAPBADNODE    -4
                     17: #define _HEAPEND        -5
                     18: #define _HEAPBADPTR     -6
                     19: #define _FREEENTRY      0
                     20: #define _USEDENTRY      1
                     21: 
                     22: #ifndef _SIZE_T_DEFINED
                     23: typedef unsigned int size_t;
                     24: #define _SIZE_T_DEFINED
                     25: #endif
                     26: 
                     27: #if (!defined(NO_EXT_KEYS))
                     28: 
                     29: #ifndef _HEAPINFO_DEFINED
                     30: typedef struct _heapinfo {
                     31:     int far * _pentry;
                     32:     size_t _size;
                     33:     int _useflag;
                     34:     } _HEAPINFO;
                     35: #define _HEAPINFO_DEFINED
                     36: #endif
                     37: 
                     38: #else   /* NO_EXT_KEYS */
                     39: #if (defined(M_I86CM) || defined(M_I86LM) || defined(M_I86HM))
                     40: 
                     41: #ifndef _HEAPINFO_DEFINED
                     42: 
                     43: typedef struct _heapinfo {
                     44:     int * _pentry;
                     45:     size_t _size;
                     46:     int _useflag;
                     47:     } _HEAPINFO;
                     48: 
                     49: #define _HEAPINFO_DEFINED
                     50: #endif
                     51: 
                     52: #endif  /* M_I86CM || M_I86LM || M_I86HM */
                     53: 
                     54: #endif  /* NO_EXT_KEYS */
                     55: 
                     56: 
                     57: #if (defined(M_I86SM) || defined(M_I86MM))
                     58: #define _heapchk  _nheapchk
                     59: #define _heapset  _nheapset
                     60: #define _heapwalk _nheapwalk
                     61: #endif
                     62: #if (defined(M_I86CM) || defined(M_I86LM) || defined(M_I86HM))
                     63: #define _heapchk  _fheapchk
                     64: #define _heapset  _fheapset
                     65: #define _heapwalk _fheapwalk
                     66: #endif
                     67: 
                     68: #ifndef NO_EXT_KEYS /* extensions enabled */
                     69:     #define _CDECL  cdecl
                     70:     #define _NEAR   near
                     71: #else /* extensions not enabled */
                     72:     #define _CDECL
                     73:     #define _NEAR
                     74: #endif /* NO_EXT_KEYS */
                     75: 
                     76: 
                     77: /* external variable declarations */
                     78: 
                     79: extern unsigned int _NEAR _CDECL _amblksiz;
                     80: 
                     81: 
                     82: /* function prototypes */
                     83: 
                     84: void * _CDECL alloca(size_t);
                     85: void * _CDECL calloc(size_t, size_t);
                     86: void * _CDECL _expand(void *, size_t);
                     87: int _CDECL _fheapchk(void);
                     88: int _CDECL _fheapset(unsigned int);
                     89: unsigned int _CDECL _freect(size_t);
                     90: void _CDECL free(void *);
                     91: void * _CDECL malloc(size_t);
                     92: size_t _CDECL _memavl(void);
                     93: size_t _CDECL _memmax(void);
                     94: size_t _CDECL _msize(void *);
                     95: int _CDECL _nheapchk(void);
                     96: int _CDECL _nheapset(unsigned int);
                     97: void * _CDECL realloc(void *, size_t);
                     98: void * _CDECL sbrk(int);
                     99: size_t _CDECL stackavail(void);
                    100: 
                    101: 
                    102: #ifndef NO_EXT_KEYS /* extensions enabled */
                    103: 
                    104: void cdecl _ffree(void far *);
                    105: void far * cdecl _fmalloc(size_t);
                    106: size_t cdecl _fmsize(void far *);
                    107: #ifndef _QC
                    108: void huge * cdecl halloc(long, size_t);
                    109: void cdecl hfree(void huge *);
                    110: #endif
                    111: void cdecl _nfree(void near *);
                    112: void near * cdecl _nmalloc(size_t);
                    113: size_t cdecl _nmsize(void near *);
                    114: int cdecl _nheapwalk(struct _heapinfo *);
                    115: int cdecl _fheapwalk(struct _heapinfo *);
                    116: 
                    117: #else
                    118: #if (defined(M_I86CM) || defined(M_I86LM) || defined(M_I86HM))
                    119: 
                    120: int _nheapwalk(struct _heapinfo *);
                    121: int _fheapwalk(struct _heapinfo *);
                    122: 
                    123: #endif  /* M_I86CM || M_I86LM || M_I86HM */
                    124: 
                    125: #endif /* NO_EXT_KEYS */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.