Jump to content

Control Program: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
OS/2's Control Program.
{|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.
 
==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.  


The API is composed by:  
List of used data types:
* Control Program Functions
* Keyboard Functions
* Mouse Functions
* Video Functions


==Documentation==
[[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]]
* [[OS2 API:CPI|Control Programming Interface API]]


==Files==
==Files==
{| border="1"
{|class="wikitable"
!Directory||Dynamic Link Library||Functions
|-
|rowspan=14|\OS2\DLL||[[ANSICALL.DLL]]||ANSI terminal support
|-
|-
!Name !!Comments
|[[BKSCALLS.DLL]]||Base keyboard calls
|-
|-
|| [[BMSCALLS.DLL]] ||  
|[[BMSCALLS.DLL]]||Base monitor calls
|-
|-
|| [[DOSCALL1.DLL]] ||  
|[[BVSCALLS.DLL]]||Base Video Subsystem
|-
|-
|| [[KBDCALLS.DLL]] ||  
|[[DOSCALL1.DLL]]||Base OS calls
|-
|-
|| [[QUECALLS.DLL]] ||  
|[[KBDCALLS.DLL]]||Keyboards calls
|-
|-
|| [[MOUCALLS.DLL]] ||  
|[[MONCALLS.DLL]]||Device monitor calls
|-
|-
|| [[MSG.DLL]] ||  
|[[MOUCALLS.DLL]]||Mouse calls
|-
|-
|| [[NLS.DLL]] ||  
|[[MSG.DLL]]||Messages
|-
|-
|| [[SESMGR.DLL]] ||  
|[[NLS.DLL]]||National language support
|-
|-
|| [[VIOCALLS.DLL]] ||  
|[[OS2CHAR.DLL]]||OS2 character
|-
|-
|| [[OS2CHAR.DLL]] ||  
|[[QUECALLS.DLL]]||System queue calls
|-
|-
|[[SESMGR.DLL]]||Session manager
|-
|[[VIOCALLS.DLL]]||Base video calls
|}
|}


 
==Publications==
==Articles==
;IBM
 
*''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]
==Replacements==
*''OS/2 2.1 Control Program Programming Reference'' - S10G-6263-01, 1993
* The [[OS2Linux]] (Open Source - Common Public License) tried to clone some of the functions of Control Program to run on the Linux OS. [http://sourceforge.net/projects/os2linux/]
*''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
==Links==
*''[[Control Program Programming Guide and Reference]]'' - Nov 1996, [[Control Program Programming Guide and Reference Errata|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