Annotation of os232sdk/toolkt20/c/samples/spy/allocmem.c, revision 1.1.1.1

1.1       root        1: /****************************************************************************\
                      2: *
                      3: * Presentation Manager Paint - PMPaint
                      4: * File: ALLOCMEM.C - Contains 32-bit substitutes for the PMWIN memory
                      5: *                    management routines.
                      6: * 09-02-89 Created.
                      7: *
                      8: \****************************************************************************/
                      9: 
                     10: #define INCL_DOSMEMMGR
                     11: #define  INCL_WINHEAP
                     12: #include <os2.h>
                     13: #include "allocmem.h"
                     14: 
                     15: HHEAP WinCreateHeap(PBYTE pbHeapBase, ULONG cbHeap, ULONG cbGrow,
                     16:         ULONG chMinDed, ULONG cbMaxDed, ULONG fOptions)
                     17: {
                     18:     HHEAP hheap = (HHEAP)pbHeapBase;
                     19: 
                     20:     if (cbHeap == 0)
                     21:         cbHeap = 65535;
                     22: 
                     23:     if (pbHeapBase == NULL) {
                     24: 
                     25:         // If no heap memory is specified, allocate a 64K block.
                     26: 
                     27:         if (DosAllocMem((PPVOID)&hheap, cbHeap, MEMFLAGS))
                     28:             return(FALSE);
                     29:     }
                     30: 
                     31:     // Initialize the heap.
                     32: 
                     33:     if (DosSubSet((PVOID)hheap, 1, cbHeap))
                     34:         return(FALSE);
                     35: 
                     36:     return(hheap);
                     37: 
                     38:     /* Unreferenced formal parameters referenced here to prevent compiler
                     39:         warning */
                     40:     cbGrow;
                     41:     chMinDed;
                     42:     cbMaxDed;
                     43:     fOptions;
                     44: 
                     45: }
                     46: 
                     47: 
                     48: HHEAP WinDestroyHeap(HHEAP hHeap)
                     49: {
                     50:     // WinCreateHeap should toss something at the head of the heap
                     51:     // so WinDestroyHeap can know whether to DosFreeMem it or not.
                     52: 
                     53:     return(hHeap);
                     54: }
                     55: 
                     56: 
                     57: ULONG WinAvailMem(HHEAP hHeap, BOOL fCompact, ULONG cbMinFree)
                     58: {
                     59:     return(0);
                     60: 
                     61:     /* Unreferenced formal parameters referenced here to prevent compiler
                     62:         warning */
                     63:     hHeap;
                     64:     fCompact;
                     65:     cbMinFree;
                     66: 
                     67: }
                     68: 
                     69: 
                     70: PBYTE WinAllocMem(HHEAP hHeap, ULONG cb)
                     71: {
                     72:     PBYTE pbT;
                     73: 
                     74:     if (DosSubAlloc((PVOID)hHeap, (PPVOID)&pbT, cb))
                     75:         return(FALSE);
                     76: 
                     77:     return(pbT);
                     78: }
                     79: 
                     80: 
                     81: PBYTE WinReallocMem(HHEAP hHeap, PBYTE pMem, ULONG cbOld, ULONG cbNew)
                     82: {
                     83:     return(FALSE);
                     84: 
                     85:     /* Unreferenced formal parameters referenced here to prevent compiler
                     86:         warning */
                     87:     hHeap;
                     88:     pMem;
                     89:     cbOld;
                     90:     cbNew;
                     91: 
                     92: }
                     93: 
                     94: 
                     95: PBYTE WinFreeMem(HHEAP hHeap, PBYTE pMem, ULONG cbMem)
                     96: {
                     97:     if (DosSubFree((PVOID)hHeap, (PVOID)pMem, cbMem))
                     98:         return(FALSE);
                     99: 
                    100:     return(pMem);
                    101: }
                    102: 
                    103: 
                    104: PVOID WinLockHeap(HHEAP hHeap)
                    105: {
                    106:     return((PVOID)hHeap);
                    107: }

unix.superglobalmegacorp.com

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