OS/2 Queue API Differences

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

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

#define INCL_DOSQUEUES

DosCreatePipe

APIRET APIENTRY DosCreatePipe(PHFILE phfRead, PHFILE phfWrite, ULONG cb);

DosCloseQueue

APIRET APIENTRY DosCloseQueue(HQUEUE hq);

DosCreateQueue

APIRET APIENTRY DosCreateQueue(PHQUEUE phq, ULONG queue_flags, PSZ pszName);

DosOpenQueue

APIRET APIENTRY DosOpenQueue(PPID ppid, PHQUEUE phq, PSZ pszName);

DosPeekQueue

APIRET APIENTRY DosPeekQueue(HQUEUE hq, PREQUESTDATA pRequest, PULONG pcbData,
                             PPVOID ppbuf, PULONG element, BOOL32 nowait,
                             PBYTE ppriority, HEV hsem);

DosPurgeQueue

APIRET APIENTRY DosPurgeQueue(HQUEUE hq);

DosQueryQueue

APIRET APIENTRY DosQueryQueue(HQUEUE hq, PULONG pcbEntries);

DosReadQueue

APIRET APIENTRY DosReadQueue(HQUEUE hq, PREQUESTDATA pRequest, PULONG pcbData,
                             PPVOID ppbuf, ULONG element, BOOL32 wait,
                             PBYTE ppriority, HEV hsem);

DosWriteQueue

APIRET APIENTRY DosWriteQueue(HQUEUE hq, ULONG request, ULONG cbData,
                              PVOID pbData, ULONG priority);