Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

ETABIT - Eintrag für Symboltabelle erzeugen oder ändern

&pagelevel(3)&pagelevel

Allgemeines

Anwendungsgebiet:

Binden und Laden; siehe "Binden und Laden"

Makrotyp:

S-Typ, MF-Format 2: Standardform/C-/D-/L-/M-Form;
siehe "S-Typ-Makroaufrufe"


Zum dynamischen Bindelader DBL siehe auch Handbuch „BLSSERV“ [4].

Makrobeschreibung

Der Makroaufruf ETABIT erzeugt einen Eintrag für eine Symboltabelle, die beim Makroaufruf ETABLE an den DBL übergeben wird.

Makroaufrufformat und Operandenbeschreibung

ETABIT

MF=D / C / L / M

,AMODE=*NOT-SPECIFIED / *31 / *24 / *ANY

,HSI_CODE=*BY-SYSTEM / *390 / *RISC / *SPARC / *X86E 1

,INVISIBLE=*NOT-SPECIFIED / *NO / *YES

,LEN=0 / <integer 0..2147473647>

,LOAD_ADDR=NULL-1 / <var: pointer>

,PAGE_ALIGNED=*NOT-SPECIFIED / *NO / *YES

,PRIVILEGED=*NOT-SPECIFIED / *NO / *YES

,PUBLIC=*NOT-SPECIFIED / *NO / *YES

,READ_ONLY=*NOT-SPECIFIED / *NO / *YES

,RESIDENT=*NOT-SPECIFIED / *NO / *YES

,SYMBOL_NAME= ' '/ <c-string 1..32> / <var: char 1..32>

,SYMBOL_TYPE=*NOT-SPECIFIED / *CSECT / *ENTRY / *COMMON

,PARAM=<var: pointer> / (reg: pointer>)

,PREFIX=P / p

,MACID=BET / macid

1Die Operandenwerte *RISC und *SPARC sind seit BS2000/OSD-BC V9.0 bedeutungslos

Der Wert *NOT-SPECIFIED führt beim Erzeugen eines Eintrags dazu, dass die Attribute des Symbols mit 'FALSE' initialisiert werden.

In der nachfolgenden Operandenbeschreibung sind die Operanden alphabetisch geordnet.

AMODE=*NOT-SPECIFIED / *31 / *24 / *ANY
Wert des Attributes AMODE

HSI_CODE=*BY-SYSTEM / *390 / *X86E
Anzugeben ist der Code-Typ, auf den das Symbol verweist (*390, *X86E). Default-Wert ist der Typ des Servers, auf der das Benutzerprogramm abläuft. Es sollte jedoch immer der richtige HSI-Code eingetragen werden, damit es nicht zur unerwünschten und eventuell falschen Aktualisierung beim Makroaufruf ETABLE ACTION=*UPDATE kommt.

INVISIBLE=*NOT-SPECIFIED / *NO / *YES
Wert des Attributes INVISIBLE

LEN=0 / <integer 0..2147483647>
Länge des Elements.
Für CSECTs und COMMON-Bereiche muss LEN größer als 0 sein.
Für ENTRYs muss LEN gleich 0 sein.

LOAD_ADDR=NULL-1 / <var: pointer>
Ladeadresse des Symbols.

MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. angegebenen Operanden PARAM, PREFIX und MACID siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.

Bei der C-Form, D-Form oder M-Form des Makroaufrufs kann ein Präfix PREFIX und bei der C-Form oder M-Form zusätzlich eine Macid MACID angegeben werden (siehe AAbschnitt „S-Typ-Makroaufrufe“).

PAGE_ALIGNED=*NOT-SPECIFIED / *NO / *YES
Wert des Attributes PAGE_ALIGNED

PRIVILEGED=*NOT-SPECIFIED / *NO / *YES
Wert des Attributes PRIVILEGED

PUBLIC=*NOT-SPECIFIED / *NO / *YES
Wert des Attributes PUBLIC

READ_ONLY=*NOT-SPECIFIED / *NO / *YES
Wert des Attributes READ_ONLY

RESIDENT=*NOT-SPECIFIED / *NO / *YES
Wert des Attributes RESIDENT

SYMBOL_NAME=' ' / <c-string 1..32> / <var: char 1..32>
Name des Symbols

SYMBOL_TYPE=*NOT-SPECIFIED / *CSECT / *ENTRY / *COMMON
Symboltyp, der in die Symboltabelle eingetragen wird.

Hinweise zum Makroaufruf

  • Wird der Parameter HSI_CODE nicht angegeben, so gilt für ihn der Default-Wert *BY-SYSTEM. Wenn dann der Makro ETABLE mit ACTION=*UPDATE aufgerufen wird, kann es in manchen Fällen zu einer unerwünschten Aktualisierung des HSI-Codes kommen. Um das zu verhindern, sollte der HSI-Code des Symbols immer angegeben werden.

  • Für den Makroaufruf ETABIT gelten zudem die Hinweise, die beim Makro ETABLE beschrieben sind. Das Layout eines Tabelleneintrags ist ebenfalls dort beschrieben.

Rückinformation und Fehleranzeigen

Standardheader:

+---------------+
|   |   |   |   |
|c|c|b|b|a|a|a|a|
+---------------+

Über die Ausführung des Makros ETABIT wird im Standardheader folgender Returncode übergeben (cc=Subcode2, bb=Subcode1, aaaa=Maincode):

X'cc'

X'bb'

X'aaaa'

Erläuterung

X'00'

X'00'

X'0000'

Der Makro wurde normal ausgeführt.

X'01'

X'00'

X'0000'

Dasselbe ETABLE-Symbol existiert bereits.

X'60'

X'01'

X'0006'

Fehler beim Adressierungsmodus.

X'60'

X'01'

X'0007'

Ungültige Längenangabe.

X'60'

X'01'

X'0009'

Ungültiger Attributwert.

X'60'

X'01'

X'000B'

Ungültiger Wert bei HSI.

X'60'

X'01'

X'000C'

Der Symboltabelleneintrag für ETABLE ist ungültig.

X'60'

X'01'

X'000D'

SYMBOL-TYPE wurde beim Erzeugen des Eintrags nicht angegeben.

X'60'

X'01'

X'002C'

Ungültiger Symbolname.

X'60'

X'01'

X'0060'

Symbol nicht gefunden.

X'60'

X'01'

X'0130'

Ungültiger Operand LOAD_ADDR.

X'60'

X'01'

X'0150'

Fehler bei Symboltyp.

X'60'

X'01'

X'0151'

Ein mit ETABLE generiertes Symbol mit diesem Namen existiert bereits.

X'60'

X'01'

X'0152'

Ein nicht mit ETABLE generiertes Symbol mit diesem Namen existiert
bereits, und die gewünschte Aktion ist für ein solches Symbol nicht
erlaubt (siehe "ETABLE - Ladeinformation übergeben").

X'00'

X'01'

X'FFFF'

Die Funktion wird nicht mehr oder noch nicht unterstützt.

X'00'

X'03'

X'FFFF'

Die Version der Schnittstelle wird nicht unterstützt.

Weitere Returncodes, deren Bedeutung durch Konvention makroübergreifend festgelegt ist, können der Tabelle „Standard-Returncodes“ (Standardheader) entnommen werden.