VirtualBox

Changeset 32707 in vbox for trunk/src/VBox/Runtime/r0drv/os2


Ignore:
Timestamp:
Sep 23, 2010 10:15:08 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
66136
Message:

IPRT: Added RTMemAllocEx[Tag] and RTMemFreeEx, only implemented in ring-0 only.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r0drv/os2/alloc-r0drv-os2.cpp

    r32674 r32707  
    4141
    4242
    43 PRTMEMHDR rtR0MemAlloc(size_t cb, uint32_t fFlags)
     43int rtR0MemAllocEx(size_t cb, uint32_t fFlags, PRTMEMHDR *ppHdr)
    4444{
    45     AssertReturn(!(fFlags & RTMEMHDR_FLAG_ANY_CTX), NULL);
     45    if (fFlags & RTMEMHDR_FLAG_ANY_CTX)
     46        return VERR_NOT_SUPPORTED;
    4647
    4748    void *pv = NULL;
    4849    APIRET rc = KernVMAlloc(cb + sizeof(RTMEMHDR), VMDHA_FIXED, &pv, (void **)-1, NULL);
    49     if (!rc)
    50     {
    51         PRTMEMHDR pHdr = (PRTMEMHDR)pv;
    52         pHdr->u32Magic   = RTMEMHDR_MAGIC;
    53         pHdr->fFlags     = fFlags;
    54         pHdr->cb         = cb;
    55         pHdr->cbReq      = cb;
    56         return pHdr;
    57     }
    58     return NULL;
     50    if (RT_UNLIKELY(rc != NO_ERROR))
     51        return RTErrConvertFromOS2(rc);
     52
     53    PRTMEMHDR   pHdr = (PRTMEMHDR)pv;
     54    pHdr->u32Magic   = RTMEMHDR_MAGIC;
     55    pHdr->fFlags     = fFlags;
     56    pHdr->cb         = cb;
     57    pHdr->cbReq      = cb;
     58    *ppHdr = pHdr;
     59    return VINF_SUCCESS;
    5960}
    6061
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette