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

Name Description Status

BIDIrectional support

Name Description Status
bdcalls 16-bit API
bdcalls32 32-bit API
bdime Bidirectionlal Input Method Editor
bdbvh BVH for BIDI
bdview BDview (Language Viewer)
WPS class (in System Setup)
bdwpcls some WPS class?

Base Video Handlers

Name Description Status
bvhinit minimal BVH, capable of writing via int 10h when booting and install process
bvhmpa a BVH for monochrome adapter
bvhvga a BVH for VGA adapter
bvhsvga a filter BVH for SVGA modes
bvhwndw a BVH for VIO windows in a PM environment

GRADD subsystem

Name Description Status
vman Video Manager (VMAN)
softdraw Softdraw – a default software renderer
gre2vman A PM GRE to VMAN translation layer
gengradd Generic VESA GRADD driver
as an example of a GRADD driver

Information Presentation facility

Name Description Status
helpmgr Help Manager API
hpmgrmri Help manager MRI (resources)
minxobj Mindex (Main Index/Glossary) WPS class
ibmhmgr Old version of helpmgr (from IBM)
newview some NewView stub ???
minxmri Mindex resources (MRI)


Name Description Status
rexx REXX Interpreter
rexxapi API for manipulating REXX environment and enable scripting in applications
rexxutil REXX utilities library

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

Name Description Status
pmatm A PM Adobe Type Manager
truetype A PM Truetype Font Driver
pmunif A PM UNI Font IFI driver
freetype A Free OpenSource Truetype driver replacement
pmpre PMPRE ???

Data Exchange

Name Description Status
pmclip PM clipboard
pmdde A windows-like Dynamic Data Exchange
pmddeml ???

VDM PM interface

Name Description Status
pmvdmh PM VDM helper
pmvdmp PM DOS window DLL
(works closely with pmviop)
seamless Seamless Win-OS/2 support (PM shield)
shield Some shieild API


Name Description Status
pmpic Something which handle
pictures and metafiles
pmtkt PM toolkit ???


Name Description Status
pmwp WPS main module
pmwpmri WPS resources
pmvddrop PMVDDrop Class library (WPS class???)