Jump to content

Control Program: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
The Control Program provides the basic functions of OS/2, including DOS emulation and the support for keyboard, mouse, and video input/output.
{|align="right" class="wikitable" width=30%
|+Control Program
!colspan=6 style="background-color:#FF0"|Kernel API
|-
!style="background-color:#AF0"|IPC
!style="background-color:#BF0" colspan=2|Tasks & Threads
!style="background-color:#CF0"|Scheduler
!style="background-color:#DF0" colspan=2|File System Router
|-
!style="background-color:#AA0" colspan=2|Memory Management
!style="background-color:#BA0" colspan=2|Interrupt Handling
!style="background-color:#AB0"|FAT
!style="background-color:#BB0"|IFS
|}
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.
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]]


==Files==
==Files==
Line 38: Line 63:
==Publications==
==Publications==
;IBM
;IBM
*OS/2 2.0 Control Program Programming Reference - [http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/EF1JBA00 S10G-6263-00], [http://www.os2museum.com/files/docs/os220tl/os2-2.0-cpref-1992.pdf PDF] 1992
*''OS/2 2.0 Control Program Programming Reference'' - S10G-6263-00, 1992 [http://www.os2museum.com/files/docs/os220tl/os2-2.0-cpref-1992.pdf PDF]
*OS/2 2.1 Control Program Programming Reference - [http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/EJ2C2B00 S10G-6263-01], 1993
*''OS/2 2.1 Control Program Programming Reference'' - S10G-6263-01, 1993
*OS/2 Warp, Version 3 Control Program Programming Guide - [http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/EJ6B9B00 G25H-7101-00], Oct 1994
*''OS/2 Warp, Version 3 Control Program Programming Guide'' - G25H-7101-00, Oct 1994
*OS/2 Warp, Version 3 Control Program Reference - [http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/EJ6C1B00 G25H-7102-00], Oct 1994
*''OS/2 Warp, Version 3 Control Program Reference'' - G25H-7102-00, Oct 1994
*[[Control Program Programming Guide and Reference]]
*''[[Control Program Programming Guide and Reference]]'' - Nov 1996, [[Control Program Programming Guide and Reference Errata|Errata]]
*[[Control Program Programming Guide and Reference Errata]]


[[Category:Components]]
[[Category:Components]]

Latest revision as of 03:05, 17 November 2018

Control Program
Kernel API
IPC Tasks & Threads Scheduler File System Router
Memory Management Interrupt Handling FAT IFS

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

Files

Directory Dynamic Link Library Functions
\OS2\DLL ANSICALL.DLL ANSI terminal support
BKSCALLS.DLL Base keyboard calls
BMSCALLS.DLL Base monitor calls
BVSCALLS.DLL Base Video Subsystem
DOSCALL1.DLL Base OS calls
KBDCALLS.DLL Keyboards calls
MONCALLS.DLL Device monitor calls
MOUCALLS.DLL Mouse calls
MSG.DLL Messages
NLS.DLL National language support
OS2CHAR.DLL OS2 character
QUECALLS.DLL System queue calls
SESMGR.DLL Session manager
VIOCALLS.DLL Base video calls

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