OS/2 NLS API Differences

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

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

#define INCL_DOSNMPIPES

DosCreateNPipe

APIRET APIENTRY DosCreateNPipe(PSZ pszName, PHPIPE pHpipe, ULONG openmode,
                               ULONG pipemode, ULONG cbInbuf, ULONG cbOutbuf,
                               ULONG msec);

DosConnectNPipe

APIRET APIENTRY DosConnectNPipe(HPIPE hpipe);

DosDisConnectNPipe

APIRET APIENTRY DosDisConnectNPipe(HPIPE hpipe);

DosTransactNPipe

APIRET APIENTRY DosTransactNPipe(HPIPE hpipe, PVOID pOutbuf, ULONG cbOut,
                                 PVOID pInbuf, ULONG cbIn, PULONG pcbRead);

DosCallNPipe

APIRET APIENTRY DosCallNPipe(PSZ pszName, PVOID pInbuf, ULONG cbIn,
                             PVOID pOutbuf, ULONG cbOut, PULONG pcbActual,
                             ULONG msec);

DosQueryNPHState

APIRET APIENTRY DosQueryNPHState(HPIPE hpipe, PULONG pState);

DosWaitNPipe

APIRET APIENTRY DosWaitNPipe(PSZ pszName, ULONG msec);

DosSetNPipeSem

APIRET APIENTRY DosSetNPipeSem(HPIPE hpipe, HSEM hsem, ULONG key);

DosPeekNPipe

APIRET APIENTRY DosPeekNPipe(HPIPE hpipe, PVOID pBuf, ULONG cbBuf,
                             PULONG pcbActual, PAVAILDATA pAvail,
                             PULONG pState);

DosQueryNPipeInfo

APIRET APIENTRY DosQueryNPipeInfo(HPIPE hpipe, ULONG infolevel, PVOID pBuf,
                                  ULONG cbBuf);

DosQueryNPipeSemState

APIRET APIENTRY DosQueryNPipeSemState(HSEM hsem, PPIPESEMSTATE pnpss,
                                      ULONG cbBuf);

DosRawReadNPipe

APIRET APIENTRY DosRawReadNPipe(PSZ pszName, ULONG cb, PULONG pLen,
                                PVOID pBuf);

DosRawWriteNPipe

APIRET APIENTRY DosRawWriteNPipe(PSZ pszName, ULONG cb);

DosSetNPHState

APIRET APIENTRY DosSetNPHState(HPIPE hpipe, ULONG state);