The CLISET macro explicitly protects programs against interruptions.
For further details, refer to section “Uninterruptibility”..
Operation | Operands |
CLISET | MF = E ,PARAM = <name 1..8> / (integer 1..15) |
MF = D [,PREFIX = C / prefix] | |
MF = C [,PREFIX = C / prefix] [,MACID = LIS / macid] | |
MF = L [,EXNINT = *U / *Y/ *N] |
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 specifying “prefix”.
MF = C
C format of the macro call; generates an operand list, whose symbolic names begin with the string CLIS. 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 specifying prefix.
MACID = LIS / macid
A string, up to three characters long, which replaces characters 2 to 4 of the generated name. Default: LIS
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.
EXNINT
This option is used to set the explicitly uninterruptible mode for a program.
= *U
The previous setting is left unchanged. When the first call is made, the value *N will be assumed here.
= *Y
The program is explicitly protected against interruptions.
= *N
The program is not explicitly protected against interruptions.
Notes
The EXNINT option cannot be stacked when CLISET is called several times.
EXNINT =*U is a dummy operand setting. It issues no information in SDF-P and also initiates no return codes except for “No error”.
EXNINT=*Y effects the following system changes:
K2 is rejected if K2-STXIT is not activated.
//EXECUTE-SYSTEM-CMD is rejected
Statement and command HOLD-PROGRAM causes EOF to be returned
Every other action affecting security (CMD, BKPT, K2-STXIT or SVC etc.) is the responsibility of the calling program.
Return codes
The table below lists the return codes in hexadecimal notation. User program registers are unchanged.
Subcode2 | Subcode1 | Maincode | Meaning |
01 | 00 | 0000 | No action (EXNINT=*U) |
00 | 00 | 0000 | Macro call was successful; no error |
00 | 01 | 0001 | Parameter error |
01 | 00 | 0002 | EXNINT=*Y already set previously, or EXNINT=*N already set previously |
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 |