Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

gencat - Binär codierten Meldungskatalog erzeugen

&pagelevel(4)&pagelevel

(generate a formatted message catalogue)


Das Kommando gencat schreibt den Inhalt einer Meldungstext-Datei in einen binär codierten Meldungskatalog.
Wenn der Meldungskatalog noch nicht existiert, wird er neu erstellt. Wenn der Meldungskatalog bereits existiert, werden die darin enthaltenen Meldungen in den neuen Meldungskatalog mit eingebunden. Wenn die Mengen- und Meldungsnummern von aktuellen und neudefinierten Meldungstexten übereinstimmen, dann ersetzt gencat die aktuell im Meldungskatalog stehenden Meldungstexte durch die in der Meldungstext-Datei definierten neuen Meldungstexte.

Mit gencat erzeugte Meldungskataloge sind binär codiert, d.h., dass zwischen verschiedenen Maschinentypen keine Kompatibilität garantiert werden kann. Genau wie C-Programme für jeden Maschinentyp neu übersetzt werden müssen, müssen die Meldungskataloge mit gencat neu erstellt werden.

Eine Meldungstext-Datei kann einfache Meldungsnummern oder zweistufige Meldungsnummern enthalten. Zweistufige bestehen aus der Meldungsnummer und einer Mengennummer. Bei einfachen Meldungsnummern wird standardmäßig NL_SETD für die Mengennummern verwendet.


Syntax


gencat[ -lm] catfile[ msgfile...]

-l

Falls catfile bereits existiert, werden Informationen über die dort vorhandenen Meldungen auf die Standard-Ausgabe ausgegeben. Die Ausgabe hat folgendes Format: 


SET mengennr, MESSAGE meldungsnr, OFFSET offset, LENGTH meldungslänge 
meldungstext
*


offset gibt den Abstand des Meldungstextbeginns vom Anfang an, d.h.

  • erste Meldung: offset(1)=0

  • i-te Meldung: offset(i)=offset(i-1)+meldungslänge(i)

-m

Mit der Option -m kann X/Open-konform gearbeitet werden.

Aus Kompatibilitätsgründen zu früheren Versionen von gencat, die in einer Reihe von speziellen internationalisierten Produkten veröffentlicht wurden, wird die Option -m zur Verfügung gestellt. Sie bewirkt, dass gencat eine einzige Datei catfile erzeugt, die mit den Formatkatalogen, die von den früheren Versionen erstellt wurden, kompatibel ist. Die Suchroutinen finden heraus, um welchen Katalogtyp es sich handelt, und agieren dementsprechend.

Das Verhalten der Option -m ist die Voreinstellung, sie braucht nicht explizit eingeschaltet zu werden.

Keine Option angegeben

gencat verhält sich, wie bei der Option -m beschrieben.

catfile

Name des binär codierten Meldungskatalogs, den gencat aus der Meldungstext-Datei msgfile erzeugen soll.

Wenn Sie für catfile einen Bindestrich - angeben, schreibt gencat auf die Standard-Ausgabe.

msgfile

Name der Meldungstext-Datei, aus der gencat einen binär codierten Meldungskatalog erzeugt. Wenn Sie für msgfile einen Bindestrich - angeben, liest gencat von der Standard-Eingabe.

Sie können auch mehrere Meldungsquelldateien angeben.

Format eines Meldungskatalogs

Ein von gencat mit der Option -m erzeugter Meldungskatalog enthält die folgenden Strukturen in der angegebenen Reihenfolge:

  • den Katalog-Kopf CAT_HDR, bestehend aus:

    • der Dateiformatkennung (magic number)

    • der Anzahl der Mengen (set) in der Meldungsdatei

    • dem Platz (in Byte), den die Datei zum Laden benötigt, die Länge des Dateikopfs nicht mitgerechnet

    • der Position, an der die Meldungsköpfe beginnen, die Länge des Dateikopfs nicht mitgerechnet

    • der Position, an der die Meldungstexte beginnen, die Länge des Dateikopfs nicht mitgerechnet

  • einen Mengenkopf CAT_SET_HDR für jede vorhandene Menge (set), bestehend aus:

    • der Mengennummer

    • der Anzahl der Meldungen in der Menge

    • dem Start-Offset in der Tabelle

  • einen Meldungskopf CAT_MSG_HDR für jede vorhandene Meldung, bestehend aus:

    • der Meldungsnummer

    • der Länge der Meldung in Byte

    • dem Meldungs-Offset in der Tabelle

  • die einzelnen Meldungstexte, die durch \0 voneinander getrennt sind.

Internationale Umgebung

Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos gencat:

LANG

Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden.

LC_ALL

Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen.

LC_CTYPE

Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten und Eingabedateien) sowie die Einteilung der Zeichen in Groß- und Kleinbuchstaben und deren Übereinstimmung.

LC_MESSAGES

Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden.

NLSPATH

Legt den Pfad der Meldungsdateien für LC_MESSAGES fest.

Beispiel

Erzeugen des binär codierten Meldungskatalogs de_wc.cat aus der Meldungstext-Datei de_wc.msf für das Kommando wc.

Die Meldungstext-Datei hat folgenden Inhalt:

1 wc: %s kann nicht geoeffnet werden \n
2 gesamt \n
3 Syntax: wc[ -c| -m][ -lw][ datei...] \n

Mit folgendem Aufruf wird der Meldungskatalog erzeugt:

$ gencat de_wc.cat de_wc.msf

Siehe auch

iconv

catopen(), catgets(), catclose(), limit.h, nl_types.h [4]