SUBSID (Subsystem Information Display) Macro

With this macro, you can make inquiries about the supervisor.

The information about the supervisor, such as version number, modification number, or some indicators, is described by a byte string, which can be interpreted with the help of the macro MAPSSID.

Format

Read syntax diagramSkip visual syntax diagramnameSUBSID INQUIRY,NAME=name1(S, name1)( r1),AREA=name2(S, name2)( r2),LEN=length( r3),LVLTEST=NO,LVLTEST=YES,MFG=name4( r4)

Requirements for the caller

AMODE:
24 or 31
RMODE:
24 or ANY
ASC Mode:
Primary

Parameters

NAME=name1 | (S,name1) | (r1)
Specifies the address of a 4-byte field containing the name SUPb (where b = blank).
AREA=name2 | (S,name2) | (r2)
Specifies the address of the area into which the requested information is to be stored.
LEN=length | (r3)
Specifies the length of the area as an integer, a self-defining term, or as a value in a register. The length to be specified can be obtained from the DSECT generated by the MAPSSID macro.
LVLTEST=NO | YES
Specify LVLTEST=YES if the program might make the inquiry on a pre-VSE release (DOS/VS) supervisor that does not support the SUBSID function. This prevents the program from being canceled. If you specify LVLTEST=NO an inquiry under these circumstances causes the program to be canceled.
MFG=name4 | (r4)
The operand is required if the program is to be reenterable. It specifies the address of a 64-byte dynamic storage area, that is: storage which your program obtained through a GETVIS macro. This area is required for system use during execution of the macro.

Return Codes in Register 15

0
Information returned.
8
Returned information that is truncated, because the area specified is too short. Register 0 contains the total length in the 2 rightmost bytes.
16
Name not found.
20
SUBSID function not available because this is a back-level supervisor (only if LVLTEST=YES).

Requirements for the caller: