General
Application area: | Linking and loading; see "Linking and loading" |
Macro type: | Type S, MF format 2: standard/C/D/L/M form; see "S-type macros" |
See also the “BLSSERV” manual [4 (Related publications)] for information on the dynamic binder loader DBL.
Macro description
The ILEMIT macro generates or updates a list entry for an ILE list which is used in the ILEMGT macro.
Macro format and description of operands
ILEMIT |
MF=D / C / L / M ,CONTROL=*NOT-SPECIFIED / *BY-SYSTEM / *BY-USER ,HSI_CODE=*BY-SYSTEM / *390 / *RISC 1 ,ILE_NAME=<c-string 1..32> / <var: char 1..32> ,LOAD_ADDR=NULL-1 / <var: pointer> ,REF_DISPL=0 / <integer 0..65535> ,SERVER_ADDR=NULL-1 / <var: pointer> ,STATE=*NOT-SPECIFIED / *ACTIVE / *NOT-ACTIVE ,PARAM=<var: pointer> / (reg: pointer>) ,PREFIX=P / p] ,MACID=ILT / macid |
1The operand value *RISC has no meaning in BS2000/OSD-BC V9.0 and higher
The operands are described in alphabetical order below.
CONTROL=
Specifies whether ILE is to be controlled by DBL or by the user, i.e. the person editing the IL routine.
*NOT-SPECIFIED
This value is not permitted during generation of a list entry.
*BY-SYSTEM
The DBL generates the standard IL routine.
*BY-USER
There is a user-defined IL routine.
HSI_CODE=
Indicates in which of the servers machine codes the IL routine exists. This operand is mandatory if LOAD_ADDR is specified.
*BY-SYSTEM / *390
The default setting is the server type on which the IL routine is running.
ILE_NAME=<c-string 1..32> / <var: char 1..32>
Name of the ILE symbol.
LOAD_ADDR=NULL-1 / <var: pointer>
Address of the IL routine.
If this operand is specified the HSI_CODE operand must also be specified.
MF=
For a general description of the MF operand, its operand values and any of the specified operands PARAM, PREFIX and MACID, see section “S-type macros”. The valid MF values are given at the start of the macro description under “Macro type” and are included in the macro format.
It is possible to specify a PREFIX in the C form, D form, or M form of the macro, and additionally a MACID in the C form or M form (see section “S-type macros”).
REF_DISPL=0 / <integer 0..65535>
Distance of the server address word within the IL routine.
SERVER_ADDR=NULL-1 / <var: pointer>
Address of the server (only if STATE=ACTIVE is specified).
STATE=
*NOT-SPECIFIED
Indicates whether the ILE server is loaded. This value is not permitted during the generation of a list entry.
*ACTIVE
The server is loaded.
*NOT-ACTIVE
The server is not loaded.
Notes on the macro call
The notes relating to the ILEMGT macro also apply to the ILEMIT macro. The layout of a list entry is also described there.
Return information and error flags
Standard header:
+---------------+ | | | | | |c|c|b|b|a|a|a|a| +---------------+
The following return code relating to the execution of the ILEMIT macro is transferred in the standard header
(cc=subcode2, bb=subcode1, aaaa=main code):
X'cc' | X'bb' | X'aaaa' | Meaning |
X'00' | X'00' | X'0000' | The macro was executed normally. |
X'61' | X'01' | X'000A' | The ILE entry is invalid. |
X'61' | X'01' | X'0012' | ILE not found (if ACTION=*DELETE or |
X'61' | X'01' | X'0013' | ILE already exists (if ACTION=*CREATE is specified). |
X'61' | X'01' | X'0018' | A reserved field does not contain any binary zeros. |
X'61' | X'01' | X'0020' | An invalid value has been set for STATE, CONTROL or HSI_CODE. |
X'61' | X'01' | X'0021' | Requested action cannot be executed with this CONTROL setting. |
X'61' | X'01' | X'0022' | Server address word (REF_DISPL) in the IL is not writable. |
X'61' | X'01' | X'0023' | The user-specific IL routine is not loaded. |
X'61' | X'01' | X'0024' | Operands (STATE or CONTROL) missing from list entry generation. |
X'61' | X'01' | X'002C' | The ILE name is invalid. It must begin with a blank. |
X'61' | X'40' | X'0050' | HSI codes of ILE and ILE server do not match: ILE was not generated. |
X'61' | X'01' | X'0130' | Invalid address (LOAD_ADDR, SERVER_ADDR) in current list entry. |
X'61' | X'40' | X'0194' | Error in validation of a class 6 memory area. |
X'00' | X'01' | X'FFFF' | The function is no longer or not yet supported. |
X'00' | X'03' | X'FFFF' | The interface version is not supported. |
Other return codes which, in accordance with conventions, apply to all macros are given in the table “Standard return codes” (Standard header).