Materialize Machine Information (MATMIF)

Bound program access

Built-in number for MATMIF is 670. MATMIF ( receiver : address materialization_option : unsigned binary(2) ) : signed binary(4) /* result */

Warning

The following information is subject to change from release to release. Use it with caution and be prepared to adjust for changes with each new release. The data returned by this instruction is subject to change each and every release. Fields may be added, deleted, reordered, and/or have their unit of measure changed. There will be no attempt made to maintain any compatibility from release to release.

Description

Information specified by the materialization option operand is materialized into the template addressed by the receiver operand. Upon successful completion, result is set to binary 0.

In the case where the requested data cannot be returned, the EUNKNOWN error number is returned in the result.

The receiver specifies a space that is to receive the materialized information. The space pointer specified must address a 16-byte aligned area. If not, the EFAULT error number is returned in the result.

The materialization option specifies which information is to be materialized. If an invalid value is specified, the EINVAL error number is returned in the result.

A summary of the allowable hex values for materialization option follows.

Table 1. Materialize Machine Information options

Materialization Option Page
Hex 0001 - Option 0001 information (for current partition) reference #1
Hex 0002 - Option 0002 information (for current partition) reference #2

The receiver template 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
UBin(4)
4 4
Number of bytes available
UBin(4)
8 8
Information
Char(*)
* *
--- End ---

The first 4 bytes 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 ENOSPC error number to be returned in the result.

The second 4 bytes 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 error numbers (other than the ENOSPC described previously) are returned if the receiver contains insufficient area for the materialization.

The following information requires receivers of varying lengths. The information that will be materialized and their materialization option values follow. If the system does not support a function, hex zeros will be returned in that field. (Ref #1.)