Introduction

Control Program Interface (CPI, CP API) is a general set of system interfaces to perform most of common tasks. Mainly, CPI consist of DOSCALLS.DLL, VIOCALLS.DLL, KBDCALLS.DLL, MOUCALLS.DLL etc. Some of CP API shared with Family API - cross-platform API which supports both OS/2 and DOS.

OS/2 API
DOS	Process Manager	DosBeep DosExit DosSleep DosExecPgm
File Manager	DosChDir DosChgFilePtr DosClose DosDelete DosDupHandle DosMkDir DosMove DosQCurDir dos16qcurdisk DosSetFileMode DosOpen DosQFileInfo DosRead DosQFileMode DosQFSInfo DosQVerify DosRmDir DosSelectDisk DosFindClose DosFindFirst DosFindNext DosSetFileInfo DosSetVerify DosWrite DosFileLocks DosSetFHandState DosNewSize DosBufReset DosQFHandState DosSetFSinfo
Memory Manager	DosFreeSeg DosSubAlloc DosSubFree DosSubSet DosAllocHuge DosAllocSeg DosReallocHuge DosReallocSeg DosGetHugeShift DosCreateCSAlias
NLS	DosCaseMap DosGetCtryInfo DosGetDBCSEv DosSetCtryCode DosGetCollate
Date and Time	DosSetDateTime DosGetDateTime
Devices	DosDevConfig DosDevIOCtl
Signals	DosHoldSignal DosSetSigHandler
Misc	DosGetEnv DosGetMachineMode DosGetMessage DosGetVersion DosInsMessage DosPutMessage DosError DosErrClass DosSetVec
Keyboard Router	KbdCharIn KbdFlushBuffer KbdGetStatus KbdSetStatus KbdStringIn KbdPeek
Video Router	VioGetBuf VioGetCurPos VioGetCurType VioGetPhysBuf VioReadCellStr VioReadCharStr VioScrollDn VioScrollLf VioScrollRt VioScrUnLock VioSetCurPos VioSetCurType VioSetMode VioShowBuf VioWrtCellStr VioWrtCharStr VioWrtCharStrAtt VioWrtNAttr VioWrtNCell VioWrtNChar VioWrtTTY VioScrLock VioGetCP
Mouse Router
Presentation Manager
Workplace Shell
REXX
MMIO/2
Tools
Modules	Modules list
Libraries	DOSCALLS.LIB OS2.LIB PMMLE.LIB REXX.LIB RXSTRING.LIB OS2286.LIB OS2386.LIB PMBIND.LIB