OS/2 Memory Manager API Differences

The following describes the implementation differences between the OS2Linux library and the real OS/2 memory manager APIs.

These APIs are included in your application by including the following definition in your application source file.

#define INCL_DOSMEMMGR

DosAllocMem

APIRET APIENTRY DosAllocMem(PPVOID ppb, ULONG cb, ULONG flag);

DosFreeMem

APIRET APIENTRY DosFreeMem(PVOID pb);

DosSetMem

APIRET APIENTRY DosSetMem(PVOID pb, ULONG cb, ULONG flag);

DosGiveSharedMem

APIRET APIENTRY DosGiveSharedMem(PVOID pb, PID pid, ULONG flag);

DosGetSharedMem

APIRET APIENTRY DosGetSharedMem(PVOID pb, ULONG flag);

DosGetNamedSharedMem

APIRET APIENTRY DosGetNamedSharedMem(PPVOID ppb, PSZ pszName, ULONG flag);

DosAllocSharedMem

APIRET APIENTRY DosAllocSharedMem(PPVOID ppb, PSZ pszName, ULONG cb,
                                  ULONG flag);

DosQueryMem

APIRET APIENTRY DosQueryMem(PVOID pb, PULONG pcb, PULONG pFlag);

DosSubAllocMem

APIRET APIENTRY DosSubAllocMem(PVOID pbBase, PPVOID ppb, ULONG cb);

DosSubFreeMem

APIRET APIENTRY DosSubFreeMem(PVOID pbBase, PVOID pb, ULONG cb);

DosSubSetMem

APIRET APIENTRY DosSubSetMem(PVOID pbBase, ULONG flag, ULONG cb);

DosSubUnsetMem

APIRET APIENTRY DosSubUnsetMem(PVOID pbBase);