Materialize Bound Program (MATBPGM)

Instruction Syntax

Op Code (Hex) Operand 1 Operand 2
02C6 Materialization request template Bound program or bound service program

Operand 1: Space pointer.

Operand 2: System pointer.

Bound Program Access
Built-in number for MATBPGM is 109.
MATBPGM (
         materialization_request_template         : address
         bound_program_or_bound_service_program   : address of system pointer
)

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.

Note: The terms "heap" and "heap space" in this instruction refer to an "activation group-based heap space".

Description:

The bound program or bound service program identified by operand 2 is materialized according to the specifications provided by operand 1.

Operand 2 is a system pointer that identifies the bound program or bound service program to be materialized. If operand 2 does not refer to a program object, a pointer addressing invalid object type (hex 2403) exception will be signaled. If operand 2 refers to a program, but not to a bound program or bound service program, then a program not eligible for operation (hex 220A) exception will be signaled.

The values in the materialization relate to the current attributes of the materialized bound program. Components are the materializable parts of a bound program or bound service program. Components may not be available for materialization because they were not encapsulated during bound program creation. Other components may not be available for materialization because they contain no data.

Note: The bound program materialization request template takes the form of a variable length array of materialization requests.
Offset  
Dec Hex Field Name Data Type and Length
0 0 Template size specification Char(8)
0 0
  • Number of bytes provided
  • UBin(4)
4 4
  • Reserved (binary 0)
  • Char(4)
8 8 Number of materialization requests UBin(4)
12 C Reserved (binary 0) Char(4)
16 10 Array of materialization requests [*] Char(32)
16 10
  • Receiver
  • Space pointer
32 20
  • Bound program materialization options
  • Char(4)
32 20
    • General bound program materialization options
    • Char(2)

32

20

      • General bound program information

        0 =
        Do not materialize
        1 =
        Materialize

      • Bit 0

32

20

      • Reserved

        Note: Reserved for IBM Internal Use Only. If used, unpredictable results may occur.

      • Bit 1

32

20

      • Program copyright Strings

        0 =
        Do not materialize
        1 =
        Materialize

      • Bit 2

32

20

      • Bound service programs information

        0 =
        Do not materialize
        1 =
        Materialize

      • Bit 3

32

20

      • Bound modules information

        0 =
        Do not materialize
        1 =
        Materialize

      • Bit 4

32

20

      • Bound program string directory component

        0 =
        Do not materialize
        1 =
        Materialize

      • Bit 5

32

20

      • Bound program limits

        0 =
        Do not materialize
        1 =
        Materialize

      • Bit 6

32

20

      • Reserved

        Note: Start of change Reserved for IBM defined data which was used to create the program. End of change

      • Bits 7-11

32

20

      • Activation group data imports

        0 =
        Do not materialize
        1 =
        Materialize

      • Bit 12

32

20

      • Activation group data exports

        0 =
        Do not materialize
        1 =
        Materialize

      • Bit 13

32 20
      • Reserved (binary 0)
      • Bits 14-15
34 22
    • Specific bound program materialization options
    • Char(1)

34

22

      • Specific bound program information

        0 =
        Do not materialize
        1 =
        Materialize if the program is a bound program and not a bound service program.

      • Bit 0

34 22
      • Reserved (binary 0)
      • Bits 1-7
35 23
    • Specific bound service program materialization options
    • Char(1)
35 23
      • Reserved (binary 0)
      • Bit 0

35

23

      • Signatures information

        0 =
        Do not materialize
        1 =
        Materialize if the program is a bound service program.

      • Bit 1

35

23

      • Exported program procedure information

        0 =
        Do not materialize
        1 =
        Materialize if the program is a bound service program.

      • Bit 2

35

23

      • Exported program data information

        0 =
        Do not materialize
        1 =
        Materialize if the program is a bound service program.

      • Bit 3

35 23
      • Reserved (binary 0)
      • Bits 4-7
36 24
  • Bound module materialization options
  • Char(4)

36

24

    • General module information

      0 =
      Do not materialize
      1 =
      Materialize

    • Bit 0

36

24

    • Reserved

      Note: Start of change Reserved for IBM defined data which was used to create the module. End of change

    • Bit 1

36

24

    • Module string directory component

      0 =
      Do not materialize
      1 =
      Materialize

    • Bit 2

36

24

    • Reserved

      Note: Start of change Reserved for IBM defined data which was used to create the module. End of change

    • Bits 3-10

36

24

    • Reserved (binary 0)

    • Bits 11-17

36

24

    • Module copyright strings

      0 =
      Do not materialize
      1 =
      Materialize

    • Bit 18

36

24

    • Reserved

      Note: Reserved for IBM Internal Use Only. If used, unpredictable results may occur.

    • Bits 19-21

36 24
    • Reserved (binary 0)
    • Bits 22-31
40 28
  • Bound module materialization number
  • UBin(4)
44 2C
  • Reserved (binary 0)
  • Char(4)

*

*

--- End ---

 

Description of bound program materialization request template fields

Each of the reserved fields must be set to binary 0s, or a template value invalid (hex 3801) exception will be signaled.

Number of bytes provided
This is the size in bytes of the materialization request template. If this size does not correspond to the actual number of bytes in the materialization request template, then a template value invalid (hex 3801) exception will be signaled. This does not include any storage for returned data. That storage is pointed to by the receiver values.
Number of materialization requests
The number of requests in the array of materialization requests is specified by this value. If this number is greater than the actual number of materialization requests provided, then a template value invalid (hex 3801) exception will be signaled.
Materialization requests
This is an array of materialization requests. A materialization request consists of one or more bits, and an optional module number specified to be materialized into the corresponding receiver. Each materialization request consists of the following fields.
Receiver
This is a pointer to a space which will hold the materialized data. The space pointed to must be aligned on a 16-byte boundary, and must be at least 8 bytes long. This is so that it can hold the bytes provided and bytes available field of the receiver. If the space is not at least 8 bytes long a template value invalid (hex 3801) exception will be signaled.
Bound program materialization options
This bit mapped field specifies the parts of the bound program object to be materialized. A materialization request need not specify any program materialization options. If no bits are set, a bit must be set in the bound module materialization options field, or a template value invalid (hex 3801) exception will be signaled. Multiple options may be specified. When multiple options are specified, all of the requested data will be materialized into one receiver. The pieces requested on the materialization will be placed in the receiver in the order that the option bits are defined. If options are also specified on the bound module materialization options field, the materialized data for those options will follow that data materialized for the bound program materialization options.

The bound program materialization options are split into three distinct materialization bit sets.

  1. The general bound program materialization options contains bits that represent data that can be materialized for either bound programs or bound service programs.
  2. The specific bound program materialization options contains bits that represent data that can be materialized only for bound programs, and not for bound service programs.
  3. The specific bound service program materialization options contains bits that represent data that can be materialized only for bound service programs.

If a bit is on to materialize information that is not contained in the type of bound program being materialized, then an indication that the information is not materializable will be provided in the receiver header. No exception, in this case, will be signaled.

Each of the requested pieces will be placed on a 16-byte boundary within the receiver.

The general bound program information field specifies that general information about the bound program object should be materialized.

The program copyright strings field specifies that the collected program copyright strings of the constituent bound modules should be materialized.

The bound service programs information field specifies that information about the service programs bound to the materialized bound program should be materialized. These bound service programs are those that contain exports that resolve to imports in the materialized bound program.

The bound modules information field specifies that information about the modules bound into the materialized bound program should be materialized.

The bound program string directory component field specifies that the bound program string directory should be materialized.

The bound program limits field specifies that the current sizes and maximum values of the bound program components should be materialized.

The activation group data imports field specifies that information about those data imports resolving to weak activation data exports is to be materialized.

The activation group data exports field specifies that information about those data exports promoted to the activation group is to be materialized.

The specific bound program information field specifies that information specific to a bound program, and not to a bound service program, should be materialized.

The signatures information field specifies that the bound program signatures should be materialized.

The exported program procedure information field specifies that the exported procedures specified during program creation should be materialized.

The exported program data information field specifies that the exported data specified during program creation instruction should be materialized.

Bound module materialization options
This bit mapped field specifies the parts of the modules bound into the program that are to be materialized. A module materialization request need not specify any materialization options. If no bits are set, a bit must be set in the bound program materialization options field, or a template value invalid (hex 3801) exception will be signaled. Multiple options may be specified. When multiple options are specified, all of the requested data will be materialized into one receiver. The pieces requested on the module materialization will be placed in the receiver in the order that the option bits are defined. If options are also specified on the bound program materialization options field, the materialized data for those options will precede that data materialized for the bound module materialization options.

In addition, each of the requested pieces will be placed on a 16 byte boundary within the receiver.

The general module information field specifies that general information about the module object should be materialized.

The module string directory component field specifies that the string directory of the associated module(s) should be materialized.

The module copyright strings field specifies that the module copyright strings should be materialized.

Bound module materialization number
If at least one bit of the bound module materialization options field is on, then this is the number of the module to materialize, from 1 through the number of modules bound into the program; or 0, to materialize information about all modules bound into the program. If this number is greater than the number of modules bound into the program, then a template value invalid (hex 3801) exception will be signaled.

The information that is materialized is specified in the bound module materialization options field.

If no bits of the bound module materialization options field are on, then no module information is being materialized, and this field must be binary 0 or a template value invalid (hex 3801) exception will be signaled.

Format of materialized data

Format of Receiver
Offset  
Dec Hex Field Name Data Type and Length
0 0 Number of bytes provided for materialization UBin(4)
4 4 Number of bytes available for materialization UBin(4)
8 8 Reserved (binary 0) Char(8)
16 10 Materialized data Char(*)

*

*

--- End ---

 

Bytes provided
This is the number of bytes the user is providing to hold the materialized data. It must be greater than or equal to eight. If it is equal to eight, then no data will actually be materialized, and the number of bytes required to materialize the requested data will be placed in bytes available. If the value provided is greater than eight, but less than the number of bytes required to hold the requested data, the data will be truncated and no exception will be signaled. Note that a value greater than eight, but less than 16 will result in no data being materialized, since bytes 9-16 are reserved.

If the receiver is smaller than the size indicated by bytes provided, and the materialized data is larger than the space provided in receiver, the space addressing violation (hex 0601) exception will be signaled unless receiver is an automatically extendable space object. If receiver is an automatically extendable space object, the space will be extended, up to its maximum size.

Bytes available
If bytes provided is greater than eight, this contains the number of bytes that have been used for the materialization, including any reserved bytes or bytes used for padding. If bytes provided is equal to eight, this contains the total size of the receiver needed to hold the requested materialization. A value of zero is returned if there is no data to materialize.
Materialized data
For each bit on in the bound program materialization options and bound module materialization options, this will contain the associated data. Each entry will be preceded by a common header which identifies the type of data and the offset to the next entry. When multiple bits are on in the same request, the data is returned in the order defined by the bound program materialization options and the bound module materialization options.

No exception is signaled when the size of the receiver, as specified by bytes provided is not large enough to hold data for all requested bound program materialization options and bound module materialization options. Instead, the data is truncated and bytes provided only reflects the actual amount of data returned. One of several conditions may arise, each with a different result.

If the receiver is not large enough to hold the materialization header, no data is returned for that bound program materialization option or bound module materialization option. The offset to next entry field in the previous materialization header, if one exists, is set to 0, and the bytes available field is set to reflect the amount of data actually materialized for the bound program materialization options or bound module materialization options that have already been processed. Bytes available will be set to 8, or bytes provided ; whichever is less, if the receiver is not big enough to hold the first materialization header.

If the receiver is big enough to hold the materialization header, but not big enough to hold all of the data requested by the bound program materialization option or bound module materialization option, the partial data flag will be set in the materialization header and as much data will be returned for which there is room.

For data which consists of one continuous stream2 the receiver will be filled and bytes available will equal bytes provided. For data which consists of an option specific header followed by an array of homogenous elements3 data will be returned in such a way that no partial option specific header or array element will be returned. If there is not enough room to hold the entire option specific header, none of it will be returned. If there is room for the option specific header, but not all of the entries, only those entries that will fit will be returned. The number of entries in the option specific header will reflect the number of entries returned rather than the actual number of entries available in the module. Bytes available will reflect the actual amount of data returned and may not equal bytes provided. Note that because many option specific headers and entries are larger than the common materialization header, there may be more than one option for which partial data is returned.
Format of Common Materialization Header
Offset  
Dec Hex Field Name Data Type and Length
0 0 Offset to next entry UBin(4)
4 4 Bound program materialization identifier Char(4)
8 8 Bound module materialization identifier Char(4)
12 C Bound module materialization number identifier UBin(4)
16 10 Flags Char(4)

16

10

  • Entry presence

    0 =
    No data present for entry
    1 =
    Data present for entry

  • Bit 0

16

10

  • Partial data

    0 =
    All data in materialization was returned
    1 =
    Partial data was returned because receiver was too small to hold all data for the requested option

  • Bit 1

16

10

  • Valid materialization data

    0 =
    The data requested in this materialization request is never present for the type of bound program being materialized.
    1 =
    The data requested in this materialization request may be present for the type of bound program being materialized.

  • Bit 2

16 10
  • Reserved (binary 0)
  • Bits 3-31
20 14 Reserved (binary 0) Char(12)

32

20

--- End ---

 

Offset to next entry
This contains the offset from the beginning of this entry to the beginning of the next entry. It will contain zero if this is the last entry.
Bound program materialization identifier
This indicates which portion of the bound program is contained in this entry. It is the bit which was on in bound program materialization options that resulted in this data being materialized. Either no bits, or a single bit of this field will be on. If no bits of this field are on, then the data contained in this entry is indicated by the bound module materialization identifier field.
Bound module materialization identifier
This indicates which portion of the module, indicated by the bound module materialization number identifier field, is contained in this entry. It is the bit which was on in the bound module materialization options field that resulted in this data being materialized. Either a single bit or no bit of this field will be on. If no bit is on, then the data contained in this entry is indicated by the bound program materialization identifier field. If a bit is set on, then that type of information will be returned in the entry.
Bound module materialization number identifier
If a bit of the bound module materialization identifier field is on, then this is the number of the module for which information has been materialized in this entry, and this field will not be 0.

If no bits of the bound module materialization identifier field are on, then this field will be 0.

Flags
This field specifies information about the item being materialized.

The entry presence field specifies whether there is data available for the requested item. Some items may not be encapsulated into the object, so no data will be returned when their materialization is requested.

The partial data field specifies that only a portion of the data was returned because sufficient space was not present in the receiver to hold all of the data for the requested materialization option.

The valid materialization field specifies whether the requested information is valid to be materialized for the type of bound program that is being materialized. For example, specific bound program information is not valid for a bound service program. Even if data may be present for the type of bound program being materialized does not mean that it actually is. Refer to the entry present field to see if it is.

Format of materialized general bound program information
Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)

4

4

Reserved

Note: Reserved for IBM Internal Use Only. If used, unpredictable results may occur.

Char(264)

268 10C Number of secondary associated spaces UBin(4)
272 110 Activation group attributes Char(4)

272

110

  • Target activation group

    0 =
    Default activation group
    1 =
    Caller's activation group
    2 =
    Named activation group
    3 =
    Unnamed activation group
    4 =
    Named shared activation group
    5 =
    Unnamed shared activation group
    6-255 =
    Reserved

  • Char(1)

273

111

  • Reserved

    Note: Reserved for IBM Internal Use Only. If used, unpredictable results may occur.

  • Char(3)

276 114 Activation group name Char(30)

306

132

Reserved

Note: Reserved for IBM Internal Use Only. If used, unpredictable results may occur.

Char(14)

320 140 Coded character set identifier UBin(2)

322

142

Composite language version
All versions are represented as 16 bit values mapped as follows.

Bits 0-3 =
Reserved (binary 0)
Bits 4-7 =
Version
Bits 8-11 =
Release
Bits 12-15 =
Modification

UBin(2)

324

144

Composite machine version for modules
All versions are represented as 16 bit values mapped as follows.

Bits 0-3 =
Reserved (binary 0)
Bits 4-7 =
Version
Bits 8-11 =
Release
Bits 12-15 =
Modification

UBin(2)

326

146

Earliest version
All versions are represented as 16 bit values mapped as follows.

Bits 0-3 =
Reserved (binary 0)
Bits 4-7 =
Version
Bits 8-11 =
Release
Bits 12-15 =
Modification

UBin(2)

328

148

Creation target version
All versions are represented as 16 bit values mapped as follows.

Bits 0-3 =
Reserved (binary 0)
Bits 4-7 =
Version
Bits 8-11 =
Release
Bits 12-15 =
Modification

UBin(2)

330

14A

Version on which creation occurred
All versions are represented as 16 bit values mapped as follows.

Bits 0-3 =
Reserved (binary 0)
Bits 4-7 =
Version
Bits 8-11 =
Release
Bits 12-15 =
Modification

UBin(2)

332

14C

Bound program identifier

0 =
Reserved
1 =
Bound Program
2 =
Bound Service Program
3-255 =
Reserved

Char(1)

333 14D Compression status Char(1)

333

14D

  • Executable portion

    0 =
    Executable portion is not compressed
    1 =
    Executable portion is compressed

  • Bit 0

333

14D

  • Observable portion

    0 =
    Observable portion is not compressed
    1 =
    Observable portion is compressed

    If the compression status of the observable portion of the program is uncompressed, it is not a guarantee that the observable portion exists. The observable portion status should be checked to ensure that the observable portion exists before attempting to access the observable portion of the program.

  • Bit 1

333 14D
  • Reserved (binary 0)
  • Bits 2-7
334 14E Composite low optimization level UBin(2)
336 150 Composite high optimization level UBin(2)
338 152 Observable portion status Char(1)

338

152

  • Extended observability storage area exists

    0 =
    Extended observability storage area does not exist
    1 =
    Extended observability storage area exists

    Note that a value of zero in this field just means that no observable data exists separate from the portion that is encapsulated in the executable portion of the program. For more information see the Observability Provided and Encapsulated Observability Attributes in the materialized general bound program information.

  • Bit 0

338

152

  • Program creation data existence

    0 =
    The program creation data does not exist
    1 =
    The program creation data does exist

  • Bit 1

338

152

  • Module creation data existence

    0 =
    Some or all of the module creation data does not exist
    1 =
    All of the module creation data does exist

  • Bit 2

338 152
  • Reserved (binary 0)
  • Bits 3-7
339 153 Program application profiling attributes Char(1)

339

153

  • Program procedure order profiled

    0 =
    Program is not procedure order profiled
    1 =
    Program is procedure order profiled

  • Bit 0

339

153

  • Program basic block reordering attempted

    0 =
    No modules bound in the program have been basic block reordered
    1 =
    Basic block reordering was attempted for one or more of the modules bound in the program

  • Bit 1

339

153

  • Program ready for application profiling collection

    0 =
    No modules bound in the program are hooked for application profiling
    1 =
    One or more of the modules bound in the program are hooked for application profiling

  • Bit 2

339

153

  • Reserved (binary 0)

  • Bits 3-7

340 154 Number of modules with application profiling attributes UBin(4)
344 158 Teraspace attributes Char(1)

344

158

  • Program contains teraspace capable modules

    0 =
    No modules bound in the program are teraspace capable
    1 =
    One or more modules bound in the program are teraspace capable

  • Bit 0

344

158

  • Program entry procedure teraspace capable

    0 =
    Program entry procedure is not teraspace capable
    1 =
    Program entry procedure is teraspace capable

  • Bit 1

344

158

  • All modules teraspace capable

    0 =
    One or more modules in the bound program are not teraspace capable
    1 =
    All modules in the bound program are teraspace capable

  • Bit 2

344

158

  • Program automatic and static storage location

    00 =
    Automatic and static storage are allocated from single level store
    01 =
    Automatic and static storage are allocated from teraspace
    10 =
    Automatic and static storage are allocated from either single level store or teraspace, depending upon the activation
    11 =
    Reserved

  • Bits 3-4

344 158
  • Reserved (binary 0)
  • Bits 5-7
345 159 Reserved (binary 0) Char(167)

512

200

--- End ---

 

Length in bytes of materialization
This is the number of bytes materialized. For the general bound program information this will always be a constant 512.
Number of secondary associated spaces
This is the number of secondary associated spaces currently associated with the object.
Activation group attributes
The activation group attributes specify characteristics of the activation group into which the program will be activated.
Target activation group
This is the target activation group value specified when the bound program or bound service program was created.
Activation group name
This is the activation group name specified when the bound program or bound service program was created.
Coded character set identifier
This is the CCSID value of the bound program or bound service program.
Composite language version
This is the earliest version of the operating system on which the languages used for the bound modules will allow the bound program object to be saved. This is a composite4 of all of the language versions of the modules bound into this program.
Composite machine version for modules
This is the earliest version of the operating system on which all of the modules bound into the program can be re-created, assuming the required module creation templates are encapsulated in the program.
Earliest version
This is the earliest version of the operating system for which the machine will allow the bound program to be saved.
Creation target version
This is the version of the operating system for which the bound program object was created.
Version on which creation occurred
This is the version of the operating system on which the bound program object was created.
Bound program identifier
This field identifies the type of bound program being materialized.
Compression status
This field identifies whether the executable or the observable portions of the bound program or bound service program are compressed.
Composite low optimization level
This field reflects the lowest level of optimization of all the modules bound into the program. Some modules of the program may have a higher optimization level than indicated by this field.
Composite high optimization level
This field reflects the highest level of optimization of all the modules bound into the program. Some modules of the program may have a lower optimization level than indicated by this field.
Observable portion status
This field describes the status of the observability data of the program. It includes the following flag fields
Extended observability storage area exists
This field specifies whether the extended storage area for observability data exists for the program. It is an indication of whether or not any observable segments exist in the program.
Program creation data existence
This field specifies whether the program creation data that was provided when the program was created still exists in the program.
Module creation data existence
This field specifies whether all of the module creation data that was provided when the modules were created still exists in the program.

In order for a program to be eligible for retranslation, the program creation data existence bit must be set. If the module creation data existence bit is also set, this is an indication that the program has the required observability for retranslation. If the module creation data existence field is not set, the observable status of each of the modules can be found.

Program application profiling attributes
These attributes identify application profiling attributes of the program object.
Program procedure order profiled
This attribute indicates whether the bound program was created with a procedure order list. Packaging order of the procedures can affect run time performance.
Program basic block reordering attempted
This attribute indicates whether the bound program contains any modules for which basic block reordering was attempted (i.e. application profiling data that was collected was applied to one or more modules bound into this program). The packaging order of code in the procedures within the modules can affect run time performance.
Program ready for application profiling collection
This attribute indicates whether the bound program contains any modules that are hooked for application profiling collection (i.e. the modules contain hooks that enable data to be collected by application profiling).
Number of modules with application profiling attributes
This is the number of modules bound into the program that are either hooked for application profiling data collection or have been basic block reordered. To determine to which attributes this number applies, use the program ready for application profiling collection and the program basic block reordering attempted bits of the program application profiling attributes. They are mutually exclusive.
Teraspace attributes
These attributes identify teraspace attributes of the program object.
Program contains teraspace capable modules
This attribute indicates whether or not one or more bound modules are teraspace capable. If so, then a call from a procedure in that module will only be able to pass a teraspace address to procedures in other teraspace capable programs.
Program entry procedure teraspace capable
This attribute indicates whether or not the program entry procedure was created teraspace capable. If so, it may be called with parameters stored in teraspace and after being called will be allowed to address teraspace.
All modules teraspace capable
This attribute indicates whether all modules in the bound program are teraspace capable. If so, then any procedure can be passed a teraspace address when called.
Automatic and static storage location
This attribute identifies where the automatic and static storage for the program will be allocated at run time. If the attribute has a value of single level store, the automatic and static storage will be allocated from single level store. A value of teraspace means the automatic and static storage will be in teraspace. A value of either indicates that the program is capable of running in single level store and teraspace, and the activation group into which the program is activated will determine from which type of storage the automatic and static storage are allocated.
Format of materialized program copyright strings
Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Version of copyright creation extension UBin(4)
8 8 Number of copyright strings in the pool UBin(4)
12 C Reserved Char(4)
16 10 Copyright string pool Char(*)

*

*

--- End ---

 

Length in bytes of materialization
This is the number of bytes materialized.
Version of copyright creation extension
This is the version of the copyrights when the module was created.
Number of copyright strings in the pool
This is the number of copyright strings that follow.
Copyright string pool
This is the data for all of the copyright strings. Each copyright string consists of a 4 byte length followed by the text of the string. The length reflects the actual length in bytes of the copyright string and does not include the length of the length field. All copyright strings along with their lengths are placed contiguously in the buffer with no intervening padding.
Format of the materialized bound service programs information
Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Number of service programs bound to this program UBin(4)
8 8 Reserved (binary 0) Char(8)
16 10 Array of bound service program records [*] Char(48)
16 10
  • Bound service program ID
  • Char(24)
16 10
    • Bound service program context object type
    • Char(1)
17 11
    • Bound service program context object subtype
    • Char(1)
18 12
    • Bound service program context name
    • Char(10)
28 1C
    • Bound service program object type
    • Char(1)
29 1D
    • Bound service program object subtype
    • Char(1)
30 1E
    • Bound service program name
    • Char(10)
40 28
  • Referentially bound program signature
  • Char(16)
56 38
  • Attributes
  • Char(1)
56 38
    • Reserved (binary 0)
    • Bits 0-6

56

38

    • Activation attribute

      0 =
      Activation of the bound service program takes place immediately when the program it is bound to is activated.
      1 =
      Activation of the bound service program may be deferred until a function it exports is called.

    • Bit 7

57 39
  • Reserved (binary 0)
  • Char(7)

*

*

--- End ---

 

Length in bytes of materialization
The number of bytes materialized. This will be 16 + (N * 48) where N is the number of bound service programs- those programs that contain exports that resolve imports in the bound program.
Number of service programs bound to this program
This is the number of bound service programs bound to the bound program.
Array of bound service program records
This array contains one record for each bound service program bound to the bound program. Each record contains the following information
Bound service program context type
This is the object type of the context with the given name.
Bound service program context subtype
This is the object subtype of the context with the given name.
Bound service program context name
This is the context specified during program creation where this bound service program was found when the bound program was created. This value could be set with all hex zeroes, in which case the name resolution list is used to locate the given bound service program. The context name or name resolution list is searched using the name space of the thread in which the activation occurs (See the RSLVSP instruction for a description of name spaces.)
Bound service program type
This is the object type of the program with the given name.
Bound service program subtype
This is the object subtype of the program with the given name.
Bound service program name
This is the name of the bound service program specified during program creation.
Bound service program signature
This is the signature of the bound service program that was used to match against the current signature of the bound program.
Activation attributes
This is the activation attribute of the bound service program that was specified during program creation.
Format of the materialized bound modules information
Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Number of modules bound into this program UBin(4)
8 8 Reserved (binary 0) Char(8)
16 10 Array of bound module records [*] Char(80)
16 10
  • Bound module ID
  • Char(60)
16 10
    • Module qualifier
    • Char(30)
46 2E
    • Module name
    • Char(30)
76 4C
  • Reserved (binary 0)
  • Char(20)

*

*

--- End ---

 

Length in bytes of materialization
The number of bytes materialized. This will be 16 + (N * 80) where N is the number of modules bound into the bound program.
Number of modules bound into this program
This is the number of modules bound into the bound program.
Array of bound module records
This array contains one record for each module bound into the bound program. Each record contains the following information
Module qualifier
This is the qualifier specified during program creation where this module was found when the bound program was created. The module qualifier is used to differentiate between two different modules of the same name. This usually contains a context name.
Module name
This is the name of the module.
Format of the materialized bound program string directory component
Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Reserved (binary 0) Char(12)
16 10 String pool Char(*)
16 10
  • Length of the string
  • UBin(4)
20 14
  • CCSID of the string
  • UBin(2)
22 16
  • String
  • Char(*)

*

*

--- End ---

 

Length in bytes of materialization
The number of bytes materialized. This will be 16 + the length of the string pool.
String pool
A memory area containing the strings defined for this program. It can be of any length addressable by a UBin(4). It contains a series of strings and lengths. String IDs specified in other materialized components can be used as indexes into this string pool.
Length of string
The length of the next string. This field contains the length of the string only, and does not include the length of either the length or the CCSID field. The length field of a string is not subject to alignment considerations.
CCSID of string
The character code set identifier of this string. This string is encoded in the given CCSID, which is the CCSID of the module object from which this string is originally declared. The CCSID field of a string is not subject to alignment considerations.
String
Character buffer which contains one string. Its length is defined by the length field.
Format of the materialized bound program limits
Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Reserved (binary 0) Char(12)
16 10 Current size of bound program UBin(4)
20 14 Maximum number of associated spaces UBin(4)
24 18 Current number of associated spaces UBin(4)
28 1C Maximum number of modules bindable into program UBin(4)
32 20 Current number of modules bound into program UBin(4)
36 24 Maximum number of service programs bindable to program UBin(4)
40 28 Current number of service programs bound to program UBin(4)
44 2C Maximum size of bound program string directory UBin(4)
48 30 Current size of bound program string directory UBin(4)
52 34 Maximum size of bound program copyright strings UBin(4)
56 38 Current size of bound program copyright strings UBin(4)
60 3C Maximum number of auxiliary storage segments UBin(4)
64 40 Current number of auxiliary storage segments UBin(4)
68 44 Maximum number of static storage frames UBin(4)
72 48 Current number of static storage frames UBin(4)
76 4C Maximum number of program procedure exports UBin(4)
80 50 Current number of program procedure exports UBin(4)
84 54 Maximum number of program data exports UBin(4)
88 58 Current number of program data exports UBin(4)
92 5C Maximum number of signatures UBin(4)
96 60 Current number of signatures UBin(4)
100 64 Minimum amount of static storage required UBin(4)
104 68 Maximum amount of static storage required UBin(4)
108 6C Reserved (binary 0) Char(4)
112 70 Eight byte version of minimum amount of static storage required UBin(8)
120 78 Eight byte version of maximum amount of static storage required UBin(8)
128 80 Reserved (binary 0) Char(128)

256

100

--- End ---

 

Length in bytes of materialization
The number of bytes materialized. This will always be a constant 256.
Current size of bound program
This is the current size, in machine-dependent units, of the bound program being materialized.
Maximum number of associated spaces
This is the maximum number of associated spaces allowed for the bound program being materialized.
Current number of associated spaces
This is the current number of associated spaces allocated to the bound program being materialized.
Maximum number of modules bindable into program
This is the maximum number of modules that can be bound into a bound program.
Current number of modules bound into program
This is the current number of modules bound into the bound program being materialized.
Maximum number of service programs bindable to program
This is the maximum number of bound service programs that can be bound to a bound program. These bound service programs contain exports to which imports from a bound program resolve.
Current number of service programs bound to program
This is the current number of bound service programs bound to the bound program being materialized.
Maximum size of bound program string directory
This is the maximum size, in bytes, of the bound program string directory.
Current size of bound program string directory
This is the current size, in bytes, of the bound program string directory.
Maximum size of bound program copyright strings
This is the maximum size, in bytes, of the bound program copyright strings.
Current size of bound program copyright strings
This is the current size, in bytes, of the bound program copyright strings.
Maximum number of auxiliary storage segments
This is the maximum number of auxiliary storage segments allowed for a bound program.
Current number of auxiliary storage segments
This is the current number of auxiliary storage segments in the bound program being materialized.
Maximum number of static storage frames
This is the maximum number of static storage frames allowed for a bound program.
Current number of static storage frames
This is the current number of static storage frames required by the bound program being materialized.
Maximum number of procedure exports
This is the maximum number of procedures that are allowed to be exported from a bound program. If the bound program being materialized is not a bound service program, then this value will be zero.
Current number of procedure exports
This is the current number of procedures exported from the bound program being materialized. If the bound program being materialized is not a bound service program, then this value will be zero.
Maximum number of data exports
This is the maximum number of data items that are allowed to be exported from a bound program. If the bound program being materialized is not a bound service program, then this value will be zero.
Current number of data exports
This is the current number of data items exported from the bound program being materialized. If the bound program being materialized is not a bound service program, then this value will be zero.
Maximum number of signatures
This is the maximum number of signatures allowed for a bound program. If the bound program being materialized is not a bound service program, then this value will be zero.
Current number of signatures
This is the current number of signatures contained in the bound program being materialized. If the bound program being materialized is not a bound service program, then this value will be zero.
Minimum amount of static storage required.
This is the smallest amount of static storage that is required for the bound program or service program. This measure is in bytes. The actual amount of static storage that is used may be anywhere between the minimum and the maximum amounts of required static storage, inclusive. If the size is 4 gigabytes (4,294,967,296) or more, a value of 4,294,967,295 will be returned in the field. In this case, the eight byte version of minimum amount of static storage required field should be used to get the size in bytes.
Maximum amount of static storage required.
This is the largest amount of static storage that may be required for the bound program or service program. This measure is in bytes. The actual amount of static storage that is used may be anywhere between the minimum and the maximum amounts of required static storage, inclusive. If the size is 4 gigabytes (4,294,967,296) or more, a value of 4,294,967,295 will be returned in the field. In this case, the eight byte version of maximum amount of static storage required field should be used to get the size in bytes.
Eight byte version of minimum amount of static storage required
This is the smallest amount of static storage that is required for the bound program or service program. This measure is in bytes. The actual amount of static storage that is used may be anywhere between the minimum and the maximum amounts of required static storage, inclusive.
Eight byte version of maximum amount of static storage required
This is the largest amount of static storage that may be required for the bound program or service program. This measure is in bytes. The actual amount of static storage that is used may be anywhere between the minimum and the maximum amounts of required static storage, inclusive.
Format of the materialized activation group data imports
Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Number of activation group data imports UBin(4)
8 8 Reserved (binary 0) Char(8)
16 10 Array of activation group data imports [*] Char(16)
16 10
  • String ID
  • UBin(4)
20 14
  • Reserved (binary 0)
  • Char(12)

*

*

--- End ---

 

Length in bytes of materialization
The number of bytes materialized. This will be (N+1)*16, where N is the number of activation group data imports contained in the bound program or bound service program.
Number of activation group data imports
The number of activation group data imports contained in the bound program or bound service program.
Array of activation group data imports
This array contains one record for each data item contained in the program or bound service program. Each record contains the following information:
String ID
This is the identification used to extract the name of this data item from the program string directory.
Format of the materialized activation group data exports
Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Number of activation group data exports UBin(4)
8 8 Reserved (binary 0) Char(8)
16 10 Array of activation group data exports [*] Char(16)
16 10
  • String ID
  • UBin(4)

20

14

  • Strength of data item

    0 =
    Reserved
    1 =
    Export Strongly
    2 =
    Export Weakly
    3-255 =
    Reserved

  • Char(1)

21 15
  • Reserved (binary 0)
  • Char(3)
24 18
  • Length of data item
  • UBin(4)
28 1C
  • Reserved (binary 0)
  • Char(4)

*

*

--- End ---

 

Length in bytes of materialization
The number of bytes materialized. This will be (N+1)*16, where N is the number of activation group data exports contained in the bound program or bound service program.
Number of activation group data exports
The number of activation group data exports contained in the bound program or bound service program.
Array of activation group data exports
This array contains one record for each data item contained in the program or bound service program. Each record contains the following information:
String ID
This is the identification used to extract the name of this data item from the program string directory.
Strength of data item
This field indicates whether the activation group export is exported strongly or weakly.
Length of data item
The size in bytes of the activation group export.
Format of the materialized specific bound program information

Specific bound program information can only be materialized for bound programs, and not for bound service programs.

Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Reserved (binary 0) Char(12)
16 10 Program entry procedure information Char(16)
16 10
  • Module number containing program entry procedure
  • UBin(4)
20 14
  • Program entry procedure string ID
  • UBin(4)
24 18
  • Minimum parameters
  • UBin(2)
26 1A
  • Maximum parameters
  • UBin(2)
28 1C
  • Reserved (binary 0)
  • Char(4)
32 20 Reserved (binary 0) Char(32)

64

40

--- End ---

 

Length in bytes of materialization
The number of bytes materialized. This will always be a constant 64.
Module number containing program entry procedure
This is the number, in the bound modules information, of the module which contains the program entry procedure for this bound program.
Program entry procedure string ID
This is the string ID for the name of this program entry procedure.
Minimum parameters
This is the minimum number of parameters that the program entry procedure can accept.
Maximum parameters
This is the maximum number of parameters that the program entry procedure can accept.
Format of the materialized signatures information

Signatures information can only be materialized for bound service programs, and not for bound programs.

Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Number of signatures contained in the program UBin(4)
8 8 Reserved (binary 0) Char(8)
16 10 Array of signatures [*] Char(16)
16 10
  • Signature
  • Char(16)

*

*

--- End ---

 

Length in bytes of materialization
The number of bytes materialized. This will be (N+1)*16, where N is the number of signatures contained in the program.
Number of signatures contained in the program
This is the number of signatures contained in the program.
Array of signatures
This array contains one record for each signature contained in the program. Each record contains the following information. The first record contains the current signature.
Signature
A signature of the service program.
Format of the materialized exported program procedure information

Exported program procedure information can only be materialized for bound service programs, and not for bound programs.

Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Number of exported procedures UBin(4)
8 8 Reserved (binary 0) Char(8)
16 10 Array of program exports [*] Char(16)
16 10
  • String ID for procedure export
  • UBin(4)
20 14
  • Export number
  • UBin(4)
24 18
  • Procedure parameter mask
  • Char(2)
26 1A
  • Originating module number
  • UBin(2)
28 1C
  • Reserved (binary 0)
  • Char(4)

*

*

--- End ---

 

Length in bytes of materialization
The number of bytes materialized. This will be (N+1)*16, where N is the number of exported procedures.
Number of exported procedures
This is the number of procedures exported from the service program.
Array of program exports
This array contains one record for each procedure exported from the service program. Each record contains the following information:
String ID for procedure export
This is the identification used to extract the name of this exported procedure from the program string directory.
Export number
This is the number of this exported procedure.
Procedure parameter mask
The procedure parameter mask indicates the parameter characteristics of the procedure. The procedure parameter mask will be binary zero if the program using this instruction is executing in user-state.
Originating module number
This number is the index of the module in the object list referential extension from which this exported procedure originated.
Format of the materialized exported program data information

Exported program data information can only be materialized for bound service programs, and not for bound programs.

Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Number of exported data items UBin(4)
8 8 Reserved (binary 0) Char(8)
16 10 Array of data exports [*] Char(16)
16 10
  • String ID for data export
  • UBin(4)
20 14
  • Export number
  • UBin(4)
24 18
  • Data item size
  • UBin(4)
28 1C
  • Reserved (binary 0)
  • Char(4)

*

*

--- End ---

 

Length in bytes of materialization
The number of bytes materialized. This will be (N+1)*16, where N is the number of exported data items.
Number of exported data items
This is the number of data items exported from the service program.
Array of data exports
This array contains one record for each data item exported from the service program. Each record contains the following information:
String ID for data export
This is the identification used to extract the name of this exported data item from the program string directory.
Export number
This is the number of this exported data item.
Data item size
This is the size in bytes of the exported data item
Format of materialized general module information

Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Reserved Char(12)

16

10

Reserved

Note: Reserved for IBM Internal Use Only. If used, unpredictable results may occur.

Char(276)

292 124 Coded character set identifier UBin(2)
294 126 Data required for machine retranslation Char(1)

294

126

  • All data required for machine retranslation is present

    0 =
    No
    1 =
    Yes

  • Bit 0

294 126
  • Reserved (binary 0)
  • Bits 1-7
295 127 Reserved Char(9)

304

130

Creation target version
All versions are represented as 16 bit values mapped as follows.

Bits 0-3 =
Reserved (0)
Bits 4-7 =
Version
Bits 8-11 =
Release
Bits 12-15 =
Modification

Char(2)

306

132

Language version
All versions are represented as 16 bit values mapped as follows.

Bits 0-3 =
Reserved (0)
Bits 4-7 =
Version
Bits 8-11 =
Release
Bits 12-15 =
Modification

Char(2)

308

134

Version on which creation occurred
All versions are represented as 16 bit values mapped as follows.

Bits 0-3 =
Reserved (0)
Bits 4-7 =
Version
Bits 8-11 =
Release
Bits 12-15 =
Modification

Char(2)

310

136

Earliest version
All versions are represented as 16 bit values mapped as follows.

Bits 0-3 =
Reserved (0)
Bits 4-7 =
Version
Bits 8-11 =
Release
Bits 12-15 =
Modification

Char(2)

312 138 Reserved Char(16)
328 148 Number of secondary associated spaces UBin(4)
332 14C Reserved Char(16)

348

15C

Reserved

Note: Reserved for IBM Internal Use Only. If used, unpredictable results may occur.

Char(2)

350

15E

Module state

Hex 0001 =
User state
Hex 8000 =
System state
Hex 0000 =
Inherit state

UBin(2)

352 160 Compiler name Char(20)
372 174 Program entry procedure Char(16)
372 174
  • Program entry procedure attributes
  • Char(4)

372

174

    • Program entry procedure exists

      0 =
      Program entry procedure does not exist in this module
      1 =
      Program entry procedure exists in this module

    • Bit 0

372 174
    • Reserved (binary 0)
    • Bits 1-31
376 178
  • Program entry procedure dictionary ID
  • UBin(4)
380 17C
  • Program entry procedure string ID
  • UBin(4)
384 180
  • Program entry procedure minimum parms
  • UBin(2)
386 182
  • Program entry procedure maximum parms
  • UBin(2)

388

184

Module application profiling attributes

Char(1)

388

184

  • Hooks for application profiling are present

    0 =
    Hooks are not present
    1 =
    Hooks are present

  • Bit 0

388

184

  • Basic block reordering attempted

    0 =
    Basic block reordering on the procedures in this module has not been attempted.
    1 =
    Basic block reordering on the procedures in this module has been attempted. The procedure basic block attributes under the procedure definitions further identifies which procedures have been basic block reordered.

  • Bit 1

388 184
  • Reserved (binary 0)
  • Bits 2-7
389 185 Module teraspace attributes Char(1)

389

185

  • Module teraspace capable

    0 =
    Module is not teraspace capable
    1 =
    Module is teraspace capable

  • Bit 0

389

185

  • Module automatic and static storage location

    00 =
    Automatic and static storage are allocated from single level store
    01 =
    Automatic and static storage are allocated from teraspace
    10 =
    Automatic and static storage are allocated from either single level store or teraspace, depending upon the activation group into which the program is activated.
    11 =
    Reserved

  • Bits 1-2

389 185
  • Reserved (binary 0)
  • Bits 3-7
390 186 Reserved Char(122)

512

200

--- End ---

 

Length in bytes of materialization
This is the number of bytes materialized. For the general module information this will always be a constant 512.
Coded character set identifier
The CCSID defines the code page of the symbols in the string directory.
Creation target version
This is the version of the operating system for which the module object was created.
Data required for machine retranslation
This indicates whether the data required for machine retranslation is present. This data can be present even if the encapsulated observability attributes indicated the component is not present.
Language version
This is the earliest version of the operating system on which language used will allow the module object to be saved.
Version on which creation occurred
This is the version of the operating system that was running on the system where the module object was created.
Earliest version
This is the earliest version of the operating system for which the machine will allow the module object to be saved.
Number of secondary associated spaces
This is the number of secondary associated spaces currently associated with the object.
Module state
This is the state of the module object.
Compiler name
This identifies the compiler which translated the user's source language.
Program entry procedure
This identifies the program entry procedure if one is present in the module.
Program entry procedure attributes
This bit mapped field identifies attributes of the program entry procedure.

The program entry procedure existence field specifies whether a program entry procedure is present in the module being materialized.

Program entry procedure dictionary ID
The dictionary ID is used as a handle to uniquely identify the procedure.
Program entry procedure string ID
The string ID may be used to extract the character string which is the procedure name from the string pool.
Program entry procedure minimum parms
This is the minimum number of parameters allowed by the program entry procedure.
Program entry procedure maximum parms
This is the maximum number of parameters allowed by the program entry procedure.
Module application profiling attributes
This bit mapped field identifies the application profiling attributes of the module.

The hooks for application profiling are present field specifies whether the module is ready for application profiling data collection when it is bound into a program.

The basic block reordering attempted field specifies whether reordering of the basic blocks within the procedures of this module has been attempted. To determine which procedures have basic blocks reordered see the procedure basic block attributes under the procedure definitions.

Module teraspace attributes
This bit mapped field identifies the teraspace attributes of the module.

The module teraspace capable field specifies whether or not the module is allowed to use teraspace at run time.

The module automatic and static storage location field indicates where the automatic and static storage for this module will be allocated at run time, when the module is bound into a program. The possible values are single level store, teraspace, or either single level store or teraspace, depending upon the activation group into which the program is activated.

Format of the materialized module string directory component
Offset  
Dec Hex Field Name Data Type and Length
0 0 Length in bytes of materialization UBin(4)
4 4 Reserved (binary 0) Char(12)
16 10 String pool Char(*)
16 10
  • Length of the string
  • UBin(4)
20 14
  • String
  • Char(*)

*

*

--- End ---

 

Length in bytes of materialization
The number of bytes materialized. This will be 16 + the length of the string pool.
String pool
A memory area containing the strings defined for this module. It can be of any length addressable by a UBin(4). It contains a series of strings and lengths. String IDs specified in other materialized components can be used as indexes into this string pool.
Length of string
The length of the next string. This field contains the length of the string only, and does not include the length of the length field, itself. The length field of a string is not subject to alignment considerations.
String
Character buffer which contains one string. Its length is defined by the length field.
Format of the materialized module copyright strings

The format of the materialized module copyright strings is the same as for the materialized program copyright strings.

Template Value Invalid exception reason codes

This instruction supports setting of the optional reason code field in the exception data which can be retrieved when the template value invalid exception is signaled. When the first byte of the reason code is not zero, the exception is being signaled because one of the materialization receivers is not valid.

00
Bound Program Materialization Template (pointed to by operand 1 of this instruction)
01
Size of template is not sufficient to hold number of requests specified.
0n
nth materialization request is not valid.
01
The receiver is not aligned on a 16 byte boundary.
02
The materialization request bytes provided is less than 8.
03
The materialization request contains no materialization options or invalid materialization options.

If the length of field data is 8, then no materialization options were specified and the offset in field in bits data will be 0. Otherwise, an invalid option was specified and the provided offset to field in bytes and offset in field in bits data will identify the invalid materialization option.

04
The materialization request contains a module materialization number that is greater than the number of modules bound into the program.
05
The materialization request contains a non-zero module materialization number, but no module materialization options.
06
The materialization request contains a non-zero reserved field.

Authorization Required

  • Retrieve
    • Operand 2
  • Execute
    • Contexts referenced for address resolution
    • Bound service programs required to activate the program referenced by operand 2

Lock Enforcement

  • Materialize
    • Operand 2
    • Contexts referenced for address resolution

Exceptions

  • 06 Addressing
    • 0601 Space Addressing Violation
    • 0602 Boundary Alignment
    • 0603 Range
  • 08 Argument/Parameter
    • 0801 Parameter Reference Violation
  • 0A Authorization
    • 0A01 Unauthorized for Operation
  • 10 Damage Encountered
    • 1004 System Object Damage State
    • 1005 Authority Verification Terminated Due to Damaged Object
    • 1044 Partial System Object Damage
  • 1A Lock State
    • 1A01 Invalid Lock State
  • 1C Machine-Dependent
    • 1C03 Machine Storage Limit Exceeded
  • 20 Machine Support
    • 2002 Machine Check
    • 2003 Function Check
  • 22 Object Access
    • 2201 Object Not Found
    • 2202 Object Destroyed
    • 2203 Object Suspended
    • 2204 Object Not Eligible for Operation
    • 2207 Authority Verification Terminated Due to Destroyed Object
    • 2208 Object Compressed
    • 220A Program Not Eligible for Operation
    • 220B Object Not Available
  • 24 Pointer Specification
    • 2401 Pointer Does Not Exist
    • 2402 Pointer Type Invalid
    • 2403 Pointer Addressing Invalid Object Type
  • 2E Resource Control Limit
    • 2E01 User Profile Storage Limit Exceeded
  • 36 Space Management
    • 3601 Space Extension/Truncation
  • 38 Template Specification
    • 3801 Template Value Invalid
    • 3802 Template Size Invalid
    • 3803 Materialization Length Invalid
  • 44 Protection Violation
    • 4401 Object Domain or Hardware Storage Protection Violation
    • 4402 Literal Values Cannot Be Changed
Footnotes:
1

Referential extensions are data streams that are not included in the creation templates, but are pointed to by a space pointer in the template. This also includes the module creation template extension.

2

The items that fall into this category are general bound program information, bound program limits, specific bound program information, specific bound service program information, general module information, bound program string directory component, module string directory component and module copyright strings.

3 The items which fall into this category are bound service programs information, bound modules information, signatures information, program copyright strings, exported program procedure information, activation group data imports, activation group data exports, and exported program data information.
4 A composite version is defined to be the latest version, in time, of all of the versions comprising the composite. Given back-level compatibility, this would be the earliest version of the operating system on which all of the comprising versions would be compatible.