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 |
---|
|
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 --- |
|
|
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