Jump to content

The OS/2 API Project: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Reverted. I don't like Andreas point of view on this page. The idea is to list in a table all the OS/2 APIs available.
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.  
<table style="width: 100%">
<tr style="vertical-align:top;">
<!--        FIRST COLUMN        -->
  <td style="width:30%; width:30%; border: 1px solid #c6c9ff; padding%: .5em 1em 1em%; color: #000000; background-color: #f0f0ff">


[[OS/2 API Data Types]]
<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]]
*[[OS2_API:CPI | Control Programming]]
*[[OS2_API:CPI:Errors Codes| Error Codes]]


===Control Program===
<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>
*[[Control Program Functions]]
* Runtime Libraries
*[[CP Error Codes]]
**[[OS2_API:CLR | C Library Reference]]
**[[OS2_API:Unicode | Unicode Support]]
**[[OS2_API:32-bit Unicode Console API|32-bit Unicode Console API]]
* Language Support
**[[OS2_API:REXX | REXX]]
**[[Java_JNI_API | Java Native 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>
* [[OS2_API:DMI | Desktop Management Interface]]
</td>
<!--        SECOND COLUMN        -->
  <td style="width:30%; width:30%; border: 1px solid #c6c9ff; padding%: .5em 1em 1em%; color: #000000; background-color: #f0f0ff">
<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>
*[[OS2_API:KEE|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]]


===Language Interfaces===
<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>
*[[C Library Reference]]
*[[OS2_API:PMI | Presentation Manager]]
*[[REXX API|REXX]]
*[[OS2_API:GPI | Graphics Programming Interface]]
*REXXUtil API
*[[Java Native Interface]]


===Presentation Manager===
<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>
*[[Presentation Manager Functions]]
*[[OS2_API:SOM_Kernel|SOM Kernel]]
*[[GPI Functions|Graphics Programming Interface]]
*[[OS2 API:SOM_IR|Interface Repository]]
*[[OS2_API:SOM_DSOM|Distributed System Object Model API]]
*[[OS2_API:WPS | Workplace Shell]]
*[[OS2_API:OpenDoc | OpenDoc]]
*[[OS2_API:OSA | Open Scripting Architecture]]
*Taligent classes (OS/2 Warp 4 and above)
</td>
<!--        THIRD COLUMN        -->
<td style="width:30%; width:30%; border: 1px solid #c6c9ff; padding%: .5em 1em 1em%; color: #000000; background-color: #f0f0ff">
<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
* ASPI Router
* USB stack driver (usbd)


===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]]
*[[OS2_API:DIVE|DIVE]]
*[[Media Control Interface]] (MCI)
*[[OS2_API:MCI|MCI]]
*[[OS2_API:MM:MIDI|Real Time MIDI]]
*[[OS2_API:MM:MIDI|Real Time MIDI]]
*[[OS2_API:MM:OpenGL | 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>
*[[OS2:API:FFST|First Failure Support Technology/2]]
*LVM API
*[[IBM WorkFrame/2 API]]
*REXXUtil API
</td>
</tr>
</table>
==Third Parties OS/2 Based APIs==
<!--        OS/2 BASED API        -->
This table lists the third party APIs based on the component level they run.


===Open Systems===
<table style="width: 100%">
*Open32
<td style="width:30%; width:30%; border: 1px solid #c6c9ff; padding%: .5em 1em 1em%; color: #000000; background-color: #f0f0ff">
*OpenDoc
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
*[[OS2_API:MM:OpenGL|OpenGL]]


===Universal Language Support===
<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>
*[[Unicode API]]
* [[OS2_API:ASPI|ASPI Interface Library]]


===System Object Model (SOM)===
<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>
*[[OS2_API:SOM_Kernel|SOM Kernel]]
*[[CFGSYS]]
*[[Interface Repository Framework]]
*DayTime
*[[OS2_API:SOM_DSOM|Distributed System Object Model API]]
*[[emx]]
*[[OS2_API:WPS|Workplace Shell]]
*[[EA Class Library]]
*[[OS2_API:OpenDoc| OpenDoc]]
*[[YEAH - Your Extended Attribute Helper]]
*[[OS2_API:OSA | Open Scripting Architecture]]
*[[DosEstimateFreqCPU]]
*Taligent classes (OS/2 Warp 4 and above)
*DosMapPhysMem
*DosQueryPerformance
*[[PrintQ API|PrintQ]]
 
<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>
 
<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>
*[[AsuaCtl]]
*[[Cell Toolkit]]
*[[Cubus OS/2 Class Library]]
*[[DualMode Library]]
*[[Dynamic Windows Library]]
*[[EClock API|eClock]] (eCS 1.1 and 1.2)
*[[eCo Software runtime]]
*[[eStyler]] (eCS 1.1 and above)
*[[FileDLG]]
*[[Glass PM C++ API]]
*[[Hint Bubble]]
*[[Kroni's Classes API]]
*[[libkva]]
*[[MultiColumn ListBox (MCLB)]]
*[[New OS2 API]] Library
*[[Odin|Odin32]]
*[[ObjectPM]]
*[[PM++]]
*[[PmCtlsPP]]
*[[Scientific Graphic Library]]
*[[User Customizable Menu (UCMenu)]]
*[[Video Toolkit]]
 
<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>
*eWorkplace (eCS 1.1 and above)
*[[eSchemes]] (eCS 2.0 and above)
*[[Open Scripting Architecture Functions|Open Scripting Architecture]]
*[[SOMXBase]]
*[[xWorkplace]]
 
<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]]
*Resource Manager (eCS 1.1 and above)
*[[USBCalls]]
*[[WarpOverlay]]
 
<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>
*[[MIDIFile API|MIDIFile]]
 
<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>
*[[EVRexx API]]
*[[DrDialog Control]]
*[[FastINI|FastINI API]]
*[[FileREXX API|FileREXX API]]
*[[PR1UTIL|PR1UTIL]]
*[[REXXIO API|REXXIO API]]
*[[RexxINI API]]
*[[RexxIPC]]
*[[RexxMath Library]]
*[[REXXVIO API]]
*[[RxCrypt]]
*[[RXEXTRAS API|RXExtras]]
*[[RxImgSize]]
*[[RXMMUTL API]]
*[[rxSock]]
*[[RXU]]
*[[RxUnlock Functions|RxUnlock]]
*[[RxUtilEx]]
*[[RxULS]]
*[[RxSockVM Library]]
*[[RxWav]]
*[[PrintGraph|PrintGraph API]]
 
<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>
*[[VX-REXX Runtime]]
*[[VX-REXX Extras Library]]
*[[VX-REXX Splitbar]]
 
<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>
*[[APIEX000| APIEX000 - Guided Procedures]] (eCS 1.1 and above.)
*[[CFGSYS]]
*[[The OS/2 Command Line Utilities]]
*[[CUtil]]
*[[The Open Objects Library (OOL) API]]
*[[spUtils]]
*[[WPTools]]
*[[OS/2 API Trace]]
*[[SciTech MGL]]
</div>
</td>
</table>
 
==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.
<table style="width: 100%">
<td style="width:30%; width:30%; border: 1px solid #c6c9ff; padding%: .5em 1em 1em%; color: #000000; background-color: #f0f0ff">
 
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
 
<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 (klibc)
* sqlite (klibc)
 
<h4>Files</h4>
* file-libs - Fine Free File Command (klibc)
 
<h4>Graphics</h4>
* [[SciTech MGL]]
 
<h4>I/O</h4>
* libaio (klibc)
* libusb (klibc) [http://libusb.org/]
 
<h4>Multimedia</h4>
* ffmpeg (klibc)
* libkai - K Audio Interface Library (klibc)
* [[libvpx - VP8 Video CODEC]] (klibc)
* libdvdnav (klibc)
* poppler - PDF rendering library (klibc)
* [[x264]]
 
<h4>Network</h4>
* nss - Network Security Services (klibc)
* libcurl (klibc)
* nspr - Netscape Portable Runtime (klibc)
 
<h4>Print</h4>
* CUPS Lib (klibc)
 
<h4>Programming Languages Lib</h4>
* LIBC
* libssp - GNU Stack Protector Shared Library (klibc)
* mmap (klibc)
* perl (klibc)
* python (klibc)
* pthread (klibc)
* urpo (klibc)
 
<h4>Regional / Languages</h4>
* gettext (klibc)
* icu - libicu - International Components for Unicode (klibc)
* libiconv
 
<h4>Security</h4>
* libgpg-error (klibc)
* libgcrypt (klibc)
* openssl (klibc)
 
<h4>Utility</h4>
* libvnc (klibc)
* ncurses library (klibc)
* rpm (klibc)
 
<h4>XML</h4>
* libxml (klibc)
 
<h4>C</h4>
* [[plibsys]] (klibc)
 
<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+
<h4>Graphics</h4>
* [[SDL]] (klibc)
* [[Cairo]] (klibc)
* [[OS2_API:Qt 4 Libraries|Qt 4 Libraries]] (klibc)
 
<h4>Fonts</h4>
* fontconfig  (klibc)
* pango (klibc)
 
<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;">KLIBC</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
 
<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


===Networking===
<h4>Math</h4>
* LAN Systems
* gmp - The GNU Multiple Precision Arithmetic Library
* TCP/IP
* libmpc - GNU MPC
* mpfr - The GNU MPFR Library


===Systems Management===
<h4>Multimedia</h4>
*[[DMI Functions|Desktop Management Interface]]
*freetype
*[[FFST/2 API|First Failure Support Technology/2]]
* [[libdvbpsi]]
* popt-libs
* qpdf lib


==Device Driver Interfaces==
<h4>Print</h4>
*[[Kernel Execution Environment]]
* gutenprint Lib
*[[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==
<h4>Programming Languages</h4>
*[[IBM WorkFrame/2 API]]
* [[GCC]]
* libstdc++ - GNU Standard C++ Library
* pcre - Pearl-compatible Regular Expression Library


==Third Party==
<h4>Utilities</h4>
See also: [[Third Parties OS/2 APIs]]
* readline


For APIs ported from other platforms to OS/2 using kLIBC environment:
<h4>XML</h4>
* [[KLIBC Ports]]
* expat
* libxslt
</div>
</td>
</table>


==Error Codes==
<!--        RELATED ARTICLES        -->
* [[Dos Error Codes]]
<table style="width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;">
* [[The OS/2 API Project:Win Error Codes]]
<td style="width:100%; padding:0.2em 0.4em; border: 1px solid #c6c9ff; padding%: .5em 1em 1em%; color: #000000; background-color: #f0f0ff">


==Parameters==
<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:Win Error Codes|Win Error Codes]]
* [[The OS/2 API Project:System Colours|System Colours]]
* [[The OS/2 API Project:System Colours|System Colours]]
* [[The OS/2 API Project:Presentation Parameters|Presentation Parameters]]
* [[The OS/2 API Project:Presentation Parameters|Presentation Parameters]]
* [[The OS/2 API Project - Scrollbars|SBM - Scroll Bar Messages]]
* [[The OS/2 API Project:Dos Error Codes|Dos Error Codes]]
 
==Articles==
* [[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]]
</td>
</table>
<!--        CONTRIBUTORS        -->
<table style="width: 100%; margin:4px 0 0 0; background:none; border-spacing: 0px;">
<td style="width:100%; padding:0.2em 0.4em; border: 1px solid #c6c9ff; padding%: .5em 1em 1em%; color: #000000; background-color: #f0f0ff">


==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 104: Line 348:
* [[Veit Kannegieser]]
* [[Veit Kannegieser]]
* [[Alex Taylor]]
* [[Alex Taylor]]
</td>
</table>


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

Revision as of 05:48, 1 March 2017

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.

Control Program

Languages

Network

  • TCP/IP

Environment Calls

Kernel

Presentation Manager

System Object Model (SOM)

Drivers

  • OEM Helper
  • ASPI Router
  • USB stack driver (usbd)

Multimedia

Others

Third Parties OS/2 Based APIs

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

Kernel

Control Program

Network

Presentation Manager

System Object Model (SOM)

Drivers

MMOS2

REXX

VXREXX

Others

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 (klibc)
  • sqlite (klibc)

Files

  • file-libs - Fine Free File Command (klibc)

Graphics

I/O

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

Multimedia

  • ffmpeg (klibc)
  • libkai - K Audio Interface Library (klibc)
  • libvpx - VP8 Video CODEC (klibc)
  • libdvdnav (klibc)
  • poppler - PDF rendering library (klibc)
  • x264

Network

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

Print

  • CUPS Lib (klibc)

Programming Languages Lib

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

Regional / Languages

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

Security

  • libgpg-error (klibc)
  • libgcrypt (klibc)
  • openssl (klibc)

Utility

  • libvnc (klibc)
  • ncurses library (klibc)
  • rpm (klibc)

XML

  • libxml (klibc)

C

Presentation Manager

  • glib - GTK+

Graphics

Fonts

  • fontconfig (klibc)
  • pango (klibc)

KLIBC

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

  • lcms2 - Little CMS
  • libjpeg-turbo
  • libjpg - Independent JPEG Group
  • LibTiff - [2]
  • libpng
  • pixman

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: