OS/2 Subsystem API Differences

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

#define INCL_KBD
#define INCL_VIO
#define INCL_MOU

OS/2 Keyboard API Differences

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

KbdCharIn

APIRET16 APIENTRY16 KbdCharIn(PKBDKEYINFO pkbci, USHORT fWait, HKBD hkbd);

KbdPeek

APIRET16 APIENTRY16 KbdPeek (PKBDKEYINFO pkbci, HKBD hkbd);

KbdStringIn

APIRET16 APIENTRY16 KbdStringIn (PCH pch, PSTRINGINBUF pchIn, USHORT fsWait,
                                 HKBD hkbd);

KbdFlushBuffer

APIRET16 APIENTRY16 KbdFlushBuffer (HKBD hkbd);

KbdSetStatus

APIRET16 APIENTRY16 KbdSetStatus (PKBDINFO pkbdinfo, HKBD hkbd);

KbdGetStatus

APIRET16 APIENTRY16 KbdGetStatus (PKBDINFO pkbdinfo, HKBD hdbd);

KbdSetCp

APIRET16 APIENTRY16 KbdSetCp (USHORT usReserved, USHORT pidCP, HKBD hdbd);

KbdGetCp

APIRET16 APIENTRY16 KbdGetCp (ULONG ulReserved, PUSHORT pidCP, HKBD hkbd);

KbdGetHWID

APIRET16 APIENTRY16 KbdGetHWID (PKBDHWID pkbdhwid, HKBD hkbd);

KbdXlate

APIRET16 APIENTRY16 KbdXlate (PKBDTRANS pkbdtrans, HKBD hkbd);

OS/2 Video API Differences

VioGetBuf

APIRET16 APIENTRY16 VioGetBuf (PULONG pLVB, PUSHORT pcbLVB, HVIO hvio);

VioGetCurPos

APIRET16 APIENTRY16 VioGetCurPos (PUSHORT pusRow, PUSHORT pusColumn,
                                  HVIO hvio);

VioSetCurPos

APIRET16 APIENTRY16 VioSetCurPos (USHORT usRow, USHORT usColumn, HVIO hvio);

VioGetCurType

APIRET16 APIENTRY16 VioGetCurType (PVIOCURSORINFO pvioCursorInfo, HVIO hvio);

VioSetCurType

APIRET16 APIENTRY16 VioSetCurType (PVIOCURSORINFO pvioCursorInfo, HVIO hvio);

VioGetMode

APIRET16 APIENTRY16 VioGetMode (PVIOMODEINFO pvioModeInfo, HVIO hvio);

VioSetMode

APIRET16 APIENTRY16 VioSetMode (PVIOMODEINFO pvioModeInfo, HVIO hvio);

VioReadCellStr

APIRET16 APIENTRY16 VioReadCellStr (PCH pchCellStr, PUSHORT pcb, USHORT usRow,
                                    USHORT usColumn, HVIO hvio);

VioReadCharStr

APIRET16 APIENTRY16 VioReadCharStr (PCH pchCellStr, PUSHORT pcb, USHORT usRow,
                                    USHORT usColumn, HVIO hvio);

VioWrtCellStr

APIRET16 APIENTRY16 VioWrtCellStr (PCCH pchCellStr, USHORT cb, USHORT usRow,
                                   USHORT usColumn, HVIO hvio);

VioWrtCharStr

APIRET16 APIENTRY16 VioWrtCharStr (PCCH pchStr, USHORT cb, USHORT usRow,
                                   USHORT usColumn, HVIO hvio);

VioScrollDn

APIRET16 APIENTRY16 VioScrollDn (USHORT usTopRow, USHORT usLeftCol,
                                 USHORT usBotRow, USHORT usRightCol,
                                 USHORT cbLines, PBYTE pCell, HVIO hvio)

VioScrollUp

APIRET16 APIENTRY16 VioScrollUp (USHORT usTopRow, USHORT usLeftCol,
                                 USHORT usBotRow, USHORT usRightCol,
                                 USHORT cbLines, PBYTE pCell, HVIO hvio);

VioScrollLf

APIRET16 APIENTRY16 VioScrollLf (USHORT usTopRow, USHORT usLeftCol,
                                 USHORT usBotRow, USHORT usRightCol,
                                 USHORT cbCol, PBYTE pCell, HVIO hvio);

VioScrollRt

APIRET16 APIENTRY16 VioScrollRt (USHORT usTopRow, USHORT usLeftCol,
                                 USHORT usBotRow, USHORT usRightCol,
                                 USHORT cbCol, PBYTE pCell, HVIO hvio);

VioWrtNAttr

APIRET16 APIENTRY16 VioWrtNAttr (__const__ BYTE *pAttr, USHORT cb, USHORT usRow,
                                 USHORT usColumn, HVIO hvio);

VioWrtNCell

APIRET16 APIENTRY16 VioWrtNCell (__const__ BYTE *pCell, USHORT cb, USHORT usRow,
                                 USHORT usColumn, HVIO hvio);

VioWrtNChar

APIRET16 APIENTRY16 VioWrtNChar (PCCH pchChar, USHORT cb, USHORT usRow,
                                 USHORT usColumn, HVIO hvio);

VioWrtNChar

APIRET16 APIENTRY16 VioWrtTTY (PCCH pch, USHORT cb, HVIO hvio);

VioWrtCharStrAtt

APIRET16 APIENTRY16 VioWrtCharStrAtt (PCCH pch, USHORT cb, USHORT usRow,
                                      USHORT usColumn, PBYTE pAttr, HVIO hvio);

VioShowBuf

APIRET16 APIENTRY16 VioShowBuf (USHORT offLVB, USHORT cb, HVIO hvio);

VioSetAnsi

APIRET16 APIENTRY16 VioSetAnsi (USHORT fAnsi, HVIO hvio);

VioGetAnsi

APIRET16 APIENTRY16 VioGetAnsi (PUSHORT pfAnsi, HVIO hvio);

VioSavRedrawWait

APIRET16 APIENTRY16 VioSavRedrawWait (USHORT usRedrawInd, PUSHORT pNotifyType,
                                      USHORT usReserved);

VioSavRedrawUndo

APIRET16 APIENTRY16 VioSavRedrawUndo (USHORT usOwnerInd, USHORT usKillInd,
                                      USHORT usReserved);

VioModeWait

APIRET16 APIENTRY16 VioModeWait (USHORT usReqType, PUSHORT pNotifyType,
                                 USHORT usReserved);

VioModeUndo

APIRET16 APIENTRY16 VioModeUndo (USHORT usOwnerInd, USHORT usKillInd,
                                 USHORT usReserved);

VioScrLock

APIRET16 APIENTRY16 VioScrLock (USHORT fWait, PUCHAR pfNotLocked, HVIO hvio);

VioScrUnLock

APIRET16 APIENTRY16 VioScrUnLock (HVIO hvio);

VioPopUp

APIRET16 APIENTRY16 VioPopUp (PUSHORT pfWait, HVIO hvio);

VioEndPopUp

APIRET16 APIENTRY16 VioEndPopUp (HVIO hvio);

VioGetConfig

APIRET16 APIENTRY16 VioGetConfig (USHORT usConfigId, PVIOCONFIGINFO pvioin,
                                  HVIO hvio);

VioGetCp

APIRET16 APIENTRY16 VioGetCp (USHORT usReserved, PUSHORT pIdCodePage,
                              HVIO hvio);

VioSetCp

APIRET16 APIENTRY16 VioSetCp (USHORT usReserved, USHORT idCodePage,
                              HVIO hvio);

VioGetState

APIRET16 APIENTRY16 VioGetState (PVOID pState, HVIO hvio);

VioSetState

APIRET16 APIENTRY16 VioSetState (CPVOID pState, HVIO hvio);

OS/2 Mouse API Differences

MouFlushQue

APIRET16 APIENTRY16 MouFlushQue (HMOU hmou);

MouGetPtrPos

APIRET16 APIENTRY16 MouGetPtrPos (PPTRLOC pmouLoc, HMOU hmou);

MouSetPtrPos

APIRET16 APIENTRY16 MouSetPtrPos (PPTRLOC pmouLoc, HMOU hmou);

MouSetPtrShape

APIRET16 APIENTRY16 MouSetPtrShape (PBYTE pBuf, PPTRSHAPE pmoupsInfo,
                                    HMOU hmou);

MouGetPtrShape

APIRET16 APIENTRY16 MouGetPtrShape (PBYTE pBuf, PPTRSHAPE pmoupsInfo,
                                    HMOU hmou);

MouGetDevStatus

APIRET16 APIENTRY16 MouGetDevStatus (PUSHORT pfsDevStatus, HMOU hmou);

MouGetNumButtons

APIRET16 APIENTRY16 MouGetNumButtons (PUSHORT pcButtons, HMOU hmou);

MouGetNumMickeys

APIRET16 APIENTRY16 MouGetNumMickeys (PUSHORT pcMickeys, HMOU hmou);

MouReadEventQue

APIRET16 APIENTRY16 MouReadEventQue (PMOUEVENTINFO pmouevEvent, PUSHORT pfWait,
                                     HMOU hmou);

MouGetNumQueEl

APIRET16 APIENTRY16 MouGetNumQueEl (PMOUQUEINFO qmouqi, HMOU hmou);

MouGetEventMask

APIRET16 APIENTRY16 MouGetEventMask (PUSHORT pfsEvents, HMOU hmou);

MouSetEventMask

APIRET16 APIENTRY16 MouSetEventMask (PUSHORT pfsEvents, HMOU hmou);

MouGetScaleFact

APIRET16 APIENTRY16 MouGetScaleFact (PSCALEFACT pmouscFactors, HMOU hmou);

MouSetScaleFact

APIRET16 APIENTRY16 MouSetScaleFact (PSCALEFACT pmouscFactors, HMOU hmou);

MouRemovePtr

APIRET16 APIENTRY16 MouRemovePtr (PNOPTRRECT pmourtRect, HMOU hmou);

MouDrawPtr

APIRET16 APIENTRY16 MouDrawPtr (HMOU hmou);

MouSetDevStatus

APIRET16 APIENTRY16 MouSetDevStatus (PUSHORT pfsDevStatus, HMOU hmou);

MouGetThreshold

APIRET16 APIENTRY16 MouGetThreshold(PTHRESHOLD pthreshold, HMOU hmou)'

MouSetThreshold

APIRET16 APIENTRY16 MouSetThreshold(PTHRESHOLD pthreshold, HMOU hmou);