Die C-Programmschnittstelle bietet dieselbe Funktionalität wie die Assemblerschnittstelle.
Für jeden Makro existieren in der Bibliothek SYSLIB.IMON-SIC.<version> entsprechende Headerdateien (imokit.h, imokia.h und imokis.h). Bei Aufruf einer Makro-Funktion über die C-Programmschnittstelle wird die entsprechende Header-Datei erwendet.
Jede Header-Datei enthält:
die Deklaration der C-Funktionen, die für IMON-SIC nötig sind
die Deklaration der Parameterliste und die Rückgabeinformationen für die C-Funktionen
interne Typen und Konstantendefinitionen
Im Gegensatz zur Assemblerschnittstelle muss der Benutzer der C-Schnittstelle vor dem Aufruf der entsprechenden Funktion die Parameterliste selbst versorgen.
Soll kein optionaler Operand vereinbart werden, muss das entsprechende Feld der Parameterliste mit Leerzeichen oder mit binär Null gefüllt werden.
Nachfolgend ist der prinzipielle Aufruf der C-Funktionen beschrieben. Anschließend werden die C-Funktionen, getrennt nach den entsprechenden Makroaufrufen, mit Aufrufparametern und Parameterliste beschrieben.
Aufruf der C-Funktionen
Die C-Funktionen werden nach folgendem Schema aufgerufen:
#define <makro>PLVERSION —————————————————————————————————————————— (1) #define <makro_fkt> —————————————————————————————————————————— (2) void SIIENTR(struct <makro>_pl *); ————————————————————————————————— (3)
(1) | Symbolische Konstante für die Version der Parameterliste setzen. |
(2) | Symbolische Konstante für die aufzurufende Makro-Funktion in der Parameterliste setzen. |
(3) | Funktionsaufruf mit der entsprechenden Parameterliste. Vor dem Funktionaufruf müssen ggf. weitere Eingabeparameter über die Parameterliste versorgt werden. Diese sind bei der Funktionsbeschreibung aufgelistet. |
Bedeutung
<makro> bezeichnet den entsprechenden Makroaufruf, der die Funktion zur Verfügung stellt. Mögliche Werte sind imokit, imokia und imokis.
<makro>_pl bezeichnet die Parameterliste, die in der Header-Datei für diesen Makroaufruf definiert ist (z.B. IMOKIT_pl für Funktionen des Makros IMOKIT).
<makro_fkt> bezeichnet eine der folgenden Makro-Funktionen:Der Funktionsaufruf
<makro_fkt> | Funktion des Makros | Bedeutung |
IMOKIT_OPEN | SIIOPEN | SYSSII-Datei öffnen |
IMOKIT_READ | SIIREAD | Informationen aus der SYSSII-Datei lesen |
IMOKIT_CLOSE | SIICLOSE | SYSSII-Datei schließen |
IMOKIA_RCOM | SIIRCOM | Kommentare zu Release-Unit bzw. Release-Item aus der SYSSII-Datei lesen |
IMOKIA_RDEP | SIIRDEP | Alte Abhängigkeiten der Release-Unit aus der SYSSII-Datei lesen |
IMOKIA_RKON | SIIRKON | Neue Abhängigkeiten der Release-Unit aus der SYSSII-Datei lesen |
IMOKIA_RPAR | SIIRPAR | Parametertexte eines Release-Items aus der SYSSII-Datei lesen |
IMOKIS_SHOW | SIISHOW | Inhalt SYSSII-Datei anzeigen |
verwendet folgenden Standard-Header:
struct std_hdr_t { short unit ; char function; char version; char subcode2; char subcode1; short maincode; };
Hinweise
Interne Datenfelder (z.B. der File Descriptor sii_fd) sind für weitere Funktionsaufrufe vorbereitet und dürfen nicht gelöscht oder überschrieben werden.
Bei expliziter Eingabe von Zeichenfolgen in die Parameterliste (z.B. SYSSII-Dateiname) muss als Endekennzeichen mindestens ein Leerzeichen (X’40’) oder X’00’ an das Ende der gültigen Zeichenfolge angefügt werden.
Für die Ausgabe von Zeichenfolgen in die Parameterliste (z.B. Unit-Name) ist bei den Makro-Funktionen IMOKIT_OPEN, IMOKIT_READ, IMOKIA_RCOM, IMOKIA_RDEP, IMOKIA_RKON und IMOKIA_RPAR als Endekennzeichen X’00’ voreingestellt. Als Endekennzeichen kann in der jeweiligen Parameterlisten (IMOKIT_pl bzw. IMOKIA_pl) in der Variablen delimiter explizit ein Leerzeichen (X’40’) vereinbart werden.