Op Code (Hex) | Operand 1 | Operand 2 | Operand 3 | |
---|---|---|---|---|
01B3 | Receiver | Authority list or Authority list extension | Materialization options |
Operand 2: System pointer or open pointer
Operand 3: Space pointer
Bound program access |
---|
|
Based on the contents of the materialization options specified by operand 3, the symbolic identification and/or system pointers to all, or a selected set, of the objects contained in the authority list or authority list extension specified by operand 2 are materialized into the receiver specified by operand 1.
A space pointer machine object may not be specified for operand 2.
The materialization options operand
should be 16-byte aligned and
has the following format:
Offset | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||||||||||
0 | 0 |
| Materialization control |
| Char(2) | ||||||||||||||||
0 | 0 |
| Information requirements |
| Char(1) | ||||||||||||||||
|
|
|
| ||||||||||||||||||
1 | 1 |
| Selection criteria |
| Char(1) | ||||||||||||||||
|
|
|
| ||||||||||||||||||
2 | 2 |
| Reserved (binary 0) |
| Bin(2) | ||||||||||||||||
4 | 4 |
| Type code |
| Char(1) | ||||||||||||||||
5 | 5 |
| Subtype code |
| Char(1) | ||||||||||||||||
6 | 6 | Number of array elements | UBin(2) | ||||||||||||||||||
8 | 8 | Materialize size value (Bound program) | UBin(8) | ||||||||||||||||||
8 | 8 | Materialize size value (Non-Bound program) | Char(8) | ||||||||||||||||||
16 | 10 | Independent index | System pointer | ||||||||||||||||||
32 | 20 | Array of type/subtype ranges | [*] Char(4) | ||||||||||||||||||
32 | 20 | Starting range | Char(2) | ||||||||||||||||||
32 | 20 | Object type code | Char(1) | ||||||||||||||||||
33 | 21 | Object subtype code | Char(1) | ||||||||||||||||||
34 | 22 | Ending range | Char(2) | ||||||||||||||||||
34 | 22 | Object type code | Char(1) | ||||||||||||||||||
35 | 23 | Object subtype code | Char(1) | ||||||||||||||||||
* | * |
| --- End --- |
|
|
The information requirements field specifies the type of materialization and where materialization data is returned.
The selection criteria field specifies the criteria to be used in selecting the authority list or authority list extension entries for which information is to be presented.
The type code identifies the type of MI object to select.
The subtype code identifies the subtype of the MI object to select. Only objects with the specified type code and subtype code are selected.
The number of array elements is the number of start and end ranges in array of type/subtype ranges.
The materialize size value is the same as the number of bytes available for materialization in the receiver's materialization size specification except it is an 8 byte value. Both the 8-byte value and the 4-byte value will be the same unless the size is over 2,147,483,647 then the 4 byte number will be -1(hex FFFFFFFF) and only the 8-byte number will be correct.
The independent index points to the independent index that the materialization data will be placed in when information requirements indicates data is going to an independent index.
The following considerations apply when materialization data is returned in an independent index:
The array of type/subtype ranges qualifies the objects materialized when the selection criteria is array type code/subtype code selection(hex 03). For other values of selection criteria, the first array element should be hex zeros. Each array element represents a range of object type/subtypes.
The starting range specifies the starting range of object type/subtype codes to select. The ending range specifies the ending range of object type/subtype codes to select. The starting range should be less than or equal to the ending range. An object type code of hex 00 is invalid and will be interpreted as hex 01. To select only by object type code, set the starting range and ending range object type code to the same value and set starting range object subtype code to hex 00 and set ending range object subtype code to hex FF.
The format of the receiver (operand 1) is as follows:
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 |
| Authority list identification |
| Char(32) | ||||||||||||
8 | 8 |
| Object type |
| Char(1) | ||||||||||||
9 | 9 |
| Object subtype |
| Char(1) | ||||||||||||
10 | A |
| Object name |
| Char(30) | ||||||||||||
40 | 28 |
| Authority list creation options |
| Char(4) | ||||||||||||
40 | 28 |
| Existence attributes |
| Bit 0 | ||||||||||||
|
|
|
| ||||||||||||||
40 | 28 |
| Space attribute |
| Bit 1 | ||||||||||||
|
|
|
| ||||||||||||||
40 | 28 |
| Reserved (binary 0) |
| Bits 2-31 | ||||||||||||
44 | 2C |
| Reserved (binary 0) |
| Char(4) | ||||||||||||
48 | 30 |
| Size of space |
| Bin(4) | ||||||||||||
52 | 34 |
| Initial value of space |
| Char(1) | ||||||||||||
53 | 35 |
| Performance class |
| Char(4) | ||||||||||||
57 | 39 |
| Reserved |
| Char(7) | ||||||||||||
64 | 40 |
| Context |
| System pointer | ||||||||||||
80 | 50 |
| Reserved |
| Char(16) | ||||||||||||
96 | 60 |
| Authority list attributes |
| Char(4) | ||||||||||||
96 | 60 |
| Override specific object authority |
| Bit 0 | ||||||||||||
|
|
|
| ||||||||||||||
96 | 60 |
| Reserved (binary 0) |
| Bits 1-31 | ||||||||||||
100 | 64 |
| Reserved (binary 0) |
| Char(28) | ||||||||||||
128 | 80 |
| Entries header |
| Char(16) | ||||||||||||
128 | 80 |
| Number of entries available |
| UBin(4) | ||||||||||||
132 | 84 | Reserved | Char(4) | ||||||||||||||
136 | 88 | Number of entries available(8-byte value) (Bound program) | UBin(8) | ||||||||||||||
136 | 88 | Number of entries available(8-byte value) (Non-Bound program) | Char(8) | ||||||||||||||
144 | 90 |
| Description entries |
| [*] Char(*) | ||||||||||||
* | * |
| --- End --- |
|
|
The first four bytes of the materialization output 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 to be signaled.
The second 4 bytes of the materialization identify the total number of bytes available to be materialized. If this value is over 2,147,483,647(hex 7FFFFFFF), then the 4 byte number will be set to -1(hex FFFFFFFF) and the correct value will be in the materialize size value in the materialization options template. The instruction materializes as many bytes and pointers as can be contained in the receiver. If the byte area identified by the receiver is greater than that required to contain the information requested for materialization, the excess bytes are unchanged. No exceptions are signaled in the event that the receiver contains insufficient area for the materialization, other than the materialization length invalid (hex 3803) exception signaled above. If an independent index is used for the materialization data, then no description entries are put into the receiver.
The creation attributes (bytes 40 through 127) are not returned when materializing an authority list extension. These fields of the template will be set to hex zero. The fields are:
The authority list identification specifies the symbolic name that identifies the object within the machine. An object type of hex 1B is returned. The object identification is used to identify the object on materialize instructions as well as to locate the object in a context that addresses it.
A space may be associated with the authority list. The space may be fixed or variable in size, as specified by the space attribute field. The size of the space in bytes is returned in the size of space field. A fixed size space of zero length indicates the authority list does not have a space associated with it.
The initial value of space field indicates the value used to initialize each byte of the space. Additionally, when the space is extended in size, this byte value is also used to initialize the new allocation.
The performance class field provides information allowing the machine to more effectively manage the object considering the overall performance objectives of operations involving the context.
The context field identifies the context that contains addressability to the authority list. A null pointer value is returned if the authority list is not addressed by a context.
The override specific object authority authority list attribute specifies whether or not the specific authorities that users may have directly to an object are to be overridden for objects in the authority list. The authorities to override are both the object's public authority, if it has any, and the private authorities which users may hold to the specific object. When override specific object authority is set to binary 1, authorization verification for an object in the authority list ignores the specific object authority and instead proceeds directly to checking the authority held to the authority list to determine if the authority check can be satisfied.
The number of entries available fields specify the number of authority list entries which satisfied the selection criteria and were therefore materialized. Both the 8-byte value and the 4-byte value will be the same unless the number of entries available is over 4,294,967,294 then the 4 byte number will be 4,294,967,295(hex FFFFFFFF) and only the 8-byte number will be correct. A value of zero indicates no entries were available.
If no description (information requirements = hex 12) or long description into independent index (information requirements = hex 72) is requested in the materialization options operand, the above template describes the information available for materialization into the receiver.
If a description (short or long) is requested by the materialization options operand, a description entry is present (assuming a sufficient size receiver) for each object materialized into the receiver. One of the following description entry formats may be selected.
Offset | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||
0 | 0 |
| Short description entry |
| Char(32) | ||||||||
0 | 0 |
| Object identification |
| Char(2) | ||||||||
0 | 0 |
| Object type code |
| Char(1) | ||||||||
1 | 1 |
| Object subtype code |
| Char(1) | ||||||||
2 | 2 |
| Reserved |
| Char(14) | ||||||||
16 | 10 |
| System object |
| System pointer | ||||||||
32 | 20 |
| --- End --- |
|
|
Offset | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||
0 | 0 |
| Long description entry |
| Char(128) | ||||||||
0 | 0 |
| Object identification |
| Char(32) | ||||||||
0 | 0 |
| Object type code |
| Char(1) | ||||||||
1 | 1 |
| Object subtype code |
| Char(1) | ||||||||
2 | 2 |
| Object name |
| Char(30) | ||||||||
32 | 20 |
| Reserved |
| Char(16) | ||||||||
48 | 30 |
| System object |
| System pointer | ||||||||
64 | 40 |
| Object owning user profile |
| System pointer | ||||||||
80 | 50 |
| Context identification |
| Char(48) | ||||||||
80 | 50 |
| Context type code |
| Char(1) | ||||||||
81 | 51 |
| Context subtype code |
| Char(1) | ||||||||
82 | 52 |
| Context name |
| Char(30) | ||||||||
112 | 70 |
| Context pointer |
| System pointer | ||||||||
128 | 80 |
| --- End --- |
|
|
Offset | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex | Field Name | Data Type and Length | ||||||||||
0 | 0 | Long description entry materialized into independent index | Char(112) | ||||||||||
0 | 0 | Context identification | Char(32) | ||||||||||
0 | 0 | Context type code | Char(1) | ||||||||||
1 | 1 | Context subtype code | Char(1) | ||||||||||
2 | 2 | Context name | Char(30) | ||||||||||
32 | 20 | Object identification | Char(32) | ||||||||||
32 | 20 | Object type code | Char(1) | ||||||||||
33 | 21 | Object subtype code | Char(1) | ||||||||||
34 | 22 | Object name | Char(30) | ||||||||||
64 | 40 | System object | System pointer | ||||||||||
80 | 50 | Context pointer | System pointer | ||||||||||
96 | 60 | Object owning user profile | System pointer | ||||||||||
112 | 70 | --- End --- |
The object identification information (in the short and long description entries), is present for each entry in the authority list or authority list extension that satisfies the search criteria. The object type code identifies the type of the MI object. The object subtype code identifies the subtype of the MI object. The object name identifies the name of the object.
The system object field points to the object contained in the authority list or authority list extension.
The object owning user profile points to the user profile of the owner of the object. When an authority list extension is materialized, a null pointer value will be returned for object owning user profile.
The context identification identifies the context that contains addressability to the system object. The context type code identifies the type of the context. The context subtype code identifies the subtype of the context. The context name identifies the name of the context. If the system object is not addressed by a context, the context type code field is set to hex 00 or if the object is addressed by a machine context, the context type code field is set to hex 81. Additionally, in either of these cases, the context pointer is set to a null pointer value.
The context pointer field returns a pointer to the context that contains addressability to the system object. A null pointer value is returned if the system object is not addressed by a context.
Operand 2
Operand 2
Independent index if identified by operand 3
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