General
Application area: | Extended addressing with data spaces; see "Extended addressing with data spaces" |
Macro type: | Type S, MF format 3: C/D/L/M/E form; |
The ALINF macro can be used on all BS2000 servers
(see section “Extended addressing with data spaces”).
Macro description
The ALINF macro tells the caller which ALETs (access list entry tokens) in the caller's taskspecific access list correspond to a particular data space, which is identified uniquely by means of its SPID. If one or more ALETs are associated with a data space, the first of these is returned in the <PREFIX><MACID>ALET
field (with RETURN=FIRST); on each consecutive call of the macro, the next ALET is returned (with RETURN=NEXT). The FROM operand can be used to specify where the search is to start, irrespective of any ALETS already found.
Macro format and description of operands
ALINF |
SPID=spid_addr ,RETURN=FIRST / NEXT[,FROM=alet_addr / (r)] ,MF=C / D / L / M / E [,PARAM=addr / (r)] ,PREFIX=N / p ,MACID=VDI / macid |
SPID=spid_addr
Identifies a data space uniquely throughout the system. The system assigns the SPID on creation of a data space.
spid_addr: Symbolic address (name) of an 8-byte field containing the SPID of the data space.
RETURN=
Specifies which of the ALETS associated with the data space is return in the <PREFIX><MACID>ALET
field.
FIRST
The first ALET found that points to the data space identified by SPID is returned in the output field <PREFIX><MACID>ALET
.
NEXT
The next ALET found is returned. The search starts at the ALET displayed in the output field <PREFIX><MACID>ALET
. This ALET (corresponds to predecessor) is determined either by an ALINF call with RETURN=FIRST or by direct specification in the FROM operand. If the ALET output field does not already contain a predecessor as a result of a previous call and the FROM operand is not specified, the search starts at the next corresponding ALET in any location (any entry in the access list (ALE)).
FROM=
Specifies the ALET at which the search is to begin for the next corresponding ALET. The value is written to the output field <PREFIX><MACID>ALET
and is read by the ALINF macro as an input operand (corresponds to predecessor) if RETURN=NEXT. This operand may be specified only if MF=M.
alet_addr
Symbolic address of the ALET that is to be the predecessor.
(r)
Register containing the address value “addr”.
MF=
For a general description of the MF operand, its operand values and any subsequent operands (e.g. PREFIX, MACID and PARAM), see . 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 "S-type macros").
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”).
Return information and error flags
Standard header:
+---------------+ | | | | | |c|c|b|b|a|a|a|a| +---------------+
A return code relating to the execution of the ALINF macro is transferred in the standard header (cc=Subcode2, bb=Subcode1, aaaa=Maincode)
X'cc' | X'bb' | X'aaaa' | Meaning |
X'00' | X'00' | X'0000' | Function executed successfully. |
X'00' | X'00' | X'0001' | No corresponding ALET found |
X'00' | X'01' | X'0003' | Error in data area |
X'07' | X'01' | X'0003' | Invalid RETURN operand |
X'08' | X'01' | X'0003' | Invalid FROM operand: the operand value does not have ALET format |
X'01' | X'01' | X'0004' | SPID operand missing |
X'20' | X'0009' | Internal error | |
X'01' | X'40' | X'0005' | Incorrect specification of SPID operand:
|
X'02' | X'40' | X'0005' | Incorrect specification of SPID operand: |
Other return codes which, in accordance with conventions, apply to all macros are given in the table “Standard return codes” (Standard header).
For an example see section “Extended addressing with data spaces”.