Control Program

The Control Program provides the basic functions of OS/2, including the support for keyboard, mouse, and video input/output.

The lowest-level functions supplied by OS/2 are those provided by the kernel and the kernel's subsystems - the control programs of the operating system. The Control Program Functions List involve the most basic aspects of program execution, such as memory management, file handling, and process, thread, and session management. They also involve more sophisticated programming tasks, such as exception handling and interprocess communications.

Data types
The following data types are defined for the Control Program functions. Many of these types begin with a letter that identifies what the type is used for. For example:
 * H - handle
 * P - flat pointer
 * NP - flat pointer
 * U - unsigned variable.

List of used data types:

APIRET, BOOL, BOOL32, BYTE, CHAR, COLOR, COUNTRYCODE, COUNTRYINFO, DATETIME, DosDebug Buffer Structure, EAOP2, ERRORID, EXCEPTIONREGISTRATIONRECORD, EXCEPTIONREPORTRECORD, FDATE, FEA2, FEA2LIST, FILEFINDBUF3, FILEFINDBUF4, FILELOCK, FILESTATUS3, FILESTATUS4, FSQBUFFER2, FTIME, GEA2, GEA2LIST, HDC, HDIR, HEV, HFILE, HMF, HMODULE, HMONITOR, HMTX, HMUX, HPIPE, HPS, HSYSSEM, HQUEUE, HRGN, HSEM, HTIMER, HVDD, HWND, LONG, NID, NPCH, NPFN, NPSZ, PAVAILDATA, PBOOL, PBOOL32, PBYTE, PCHAR, PCOLOR, PCOUNTRYCODE, PCOUNTRYINFO, PDATETIME, PEAOP2, PERRORID, PEXCEPTIONREGISTRATIONRECORD, PEXCEPTIONREPORTRECORD, PFILEFINDBUF3, PFILEFINDBUF4, PFILELOCK, PFN, PFNSIGHANDLER, PFNTHREAD, PFNEXITLIST, PFEA2LIST, PFSQBUFFER2, PGEA2LIST, PHDC, PHDIR, PHEV, PHFILE, PHMF, PHMODULE, PHMONITOR, PHMTX, PHMUX, PHPIPE, PHPS, PHQUEUE, PHRGN, PHSEM, PHTIMER, PHVDD, PIB, PID, PIPESEMSTATE, PLONG, PPIB, PPID, PPIPESEMSTATE, PPPIB, PPTIB, PPVOID, PREQUESTDATA, PRESULTCODES, PSEMRECORD, PSTARTDATA, PSTATUSDATA, PSZ, PTIB, PTIB2, PTID, PULONG, PVOID, REQUESTDATA, RESULTCODES, SEMRECORD, SGID, SHORT, STARTDATA, STATUSDATA, STRUCT, TIB, TIB2, TID, UCHAR, ULONG, USHORT

Publications

 * IBM
 * OS/2 2.0 Control Program Programming Reference - S10G-6263-00, 1992 PDF
 * OS/2 2.1 Control Program Programming Reference - S10G-6263-01, 1993
 * OS/2 Warp, Version 3 Control Program Programming Guide - G25H-7101-00, Oct 1994
 * OS/2 Warp, Version 3 Control Program Reference - G25H-7102-00, Oct 1994
 * Control Program Programming Guide and Reference - Nov 1996, Errata