Be OS API - Kits

Kits

Application Kit

The Application kit contains the basic classes required to launch a BeOS application, as well as support for the global clipboard, inter-application and internal messaging, timers, rosters and other functions seen as required to support any graphical application. Application kit classes are supported by libbe.so

Storage Kit

The Storage kit provides methods for manipulating files from creating and managing symlinks all the way to the file open/save panels for graphical applications, as well as dealing with Be File System attributes. Storage kit classes are mostly in libtracker.so, Tracker being the native file manager on the OS.

Interface Kit

The Interface kit provides a large collection of widgets for building graphical applications from the main window class down to dialogue boxes, including font handling and rendering control. The majority of libbe.so comprises this kit.

Kernel Kit

The Kernel kit provides threading, semaphores and the ability to access system information, and is also in libbe.so

Support Kit

The Support kit provides more advanced functions which do not readily fall into another kit, such as assisted memory allocation and list support.

Network Kit

The Network kit provides either a rudimentary (BeOS R5 and lower) or almost complete (BeOS Dano and higher) implementation of Berkeley sockets and BIND as well as "native" functions based on the Nettle C++ networking library. libnet.so provides the Berkeley sockets on R5, later replaced by the more common libsocket/libbind.so nomenclature; and libnetapi on R5, later replaced by libbnetapi provides the modified version of Nettle.

Mail Kit

The Mail kit provides a native email format as well as a way to use the system to fetch and receive email using standard protocols (POP3 and SMTP). The Mail kit is supported in libmail.so

Translation Kit

The Translation kit provides a method whereby both images and plain text formats are handled by addons allowing applications to support only one format, a native intermediate one, and save/load to any addon-supported format. The API also allows video and audio translation through the library, although this was superseded by BeOS R4 and immediately disabled. The Translation kit is supported in libtranslation.so

Media Kit

The Media kit provides an audio and video input/output abstraction layer based on pluggable addons, as well as handling sound mixing, audio and video format translation and other media related functions. Media kit functions are supported by libmedia.so

MIDI Kit

The MIDI kit provides MIDI hardware input and output abstraction as well as a software synthesiser (provided by Headspace in BeOS R5). libmidi.so provides the old, BeOS R3 era MIDI API, libmidi2.so provides the R4+ API.

Game Kit

The Game kit provides a number of sound formats suited to computer game audio output, as well as the ability to run full-screen applications and use video overlays.

OpenGL Kit

The OpenGL kit provides an implementation of OpenGL as well as supporting classes to allow its use in native applications. In BeOS R5, the supported OpenGL version was 1.1, and was software accelerated, although the kit was hardware-neutral, and in fact outperformed many hardware implementations that were running on competing platforms which could not deliver similar latency/bandwidth performance due to underlying inefficiencies in their design or implementation .

Device Kit

The Device kit provides platform-abstracted direct hardware access to serial and parallel ports, as well as the BeBoxs infamous GeekPort.

Read more about this topic:  Be OS API