Der Benutzer kann eigene Lokalitäten definieren.
Dazu stellt die Bibliothek $.SYSLNK.CRTE
zwei Quellprogrammelemente (Typ S) mit den Namen USLOCC
und USLOCA
bereit. USLOCC
ist ein C-Quellprogramm, USLOCA
ist ein Assembler-Quellprogramm. Die beiden Quellprogramme sind für die Erzeugung von benutzerspezifischen Lokalitäten gleichwertig.
Die Quellprogramme legen die Daten für die einzelnen Lokalitätskategorien fest und sind mit den Daten der POSIX-Lokalität vorbelegt (siehe Abschnitt "POSIX- oder C-Lokalität“). Diese Daten können auf die gewünschten Werte geändert werden.
Außerdem sind in den Quellprogrammen folgende Änderungen vorzunehmen:
In den Quellprogrammen ist eine Adresstabelle mit dem Namen
USERLOC
definiert. Dieser Name muss auf einen vom Benutzer festzulegenden Namen geändert werden. Dieser Name muss ein gültiger Entryname sein.Im C-Quellprogramm braucht dazu nur der Name
USERLOC
mit einer#define
-Anweisung modifiziert zu werden. Im Assembler-Quellprogramm muss der NameUSERLOC
in der Definitionszeile der Tabelle und in derENTRY
-Anweisung modifiziert werden.Der vom Benutzer modifizierte Name wird beim Aufruf von
setlocale()
als locale-Argument zur Kennzeichung der benutzerspezifischen Lokalität verwendet.
Die modifizierten Quellprogramme können mit dem C/C++-Compiler bzw. mit dem Assembler (auch ASSGEN
) übersetzt werden. Wird das Modul nicht in der Bibliothek $.SYS
LNK.CRTE
, sondern in einer anderen PLAM-Bibliothek abgelegt, muss diese Bibliothek vor Start des C-Programms mit folgendem ADD-FILE-LINK
-Kommando zugewiesen werden:
/ADD-FILE-LINK LINK-NAME=IC@LOCAL,FILE-NAME=
bibliothek