Test Extended Authorities (TESTEAU)


Op Code (Hex) Extender Operand 1 Operand 2 Operand 3 Operand [4-5]
TESTEAU 10FB
Available authority template receiver Required authority template Relative invocation


TESTEAUB 1CFB Branch options Available authority template receiver Required authority template Relative invocation Branch targets


TESTEAUI 18FB Indicator options Available authority template receiver Required authority template Relative invocation Indicator targets
Operand 1: Character(8) variable scalar or null.

Operand 2: Character(8) scalar.

Operand 3: Binary(2) variable scalar or constant or null.

Operand 4-5:

Bound program access

Built-in number for TESTEAU is 64. TESTEAU ( available_authority_template_receiver : address OR null operand required_authority_template : address relative_invocation : address of signed binary(2) OR null operand ) : signed binary(4) /* return_code */

The return code will be set as follows:

Return code

Meaning

1

Authorized.

0

Not Authorized.

This built-in function is used to provide support for the branch and indicator forms of the TESTEAU operation. The user must specify code to process the return code and perform the desired branching or indicator setting.

Description

This instruction verifies that the privileged instructions and special authorities specified by operand 2 are currently available to the thread.

If operand 1 is not null, all of the privileged instructions and special authorities specified by operand 2 that are currently available to the thread are returned in operand 1.

Note: The term authority verification refers to the testing of the required privileged instruction and special authorities.

If operand 3 is null, the authority verification is performed relative to the invocation executing this instruction. If an operand 3 is specified, the authority verification is performed relative to the invocation specified. Specifying an invocation causes the invocations subsequent to it to be bypassed in the authority verification process. This has the influence of excluding the program adopted user profiles for any of these excluded invocations from acting as a source of authority to the authority verification process.

The required privileged instructions and special authorities are specified by the required authority template of operand 2.

If the required authority is available, one of the following occurs:

If no branch options are specified, instruction execution proceeds to the next instruction. If operand 1 is null and neither the branch or indicator form is used, an invalid operand type exception is signaled.

The format for the available authority template receiver (operand 1) is as follows: (1 = authorized)

Offset
Dec Hex
Field Name
Data Type and Length
0 0
Authority template
Char(8)
0 0
Privileged instruction template
Char(4)
0 0
Create Logical Unit Description
Bit 0
0 0
Create Network Description
Bit 1
0 0
Create Controller Description
Bit 2
0 0
Create user profile
Bit 3
0 0
Modify user profile
Bit 4
0 0
Diagnose
Bit 5
0 0
Terminate machine processing
Bit 6
0 0
Initiate process
Bit 7
0 0
Modify Resource Management Control
Bit 8
0 0
Create Mode Description
Bit 9
0 0
Create Class of Service Description
Bit 10
0 0
Reserved (binary 0)
Bits 11-31
4 4
Special authority template
Char(4)
4 4
All object
Bit 0
4 4
Load (unrestricted)
Bit 1
4 4
Dump (unrestricted)
Bit 2
4 4
Suspend (unrestricted)
Bit 3
4 4
Load (restricted)
Bit 4
4 4
Dump (restricted)
Bit 5
4 4
Suspend (restricted)
Bit 6
4 4
Process control
Bit 7
4 4
Reserved (binary 0)
Bit 8
4 4
Service
Bit 9
4 4
Auditor authority
Bit 10
4 4
Spool control
Bit 11
4 4
I/O system configuration
Bit 12
4 4
Reserved (binary 0)
Bits 13-23
4 4
Modify machine attributes
Bits 24-31
4 4
Group 2
Bit 24
4 4
Group 3
Bit 25
4 4
Group 4
Bit 26
4 4
Group 5
Bit 27
4 4
Group 6
Bit 28
4 4
Group 7
Bit 29
4 4
Group 8
Bit 30
4 4
Group 9
Bit 31
8 8
--- End ---

The format for the required authority template (operand 2) is as follows: (1 = authorized)

Offset
Dec Hex
Field Name
Data Type and Length
0 0
Required authority
Char(8)
0 0
Privileged instruction template
Char(4)
0 0
Create Logical Unit Description
Bit 0
0 0
Create Network Description
Bit 1
0 0
Create Controller Description
Bit 2
0 0
Create user profile
Bit 3
0 0
Modify user profile
Bit 4
0 0
Diagnose
Bit 5
0 0
Terminate machine processing
Bit 6
0 0
Initiate process
Bit 7
0 0
Modify Resource Management Control
Bit 8
0 0
Create Mode Description
Bit 9
0 0
Create Class of Service Description
Bit 10
0 0
Reserved (binary 0)
Bits 11-31
4 4
Special authority template
Char(4)
4 4
All object
Bit 0
4 4
Load (unrestricted)
Bit 1
4 4
Dump (unrestricted)
Bit 2
4 4
Suspend (unrestricted)
Bit 3
4 4
Load (restricted)
Bit 4
4 4
Dump (restricted)
Bit 5
4 4
Suspend (restricted)
Bit 6
4 4
Process control
Bit 7
4 4
Reserved (binary 0)
Bit 8
4 4
Service
Bit 9
4 4
Auditor authority
Bit 10
4 4
Spool control
Bit 11
4 4
I/O system configuration - DAC
Bit 12
4 4
Reserved (binary 0)
Bits 13-23
4 4
Modify machine attributes
Bits 24-31
4 4
Group 2
Bit 24
4 4
Group 3
Bit 25
4 4
Group 4
Bit 26
4 4
Group 5
Bit 27
4 4
Group 6
Bit 28
4 4
Group 7
Bit 29
4 4
Group 8
Bit 30
4 4
Group 9
Bit 31
8 8
--- End ---

The relative invocation operand (operand 3) identifies an invocation relative to the current invocation at which the authority verification is to be performed. The value of the relative invocation operand must be less than or equal to zero. A value of zero identifies the current invocation, -1 identifies the prior invocation, -2, the invocation prior to that, and so on. A value larger than the number of invocations currently on the invocation stack or a positive value results in the signaling of the scalar value invalid  (hex 3203) exception.

An immediate value is not allowed for operand 3.

The program adopted and propagated user profiles for the identified invocation and older invocations will be included in the authority verification process. Program adopted user profiles for invocations newer than the identified invocation will not be included in the authority verification process. If the current invocation is specified, its program adopted user profile is included whether or not it is to be propagated.

Damaged user profiles encountered during the authority verification processing result in the signaling of the authority verification terminated due to damaged object  (hex 1005) exception

Resultant Conditions

Authorization Required

Lock Enforcement

Exceptions

06 Addressing

08 Argument/Parameter

0A Authorization

10 Damage Encountered

1A Lock State

1C Machine-Dependent

20 Machine Support

22 Object Access

24 Pointer Specification

2C Program Execution

2E Resource Control Limit

32 Scalar Specification

36 Space Management

38 Template Specification

44 Protection Violation