List Module Information (QBNLMODI) API


  Required Parameter Group:


  Default Public Authority: *USE

  Threadsafe: No

The List Module Information (QBNLMODI) API lists information about modules. The information is placed in a user space specified by you. This API is similar to the Display Module (DSPMOD) command.

You can use the QBNLMODI API to:


Authorities and Locks

User Space Authority
*CHANGE
User Space Library Authority
*EXECUTE
User Space Lock
*EXCLRD
Module Authority
*USE
Module Library Authority
*EXECUTE
Module Lock
*SHRRD

Required Parameter Group

Qualified user space name
INPUT; CHAR(20)

The user space that is to receive the module information. The first 10 characters contain the user space name. The second 10 characters contain the name of the library where the user space is located. The library name can be a specific library name or one of these special values:

Format name
INPUT; CHAR(8)

The content and format of the information to be returned about the specified modules. One of the following format names may be used:

Note: Do not use the generic header entry size for formats returned by this API. Use the Size of this entry field returned in each format for the size of each entry.

Qualified module name
INPUT; CHAR(20)

The name of the module for which the information is to be listed. The first 10 characters contain the module name. The second 10 characters contain the name of the library where the module is located.

The module name can be a specific module name or one of the following special values:

The library name can be a specific library name or one of these special values:

Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error code parameter.


Format of the Generated List

The user space contains:

For details about the user area and generic header, see User spaces. For descriptions of each field in the list returned, see Field Descriptions.

Note: Do not use the generic header entry size for formats returned by this API. Use the Size of this entry field returned in each format for the size of each entry.

Input Parameter Section



Header Section



MODL0100 Format

The MODL0100 format lists the symbols defined in the module and that are exported to other modules. The following table shows how this information for each module is organized. For detailed descriptions of the fields in the list, see Field Descriptions.

Note: Do not use the generic header entry size for this format. Use the Size of this entry field returned in this format for the size of each entry.



MODL0200 Format

The MODL0200 format lists symbols defined external to the module. The following table shows how this information for each module is organized. For detailed descriptions of the fields in the list, see Field Descriptions.

Note: Do not use the generic header entry size for this format. Use the Size of this entry field returned in this format for the size of each entry.



MODL0300 Format

The MODL0300 format lists procedure names and their types. The following table shows how this information for each module is organized. For detailed descriptions of the fields in the list, see Field Descriptions.

Note: Do not use the generic header entry size for this format. Use the Size of this entry field returned in this format for the size of each entry.



MODL0400 Format

The MODL0400 format lists the objects that are referenced by the module when the module is bound to an ILE program or service program. The following table shows how this information for each module is organized. For detailed descriptions of the fields in the list, see Field Descriptions.

Note: Do not use the generic header entry size for this format. Use the Size of this entry field returned in this format for the size of each entry.



MODL0500 Format

The MODL0500 format lists the copyrights contained in the module. The following table shows how this information for each module is organized. For detailed descriptions of the fields in the list, see Field Descriptions.

Note: Do not use the generic header entry size for this format. Use the Size of this entry field returned in this format for the size of each entry.



Field Descriptions

Copyright. Copyright information for the module.

Exported defined symbol name. An exported procedure or variable in this module. Other modules may use these symbols.

Exported defined symbol type. Indicates whether the exported symbol is a procedure or a data symbol. The possible values are:

Format name specified. The format name that was passed to this API on the call in the format parameter.

Imported (unresolved) symbol name. An imported procedure or variable in this module. This is typically a reference to a procedure exported from another module.

Imported (unresolved) symbol type. Indicates whether the imported symbol is a procedure or a data symbol. The possible values are:

Length of copyright. The length of the copyright.

Length of exported defined symbol name. The length of the exported defined symbol name.

Length of imported (unresolved) symbol name. The length of the imported (unresolved) symbol name.

Length of object name. The length of the object name.

Length of procedure name. The length of the procedure name.

Module library name. The name of the library containing the module.

Module library name specified. The module library name that was passed to this API in the qualified module name parameter.

Module name. The name of the module.

Module name specified. The module name that was passed to this API in the qualified module name parameter.

Object library name. The name of the library where the object exists. If the object library name is blank, the object is in the integrated file system.

Object name. A system object that is referenced at bind time. This object (modules and/or service programs and/or binding directories) is used by CRTPGM or CRTSRVPGM when this module is listed on the MODULE parameter on CRTPGM or CRTSRVPGM.

Object type. The object type of the system object that is referenced at bind time. The possible special values are:

Offset to copyright. Offset from the beginning of the user space to the copyright for this entry.

Offset to exported defined symbol name. Offset from the beginning of the user space to the exported defined symbol name for this entry.

Offset to imported (unresolved) symbol name. Offset from the beginning of the user space to the imported (unresolved) symbol name for this entry.

Offset to object name. Offset from the beginning of the user space to the object name for this entry.

Offset to procedure name. Offset from the beginning of the user space to the procedure name for this entry.

Procedure name. A procedure defined in this module.

Procedure type. The type of procedure. The possible values are:

Reserved. An ignored field.

Size of this entry. The size, in bytes, of this entry. Do not use the generic header entry size for formats with this field. Use this field for the size of each entry.

User space library name specified. The user space library name that was passed to this API on the call in the qualified user space name parameter.

User space library name used. The name of the library that contains the user space that receives the module information requested.

User space name specified. The user space name that was passed to this API on the call in the qualified user space name parameter.

User space name used. The name of the user space that receives the module information requested.

Uses argument optimization (ARGOPT). Whether or not the procedure import or export uses argument optimization. For data imports and exports, this value has no meaning and is always given as a blank. For some procedure imports, this value cannot be determined and is given as *UNKNOWN. Possible values follow:



Error Messages



API introduced: V3R7

[ Back to top | Program and CL Command APIs | APIs by category ]