The CLIGET macro enables a program to query whether protection is required against implicit interruptions.
CLIGET returns the setting of the INTERRUPT-ALLOWED operand, as specified in the SET-PROCEDURE-OPTIONS, MODIFY-PROCEDURE-OPTIONS or BEGIN-PROCEDURE commands.
For further details, refer to section “Uninterruptibility”.
Operation | Operands |
CLIGET | MF = E ,PARAM = <string 1..8> / (integer 1..15) |
MF = D [,PREFIX = C / prefix] | |
MF = C [,PREFIX = C / prefix] [,MACID = LIS / macid] | |
MF = L |
Operands
MF = E
Execute format of the macro call; generates an SVC.
PARAM
Specifies the address of the operand list to be evaluated for the macro call (address of the macro call with MF = L).
= <string 1..8>
Specifies the symbolic address of the operand list.
= (<integer 1..15>)
Specifies the register which contains the address of the operand list.
MF = D
DSECT format of the macro call; generates a DSECT for the operand list. The names which are generated begin with the letter C; they can be changed using PREFIX.
PREFIX = C / prefix
Defines the first character of the names which are generated.
Default: the generated names begin with the letter C. This letter can be changed by means of the PREFIX parameter.
MF = C
C format of the macro call; generates an operand list, whose symbolic names begin with the string CLIG. These can be changed using PREFIX and MACID.
PREFIX = C / prefix
Defines the first character of the names which are generated.
Default: the generated names begin with the letter C. This letter can be changed by means of the PREFIX parameter.
MACID = LIG / macid
A string, up to three characters long, which replaces characters 2 to 4 of the generated name. Default: LIG
MF = L
LIST format of the macro call; generates the operand list for the macro call with MF = E (Execute format); the macro call must be addressable by means of a symbolic address.
Output parameters
The output parameters are returned in the prescribed fields in the operand list. If replacement is carried out, the calling program must use the corresponding names in reading the operand list.
&P.INTA=INTERRUPT-ALLOWED
One-byte long field in which the procedure option “INTERRUPT-ALLOWED” is returned by the macro.
&P.INTN means NO, i.e. INTERRUPT-ALLOWED = *NO: the program must be protected against any implicit interruption.
&P.INTY means YES, i.e. INTERRUPT-ALLOWED = *YES: the program must not be protected against an implicit interruption.
Note
For &P.INTN
- is rejected if K2-STXIT is not activated.
//EXECUTE-SYSTEM-CMD and //HOLD-PROGRAM are rejected if SYSSTMT is not equal to SYSCMD (i.e. either a data terminal or a file or other).
Every other action affecting security (CMD, BKPT, K2-STXIT or SVC etc.) is the responsibility of the calling program. I.e. the program must not activate these macros and cause an interruption if these actions are requested by the end user.
Return codes
The table below lists the return codes in hexadecimal form. User program registers are unchanged.
Subcode2 | Subcode1 | Maincode | Meaning |
00 | 00 | 0000 | Macro call was successful; no error |
00 | 01 | 0001 | Parameter error; parameter too short |
00 | 20 | 0004 | System error |
00 | 01 | FFFF | Unknown unit or function number |
00 | 02 | FFFF | Function not available |
00 | 03 | FFFF | Wrong version of the operand list |