Table of Contents
OS/2 DLL entry points
This OS/2 DLL's entry point description is inspired by http://home.clara.net/orac/os2dll.htm, http://www.edm2.com/index.php/Category:Files
Control Program API
These DLL's contain core OS/2 API, exported by kernel (called CP API or Control Program API), and others are mostly “forwarders” to doscalls. We must note here, that in Intel OS/2 doscalls is a virtual DLL. It does not exist on disk. But here exist DOSCALL1.DLL, which is a collections of call gates into the kernel, or implementations of some API's fully in ring3, based on the real kernel API. DOSCALLS is a virtual DLL, which is a pure kernel API merged with doscall1.dll. The kernel will load also the DLL called DOSCALL2.DLL, which is “user defined API's”. This was intended for OEM API extensions. DOSCALLS in modern OS/2 contains implementation of all (or most) Control Program API. Many other DLLs just forwarders to DOSCALLS. We also uses such logic. Only difference is DOSCALLS not lowest library. DOSCALLS also divided onto two libs. DOSCALLS itself, which contains kernel independed parts, and KAL library, which contains kernel depended part. For osFree project KAL just forward all calls to OS/2 Personality server and recieves answer from it with call result. Such approach allow to port CPI to other kernel easely, because kernel-depended part cleary divided into separate layer.
Name | Description | Status |
---|---|---|
doscalls | Most CP API | |
ansicall | ANSI terminal support | Done |
nls | NLS support | Done |
msg | Message file API | Done |
moncalls | Monitor API | Done |
kbdcalls | Keyboard API | Done |
moucalls | Mouse API | Done |
viocalls | VIO API | Done |
sesmgr | Session manager | Done |
bkscalls | Base Keyboard Subsystem | Done |
bmscalls | Base Mouse subsystem | Done |
bvscalls | Base Video Subsystem | Done |
nampipes | Named Pipes API | Done |
quecalls | Queues API | Done |
os2char | OS/2 character console context | Done |
Unicode API
BIDIrectional support
Base Video Handlers
GRADD subsystem
Information Presentation facility
REXX
Presentation Manager
The core PM DLL's
Name | Description | Status |
---|---|---|
pmmerge | The PM merged library (the PM “kernel”) | |
pmmrgres | PMMERGE resources | |
pmshapi | The PMShell API | Done |
pmshltkt | PMShell toolkit ??? | |
pmgre | PM GRE (Graphics Runtime Environment) API | Done |
pmgpi | GPI (Graphical Program Interface) API | |
pmdrag | The PM Drag'n'Drop API | Done |
pmctls | PM controls | |
pmbidi | PM BIDI API | |
pmmle | PM MLE (Multiple Line Edit) control | Done |
pmspl | PM Print Spooler API | |
pmviop | PM VIO Shield | |
pmwin | PM Window Manager API | Done |
pmwinx | Open32 (Win32 API subset) | |
mirrors | Something also related to Open32 | |
registry | Registry support |
The IFI (Intelligent Font Interface) drivers
Data Exchange
VDM PM interface
Miscellaneous
WPS
OS/2 DLLs | |
---|---|
Base API | DOSCALLS EMXWRAP SUB32 ANSICALL NLS MSG MONCALLS KBDCALLS MOUCALLS VIOCALLS SESMGR BKSCALLS BMSCALLS BVSCALLS NAMPIPES QUECALLS OS2CHAR |
Bidirectional NLS | BDCALLS BDCALLS32 BDIME BDBVH BDVIEW BDWPCLS BIDIPM PMBIDI |
Unicode API | UCONV UNIKBD LIBUNI |
BVH (Base Video Handlers) | BVHINIT BVHMPA BVHVGA BVHSVGA BVHWNDW |
GRADD subsystem | VMAN SOFTDRAW GRE2VMAN GENGRADD |
IPF (Information Presentation facility) | HELPMGR HPMGRMRI MINXOBJ IBMHMGR NEWVIEW MINXMRI ERRTXT |
REXX | REXX REXXAPI REXXUTIL REGINA |
The core PM DLL's | PMMERGE PMMRGRES PMSHAPI PMSHLTKT PMGRE PMGPI PMDRAG PMCTLS PMMLE PMSPL PMVIOP PMWIN |
Open32 | PMWINX MIRRORS REGISTRY |
Intelligent Font Interface drivers | PMATM TRUETYPE PMUNIF FREETYPE PMPRE |
Data Exchange | PMCLIP PMDDE PMDDEML |
VDM PM interface | PMVDMH PMVDMP SEAMLESS SHIELD |
WPS | PMWP PMWPMRU PMVDDROP |
Miscellaneous | PMPIC PMTKT MVDM |
SOM API | SOM SOMC |
KAL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DOSCALLS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Base Video Handlers | BVSCALLS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
BKSCALLS | EMXWRAP (SUB32) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
BMSCALLS | OS2CHAR2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
MONCALLS | CON3216 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
KBDCALLS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MOUCALLS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VIOCALLS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NAMPIPES | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QUECALLS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OS2CHAR | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NLS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MSG | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ANSICALL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SESMGR | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PMCLIENT | PM Server (local or remote) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
PMMERGE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PMGRE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PMSHAPI | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PMSHLTKT | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PMCTLS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PMDRAG | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PMMLE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PMGPI | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PMWIN | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UTLAPI | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REGINA | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REXX | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REXXAPI | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||