Annotation of os232sdk/toolkt20/c/samples/spy/allocmem.c, revision 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.