Die in diesem Handbuch beschriebene C-Programmierschnittstelle besteht aus über 500 Funktionen, Makros und externen Variablen. Dazu gehören alle im ANSI-Standard definierten und alle vom X/Open Portability Guide Issue 4 Version 2 - kurz XPG4 Version 2 genannt - geforderten Funktionen. Zusätzlich wird die optionale Funktionsgruppe „Encryption“ des XPG4 unterstützt sowie zahlreiche Erweiterungen.
Diese C-Programmierschnittstelle ist Bestandteil der C-Laufzeitbibliothek (BS2000). Die C-Laufzeitbibliothek ist Bestandteil des Common Runtime Environment CRTE. Das POSIX-Subsystem muss geladen sein, um die volle Funktionalität der in diesem Handbuch beschriebenen C-Bibliotheksfunktionen zu erhalten.
Die in diesem Handbuch beschriebenen Schnittstellen stehen ab CRTE V10.1A bzw. V11.1A und ab BS2000/OSD-BC V10.0 zur Verfügung.
Die C-Bibliotheksfunktionen erlauben die komfortable Programmierung vieler Aufgaben, für die die Sprache C selbst keine höheren Sprachmittel vorsieht. Beispiele für solche Programmieraufgaben sind:
Verarbeitung von Dateien (Öffnen, Schließen, Positionieren, Lesen, Schreiben etc.)
Verarbeitung von einzelnen Zeichen oder Zeichenketten (Suchen, Ändern, Kopieren, Löschen etc.)
Dynamische Speicherverwaltung (Speicherbereiche anlegen, freigeben etc.)
Zugriff auf das Betriebssystem
Einsatz mathematischer Funktionen
Alle Funktionen im Nachschlageteil „Funktionen und Variablen alphabetisch“, die nicht in der Überschrift als Erweiterungen gekennzeichnet sind (siehe nächster Abschnitt), verhalten sich konform zu den oben genannten Standards. Funktionalitätserweiterungen einzelner Funktionen oder bis zum Branding noch vorhandene Einschränkungen werden in der Beschreibung explizit gekennzeichnet.
Erweiterungen
Zusätzlich zu den erwähnten internationalen Standards unterstützt die C-Bibliothek BS2000-spezifische Funktionen (siehe auch Handbuch „C-Bibliotheksfunktionen“ [6]) und zusätzliche Erweiterungen, die auf vielen UNIX-Systemen unterstützt werden. Die Erweiterungen durch die BS2000-spezifischen Funktionen sind in den Überschriften des Nachschlageteils mit BS2000 gekennzeichnet. Die übrigen Erweiterungen sind in den Überschriften des Nachschlageteils mit Erweiterung gekennzeichnet. Diese explizite Kennzeichnung der Erweiterungen soll die Programmierung von portablen Programmen unterstützen.
Funktionen für Ein-/Ausgabe, Signalbehandlung und Lokalität unterstützen Erweiterungen, die mit den C-Laufzeitbibliothek-Vorgängern kompatibel sind. Insbesondere ist der Zugriff sowohl auf das Datenverwaltungssystem von BS2000 (DVS) als auch auf das XPG4 Version 2-konforme POSIX-Dateisystem möglich (siehe Handbuch „POSIX-Grundlagen“ [1]).
Als zusätzliche Erweiterungen stehen zur Verfügung:
64-Bit-Funktionen zur NFS V3.0-Unterstützung
Funktionen zur POSIX-Thread-Unterstützung in der C-Laufzeit-Bibliothek
Einschränkungen
In dieser Version der C-Laufzeitbibliothek gibt es folgende Einschränkung gegenüber XPG4 Version 2:
Wenn die Umgebung (externe Variable environ
) durch putenv()
neu eingerichtet wird, ist als Dateisystem das DVS voreingestellt. Der Anwender muss PROGRAM-ENVIRONMENT
explizit auf SHELL
setzen (siehe Abschnitt "Wahl der Funktionalität" und die Handbücher „C-Compiler“ [3] und „C/C++-Compiler“ [4]).
Weitere Detail-Einschränkungen sind in den Funktionsbeschreibungen ausgewiesen.