Jump to content

The OS/2 API Project: Difference between revisions

From EDM2
Ak120 (talk | contribs)
 
(93 intermediate revisions by 3 users not shown)
Line 4: Line 4:


==OS/2 Warp APIs==
==OS/2 Warp APIs==
This are the APIs included on the IBM's OS/2 Warp product.
This are the APIs included on the IBM's OS/2 Warp product.  
{|style="border:1px solid #cedff2; background:#f5faff; width: 100%;" cellpadding="10";
|-
|style="width: 33%; vertical-align:top;"|
<h3 id="sec-col1-1" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Kernel</h3>
*[[Kernel Execution Environment]]
*[[Physical Device Driver (DevHlp) Functions|Physical Device Driver (DevHlp)]]
*[[Presentation Device Driver Functions|Presentation Device Driver]]
*[[IFS Interfaces |Installable File Systems (IFS)]]
*[[Platform Specific Drivers Functions|Platform Specific Drivers]]
*[[Virtual Device Drivers Functions|Virtual Device Driver]]
 
<h3 id="sec-col1-1" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Drivers</h3>
* OEM Helper
* [[MMPM/2 Device Driver API]]
* [[USB Device Driver Stack for OS/2 Warp|USB Stack API]] (usbd)
 
<h3 id="sec-col2-1" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Control Program</h3>
*[[OS/2 API Data Types]]
*[[Control Program Functions List| Control Programming]]
*[[CP Error Codes|CP Error Codes]]


[[OS/2 API Data Types]]
<!-- MIDDLE COLUMN -->
|style="width: 33%; vertical-align:top;"|
<h3 id="sec-col1-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Presentation Manager</h3>
*[[Presentation Manager Functions| Presentation Manager]]
*[[GPI Functions| Graphics Programming Interface]]


===Control Program===
<h3 id="sec-col1-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">System Object Model (SOM)</h3>
*[[Control Program Functions]]
*[[SOM Kernel]]
*[[CP Error Codes]]
*[[Interface Repository Framework|Interface Repository Framework]]
*[[SOM DSOM|Distributed System Object Model API]]
*[[Workplace Shell API | Workplace Shell]]
*[[OpenDoc Functions| OpenDoc]]
*[[Open Scripting Architecture Functions| Open Scripting Architecture]]
*Taligent classes (OS/2 Warp 4 and above)


===Language Interfaces===
<h3 id="sec-col2-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Languages</h3>
*[[C Library Reference]]
* Runtime Libraries
*[[REXX API|REXX]]
**[[C Library Reference| C Library Reference]]
*REXXUtil API
**[[Universal Language Support Functions|Universal Language Support (Unicode)]]
*[[Java Native Interface]]
* Language Support
**[[REXX API| REXX]]
**[[Java Native Interface | Java Native Interface]]


===Presentation Manager===
<!-- THIRD COLUMN -->
*[[Presentation Manager Functions]]
|style="width: 33%; vertical-align:top;"|
*[[GPI Functions|Graphics Programming Interface]]
<h3 id="sec-col2-3" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Network</h3>
* TCP/IP
<h3 id="sec-col2-4" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Environment Calls</h3>
* [[DMI Functions| Desktop Management Interface]]


===Multimedia===
<h3 id="sec-col1-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Multimedia</h3>
*DART
*DART
*[[OS2_API:DIVE|DIVE]]
*[[DIVE]]
*[[Media Control Interface]] (MCI)
*[[Media Control Interface API|Media Control Interface (MCI)]]
*[[OS2_API:MM:MIDI|Real Time MIDI]]
*[[RTMIDI Functions|Real Time MIDI]]
*[[OpenGL Functions|OpenGL]]
 
<h3 id="sec-col1-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Others</h3>
*[[FFST/2 API|First Failure Support Technology/2]]
*[[LVM API]]
*[[IBM WorkFrame/2 API]]
*[[REXXUtil API]]
* [[Bidirectional Language]]
|}
 
==Third Parties OS/2 Based APIs==
<!--        OS/2 BASED API        -->
This table lists the third party APIs based on the component level they run.
{|style="border:1px solid #cedff2; background:#f5faff; width: 100%;" cellpadding="10";
|-
|style="width: 33%; vertical-align:top;"|
<h3 id="sec-col1-1" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Kernel</h3>
* [[ASPI|ASPI Interface Library]]
* [[OS/4 Extended KEE API]]
 
<h3 id="sec-col1-1" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Drivers</h3>
*[[ACPI32]]
* [[ASPI Router]]
*Resource Manager (eCS 1.1 and above)
*[[USBCalls]]
*[[WarpOverlay]]
 
<h3 id="sec-col2-1" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Control Program</h3>
*[[CFGSYS]]
*DayTime
*[[emx]]
*[[EA Class Library]]
*[[E Comm]]
*[[E Db]]
*[[E Fs]]
*[[YEAH - Your Extended Attribute Helper]]
*[[DosEstimateFreqCPU]]
*DosMapPhysMem
*DosQueryPerformance
*[[PrintQ API|PrintQ]]


===Open Systems===
<h3 id="sec-col1-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Others</h3>
*Open32
*[[32-bit Unicode Console API|32-bit Unicode Console API]]
*OpenDoc
*[[APIEX000| APIEX000 - Guided Procedures]] (eCS 1.1 and above.)
*[[OS2_API:MM:OpenGL|OpenGL]]
*[[CFGSYS]]
*[[CUtil Functions|CUtil]]
*[[IBM Continuous Speech Series OS/2 Borland Compiler Support]]
*[[The Open Objects Library (OOL) API]]
*[[The OS/2 Command Line Utilities]]
*[[OS/2 API Trace]]
*[[spUtils]]
*[[SciTech MGL]]
*[[WPTools]]


===Universal Language Support===
<h3 id="sec-col1-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">MMOS2</h3>
*[[Unicode API]]
* [[MIDIFile API|MIDIFile]]
* [[USBWAV|USBWAV]]


===System Object Model (SOM)===
<!-- MIDDLE COLUMN -->
*[[OS2_API:SOM_Kernel|SOM Kernel]]
|style="width: 33%; vertical-align:top;"|
*[[Interface Repository Framework]]
<h3 id="sec-col1-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Presentation Manager</h3>
*[[OS2_API:SOM_DSOM|Distributed System Object Model API]]
*[[AFCUtil]]
*[[OS2_API:WPS|Workplace Shell]]
*[[AsuaCtl]]
*[[OS2_API:OpenDoc| OpenDoc]]
*[[Cantatore Libraries]]
*[[OS2_API:OSA | Open Scripting Architecture]]
*[[Cell Toolkit]]
*Taligent classes (OS/2 Warp 4 and above)
*[[Cubus OS/2 Class Library]]
*[[DualMode Library]]
*[[Dynamic Windows Library]]
*[[EClock Functions|eClock]] (eCS 1.1 and 1.2)
*[[eCo Software Runtime]]
*[[eStyler]] (eCS 1.1 and above)
*[[FileDLG_(Routine)]]
*[[GI]]
*[[Glass PM C++ API]]
*[[Hint Bubble]]
*[[Kroni's Classes]]
*[[libkva]]
*[[MultiColumn ListBox (MCLB)]]
*[[New OS2 API]] Library
*[[Odin|Odin32]]
*[[ObjectPM]]
*[[PM++]]
*[[PmCtlsPP]]
*[[Scientific Graphic Library]]
*[[User Customizable Menu (UCMenu)]]
*[[Video Toolkit]]


===Networking===
<h3 id="sec-col1-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">System Object Model (SOM)</h3>
* LAN Systems
*eWorkplace (eCS 1.1 and above)
* TCP/IP
*[[eSchemes]] (eCS 2.0 and above)
*[[Open Scripting Architecture Functions|Open Scripting Architecture]]
*[[SOMXBase]]
*[[xWorkplace]]


===Systems Management===
<!-- THIRD COLUMN -->
*[[DMI Functions|Desktop Management Interface]]
|style="width: 33%; vertical-align:top;"|
*[[FFST/2 API|First Failure Support Technology/2]]
<h3 id="sec-col1-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">REXX</h3>
*[[Associative Arrays for Rexx]]
*[[EVRexx]]
*[[DrDialog Control]]
*[[FastINI|FastINI]]
*[[FileREXX]]
*[[FileUt]]
*[[PR1UTIL|PR1UTIL]]
*[[PrintGraph|PrintGraph]]
*[[PYRxUtil]]
*[[RexxBase]]
*[[REXXDATE]]
*[[RexxINI]]
*[[RexxIPC]]
*[[REXXIO]]
*[[REXXMATH]]
*[[REXXMouse]]
*[[RexxRE]]
*[[RexxVIO]]
*[[RwIni Library|rwIni]]
*[[RxCrypt]]
*[[RxExtras]]
*[[RxImgSize]]
*[[RXMMUTL]]
*[[rxSock]]
*[[RXU]]
*[[RxUnlock]]
*[[RxUtilEx]]
*[[RxULS]]
*[[RxSockVM]]
*[[RxWav]]


==Device Driver Interfaces==
*[[Kernel Execution Environment]]
*[[OS2_API:Physical Device Driver (DevHlp) API|Physical Device Driver (DevHlp) API]]
*[[OS2_API:Presentation Device Driver|Presentation Device Driver]]
*[[OS2_API:IFS|OS/2 Installable File Systems (IFS) API]]
*[[OS2_API:Platform Specific Drivers API|Platform Specific Drivers API]]
*LVM API
*OEM Helper
*ASPI Router
*USB stack driver (usbd)


==Additional IBM Products==
<h3 id="sec-col1-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">VXREXX</h3>
*[[IBM WorkFrame/2 API]]
* [[VX-REXX Runtime]]
* [[VX-REXX Extras Library]]
* [[VX-REXX Splitbar]]
* [[VRXDA|VRXDA]]
* [[VRExtras API|VRExtras]]


==Third Party==
|}
See also: [[Third Parties OS/2 APIs]]


==OS/2 Ported APIs==
==OS/2 Ported APIs==
<!--        OS/2 PORTED APIs        -->
<!--        OS/2 PORTED APIs        -->
These are APIs ported from other platforms to OS/2-eCS-ArcaOS. The functions documentation of the APIs are only linked to their respective sites.
These are APIs ported from other platforms to OS/2-eCS-ArcaOS. The functions documentation of the APIs are only linked to their respective sites.  
{|style="border:1px solid #cedff2; background:#f5faff; width: 100%;" cellpadding="10";
|-
|style="width: 33%; vertical-align:top;"|
<h3 id="sec-col2-1" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Control Program</h3>
 
<h4>Database</h4>
* DB4 - The Berkeley DB Database Library (libc)
* [[DbfLIB]]
* sqlite (libc)
 
<h4>Files</h4>
* file-libs - Fine Free File Command (libc)
* [[Exuberant ctags]]
 
<h4>Graphics</h4>
* [[SciTech MGL]]
* [[SciTech MGL]]
* [[Jpeglib]]
<h4>I/O</h4>
* libaio (libc)
* libusb (libc) [http://libusb.org/]
<h4>Multimedia</h4>
* ffmpeg (libc)
* [[Libdvbpsi]]
* libkai - K Audio Interface Library (libc)
* [[WebM libvpx]] (libc)
* libdvdnav (libc)
* poppler - PDF rendering library (libc)
* [[x264]]
<h4>Network</h4>
* nss - Network Security Services (libc)
* libcurl (libc)
* nspr - Netscape Portable Runtime (libc)
<h4>Print</h4>
* CUPS Lib (libc)
<h4>Programming Languages Lib</h4>
* [[LIBC]]
* libssp - GNU Stack Protector Shared Library (libc)
* mmap (libc)
* perl (libc)
* python (libc)
* pthread (libc)
* urpo (libc)
<!-- MIDDLE COLUMN -->
|style="width: 33%; vertical-align:top;"|
<h4>Regional / Languages</h4>
* gettext (libc)
* icu - libicu - International Components for Unicode (libc)
* [[GNU libiconv|libiconv]]
<h4>Security</h4>
* [[Cyrus SASL]]
* libgpg-error (libc)
* libgcrypt (libc)
* openssl (libc)
<h4>Utility</h4>
* libvnc (libc)
* [[NCurses]] library (libc)
* rpm (libc)
<h4>XML</h4>
* libxml (libc)
<h4>C</h4>
* [[cstring]]
* [[FFTW]]
* [[Greenleaf Data Windows]]
* [[plibsys]] (libc)
<h3 id="sec-col1-2" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Presentation Manager</h3>
* glib - GTK+
* glib - GTK+
<h4>Graphics</h4>
* [[Simple Directmedia Layer |SDL]] (libc)
* [[Cairo]] (libc)
* [[Qt 4 Libraries]] (libc)
* [[Qt 5 Libraries|Qt 5 Libraries]] (libc)
<h4>Fonts</h4>
* fontconfig  (libc)
* pango (libc)
<h3 id="sec-col2-1" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">LIBC</h3>
This are the libraries/runtimes that does not depends directly on CPI or PM.
<h4>Data Compression</h4>
* liblzma - LZMA Library
* zlib
<h4>Fonts / Text</h4>
* GNU Aspell
<!-- THIRD COLUMN -->
|style="width: 33%; vertical-align:top;"|
<h4>Graphics</h4>
*lcms2 - Little CMS
* [[libjpeg-turbo]]
* libjpg - Independent JPEG Group
* LibTiff - [http://remotesensing.org/libtiff/]
* libpng
* [[pixman]]
<h4>Interface</h4>
* libidl - IDL Parsing Library
* libidl - IDL Parsing Library
<h4>Math</h4>
* gmp - The GNU Multiple Precision Arithmetic Library
* libmpc - GNU MPC
* mpfr - The GNU MPFR Library
<h4>Multimedia</h4>
*freetype
* [[libdvbpsi]]
* popt-libs
* qpdf lib
<h4>Print</h4>
* gutenprint Lib
<h4>Programming Languages</h4>
* [[GCC]]
* libstdc++ - GNU Standard C++ Library
* libstdc++ - GNU Standard C++ Library
* pcre - Perl-compatible Regular Expression Library
* pcre - Pearl-compatible Regular Expression Library


==Error Codes==
<h4>Utilities</h4>
* [[Dos Error Codes]]
* readline
* [[The OS/2 API Project:Win Error Codes]]


==Parameters==
<h4>XML</h4>
* [[The OS/2 API Project:System Colours|System Colours]]
* expat
* [[The OS/2 API Project:Presentation Parameters|Presentation Parameters]]
* libxslt
|}
 
<!--        RELATED ARTICLES        -->
{|style="border:1px solid #cedff2; background:#f5faff; width: 100%;" cellpadding="10";
|- style="vertical-align:top;"
|
 
<h1 id="sec-colB-1" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Related Articles</h1>
* [[The OS/2 API Project - Scrollbars|SBM - Scroll Bar Messages]]
* [[The OS/2 API Project - Scrollbars|SBM - Scroll Bar Messages]]
 
* [[Win Error Codes]]
==Articles==
* [[System Colours]]
* [[Presentation Parameters]]
* [[The OS/2 API Project:Dos Error Codes|Dos Error Codes]]
* [[Rick Papo's Unofficial Undocumented System API Functions in OS/2]] by [[Rick Papo]]
* [[Rick Papo's Unofficial Undocumented System API Functions in OS/2]] by [[Rick Papo]]
* [[Introduction to the OS/2 API Documentation]]
* [[Introduction to the OS/2 API Documentation]]
* [[A personal look at the OS/2 API ]] by [[Roger Orr]] (December 1993)
* [[A personal look at the OS/2 API ]] by [[Roger Orr]] (December 1993)
* [[What APIs are new to OS/2 2.1?]] by [[Marc van Woerkom]]
* [[What APIs are new to OS/2 2.1?]] by [[Marc van Woerkom]]
|}
<!--        CONTRIBUTORS        -->
{|style="border:1px solid #cedff2; background:#f5faff; width: 100%;" cellpadding="10";
|- style="vertical-align:top;"
|


==Contributors==
<h1 id="sec-colB-1" style="margin:3px; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Contributors</h1>
The contributors of the OS/2 API Project:  
The contributors of the OS/2 API Project:  
* [[Bill Buchanan]]
* [[Bill Buchanan]]
Line 110: Line 377:
* [[Veit Kannegieser]]
* [[Veit Kannegieser]]
* [[Alex Taylor]]
* [[Alex Taylor]]
|}


[[Category:The OS/2 API Project]]
[[Category:The OS/2 API Project]]
__NOTOC__
__NOTOC__

Latest revision as of 17:59, 26 April 2025

The OS/2 API Project (also known as The OS/2 API Documentation Project) is an effort that aims to document all the OS/2 available APIs under an non-restrictive license that can allow derivative works.

For contributors, please review the Introduction to the OS/2 API Documentation.

OS/2 Warp APIs

This are the APIs included on the IBM's OS/2 Warp product.

Kernel

Drivers

Control Program

Presentation Manager

System Object Model (SOM)

Languages

Network

  • TCP/IP

Environment Calls

Multimedia

Others

Third Parties OS/2 Based APIs

This table lists the third party APIs based on the component level they run.

Kernel

Drivers

Control Program

Others

MMOS2

Presentation Manager

System Object Model (SOM)

REXX


VXREXX

OS/2 Ported APIs

These are APIs ported from other platforms to OS/2-eCS-ArcaOS. The functions documentation of the APIs are only linked to their respective sites.

Control Program

Database

  • DB4 - The Berkeley DB Database Library (libc)
  • DbfLIB
  • sqlite (libc)

Files

Graphics

I/O

  • libaio (libc)
  • libusb (libc) [1]

Multimedia

  • ffmpeg (libc)
  • Libdvbpsi
  • libkai - K Audio Interface Library (libc)
  • WebM libvpx (libc)
  • libdvdnav (libc)
  • poppler - PDF rendering library (libc)
  • x264

Network

  • nss - Network Security Services (libc)
  • libcurl (libc)
  • nspr - Netscape Portable Runtime (libc)

Print

  • CUPS Lib (libc)

Programming Languages Lib

  • LIBC
  • libssp - GNU Stack Protector Shared Library (libc)
  • mmap (libc)
  • perl (libc)
  • python (libc)
  • pthread (libc)
  • urpo (libc)

Regional / Languages

  • gettext (libc)
  • icu - libicu - International Components for Unicode (libc)
  • libiconv

Security

  • Cyrus SASL
  • libgpg-error (libc)
  • libgcrypt (libc)
  • openssl (libc)

Utility

  • libvnc (libc)
  • NCurses library (libc)
  • rpm (libc)

XML

  • libxml (libc)

C

Presentation Manager

  • glib - GTK+

Graphics

Fonts

  • fontconfig (libc)
  • pango (libc)

LIBC

This are the libraries/runtimes that does not depends directly on CPI or PM.

Data Compression

  • liblzma - LZMA Library
  • zlib

Fonts / Text

  • GNU Aspell

Graphics

Interface

  • libidl - IDL Parsing Library

Math

  • gmp - The GNU Multiple Precision Arithmetic Library
  • libmpc - GNU MPC
  • mpfr - The GNU MPFR Library

Multimedia

Print

  • gutenprint Lib

Programming Languages

  • GCC
  • libstdc++ - GNU Standard C++ Library
  • pcre - Pearl-compatible Regular Expression Library

Utilities

  • readline

XML

  • expat
  • libxslt

Related Articles

Contributors

The contributors of the OS/2 API Project: