Materialize Authorized Users (MATAUU)


Op Code (Hex) Operand 1 Operand 2 Operand 3
0143 Receiver System object Materialization options

Operand 1: Space pointer.

Operand 2: System pointer.

Operand 3: Character(1) scalar.

Bound program access

Built-in number for MATAUU is 61. MATAUU ( receiver : address system_object : address of system pointer materialization_options : address )

Description

The instruction materializes the authorization states and the identification of the user profile(s). The materialization options (operand 3) for the system object (operand 2) are returned in the receiver (operand 1). The materialization options for operand 3 have the following format:

Value (Hex) Meaning
11 Materialize public authority.
12 Materialize public authority and number of privately authorized profiles.
21 Materialize identification of owning profile using short description entry format.
22 Materialize identification of privately authorized profiles using short description entry format.
23 Materialize identification of owning and privately authorized profiles using short description entry format.
24 Materialize identification of primary group profile using short description entry format.
25 Materialize identification of owning profile and primary group profile using short description entry format.
26 Materialize identification of privately authorized profiles and primary group profile using short description entry format.
27 Materialize identification of owning profile, primary group profile, and privately authorized profiles using short description entry format.
31 Materialize identification of owning profile using long description entry format.
32 Materialize identification of privately authorized profiles using long description entry format.
33 Materialize identification of owning and privately authorized profiles using long description entry format.
34 Materialize identification of primary group profile using long description entry format.
35 Materialize identification of owning profile and primary group profile using long description entry format.
36 Materialize identification of privately authorized profiles and primary group profile using long description entry format.
37 Materialize identification of owning profile, primary group profile, and privately authorized profiles using long description entry format.

Any value used for the materialization options may be bit-wise OR'd with value hex 80 to specify that an extended template should be used for the receiver (operand 1).

The order of materialization is an entry for the owning user profile, an entry for the primary group profile, followed by a list (0 to n entries) of entries for user profiles having private authorization to the object (as specified in the materialization options operand). The authorization field within the system pointers will not be set.

If the primary group profile for the object is not set (there is no primary group for the object), and the primary group profile is requested by the materialization options operand, the entry for the primary group profile will be set to binary 0.

The template identified by operand 1 must be 16-byte aligned in the space and has the following format:

Offset
Dec Hex
Field Name
Data Type and Length
0 0
Materialization size specification
Char(8)
0 0
Number of bytes provided for materialization
Bin(4)
4 4
Number of bytes available for materialization
Bin(4)
8 8
Public authorization
Char(2)



(1 = authorized)


8 8
Object control
Bit 0
8 8
Object management
Bit 1
8 8
Authorized pointer
Bit 2
8 8
Space authority
Bit 3
8 8
Retrieve
Bit 4
8 8
Insert
Bit 5
8 8
Delete
Bit 6
8 8
Update
Bit 7
8 8
Reserved (binary 0)
Bit 8
8 8
Excluded
Bit 9
8 8
Authority list management
Bit 10
8 8
Execute
Bit 11
8 8
Alter
Bit 12
8 8
Reference
Bit 13
8 8
Reserved (binary 0)
Bits 14-15
10 A
Number of privately authorized user profiles
Bin(2)
12 C
Reserved (binary 0)
Char(4)
16 10
--- End ---

If the extended template is specified in operand 3, then the extended template is defined starting at offset 16 of the operand 1 template. The extended template is defined as follows:

Offset
Dec Hex
Field Name
Data Type and Length
16 10
Number of profiles
UBin(4)
20 14
Reserved (binary 0)
Char(28)
48 30
--- End ---

The first 4 bytes of the materialization identify the total number of bytes provided for use by the instruction. This value is supplied as input to the instruction and is not modified by the instruction. A value of less than 8 causes the materialization length invalid  (hex 3803) exception.

The second 4 bytes of the materialization identify the total number of bytes available to be materialized. The instruction materializes as many bytes as can be contained in the area specified as the receiver. If the byte area identified by the receiver is greater than that required to contain the information requested, then the excess bytes are unchanged. No exceptions (other than the materialization length invalid  (hex 3803) exception) are signaled in the event that the receiver contains insufficient area for the materialization.

The number of privately authorized user profiles field in the operand 1 template and the number of profiles field in the extended template both describe the number of user profiles who have a private authorization to the object. When the number of user profiles with a private authorization to the object exceeds 32,767, the number of privately authorized user profiles field in the operand 1 template becomes inaccurate, and the number of profiles field in the extended template should be used instead.

If no description is requested by the materialization options field, the template identified by operand 1 constitutes the information available for materialization. If a description (short or long) is requested by the materialization options field, a description entry is present (assuming there is a sufficient sized receiver) for each user profile materialized or available to be materialized into the receiver. Either of the following entry types may be selected.

Offset
Dec Hex
Field Name
Data Type and Length
0 0
Short description entry
Char(32)
0 0
User profile type code
Char(1)
1 1
User profile subtype code
Char(1)
2 2
Private authorization
Char(2)



(1 = authorized)


2 2
Object control
Bit 0
2 2
Object management
Bit 1
2 2
Authorized pointer
Bit 2
2 2
Space authority
Bit 3
2 2
Retrieve
Bit 4
2 2
Insert
Bit 5
2 2
Delete
Bit 6
2 2
Update
Bit 7
2 2
Ownership (1 = yes)
Bit 8
2 2
Excluded
Bit 9
2 2
Authority list management
Bit 10
2 2
Execute
Bit 11
2 2
Alter
Bit 12
2 2
Reference
Bit 13
2 2
Reserved (binary 0)
Bits 14-15
4 4
Reserved (binary 0)
Char(12)
16 10
User profile
System pointer
32 20
--- End ---


Offset
Dec Hex
Field Name
Data Type and Length
0 0
Long description entry
Char(64)
0 0
User profile type code
Char(1)
1 1
User profile subtype code
Char(1)
2 2
User profile name
Char(30)
32 20
Private authorization
Char(2)



(1 = authorized)


32 20
Object control
Bit 0
32 20
Object management
Bit 1
32 20
Authorized pointer
Bit 2
32 20
Space authority
Bit 3
32 20
Retrieve
Bit 4
32 20
Insert
Bit 5
32 20
Delete
Bit 6
32 20
Update
Bit 7
32 20
Ownership (1 = yes)
Bit 8
32 20
Excluded
Bit 9
32 20
Authority list management
Bit 10
32 20
Execute
Bit 11
32 20
Alter
Bit 12
32 20
Reference
Bit 13
32 20
Reserved (binary 0)
Bits 14-15
34 22
Reserved (binary 0)
Char(14)
48 30
User profile
System pointer
64 40
--- End ---

start of change If this instruction references a temporary object that is not owned, all public authority states are materialized. The privately authorized user, primary group, and owner profile(s) descriptions are not applicable to these objects and are not materialized (binary 0).end of change

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

2E Resource Control Limit

32 Scalar Specification

36 Space Management

38 Template Specification

44 Protection Violation