1 | Qualified user space name | Input | Char(20) |
2 | Format name | Input | Char(8) |
3 | Qualified module name | Input | Char(20) |
4 | Error code | I/O | Char(*) |
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:
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:
*CURLIB | The job's current library |
*LIBL | The library list |
The content and format of the information to be returned about the specified modules. One of the following format names may be used:
MODL0100 Format | Module export (*EXPORT) information. |
MODL0200 Format | Module import (*IMPORT) information. |
MODL0300 Format | Module procedures (*PROCLIST) information. |
MODL0400 Format | Referenced system objects (*REFSYSOBJ) information. |
MODL0500 Format | Module copyright (*COPYRIGHT) information. |
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.
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:
*ALL | All modules |
generic* | All modules that begin with this generic prefix. For example, WRK* lists information for all modules that begin with WRK to which you are authorized. |
The library name can be a specific library name or one of these special values:
*ALL | All libraries in the system |
*ALLUSR | All non-system libraries. For information on the libraries included, see *ALLUSR in Generic library names. |
*CURLIB | The job's current library |
*LIBL | The library list |
*USRLIBL | Libraries listed in the user portion of the library list |
The structure in which to return error information. For the format of the structure, see Error Code Parameter.
The user space contains:
For details about the user area and generic header, see User Space Format for List APIs. 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.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | CHAR(10) | User space name specified |
10 | A | CHAR(10) | User space library name specified |
20 | 14 | CHAR(8) | Format name specified |
28 | 1C | CHAR(10) | Module name specified |
38 | 26 | CHAR(10) | Module library name specified |
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | CHAR(10) | User space name used |
10 | A | CHAR(10) | User space library name used |
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.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Size of this entry |
4 | 4 | CHAR(10) | Module name |
14 | E | CHAR(10) | Module library name |
24 | 18 | CHAR(1) | Exported defined symbol type |
25 | 19 | CHAR(3) | Reserved |
28 | 1C | BINARY(4) | Offset to exported defined symbol name |
32 | 20 | BINARY(4) | Length of exported defined symbol name |
36 | 24 | CHAR(10) | Uses argument optimization (ARGOPT) |
46 | 2E | CHAR(*) | Reserved |
Module information through offsets | |||
CHAR(*) | Exported defined symbol name |
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.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Size of this entry |
4 | 4 | CHAR(10) | Module name |
14 | E | CHAR(10) | Module library name |
24 | 18 | CHAR(1) | Imported (unresolved) symbol type |
25 | 19 | CHAR(3) | Reserved |
28 | 1C | BINARY(4) | Offset to imported (unresolved) symbol name |
32 | 20 | BINARY(4) | Length of imported (unresolved) symbol name |
36 | 24 | CHAR(10) | Uses argument optimization (ARGOPT) |
46 | 2E | CHAR(*) | Reserved |
Module information through offsets | |||
CHAR(*) | Imported (unresolved) symbol name |
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.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Size of this entry |
4 | 4 | CHAR(10) | Module name |
14 | E | CHAR(10) | Module library name |
24 | 18 | CHAR(1) | Procedure type |
25 | 19 | CHAR(3) | Reserved |
28 | 1C | BINARY(4) | Offset to procedure name |
32 | 20 | BINARY(4) | Length of procedure name |
36 | 24 | CHAR(10) | Uses argument optimization (ARGOPT) |
46 | 2E | CHAR(*) | Reserved |
Module information through offsets | |||
CHAR(*) | Procedure name |
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.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Size of this entry |
4 | 4 | CHAR(10) | Module name |
14 | E | CHAR(10) | Module library name |
24 | 18 | CHAR(10) | Object type |
34 | 22 | CHAR(10) | Object library name |
44 | 2C | BINARY(4) | Offset to object name |
48 | 30 | BINARY(4) | Length of object name |
52 | 34 | CHAR(*) | Reserved |
Module information through offsets | |||
CHAR(*) | Object name |
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.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Size of this entry |
4 | 4 | CHAR(10) | Module name |
14 | E | CHAR(10) | Module library name |
24 | 18 | BINARY(4) | Offset to copyright |
28 | 1C | BINARY(4) | Length of copyright |
32 | 20 | CHAR(*) | Reserved |
Module information through offsets | |||
CHAR(*) | Copyright |
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:
'00'X | The exported symbol is a procedure. |
'01'X | The exported symbol is a data item. |
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:
'00'X | The imported symbol is a procedure. |
'01'X | The imported symbol is a data item. |
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:
*MODULE | The object is a module. |
*SRVPGM | The object is a service program. |
*BNDDIR | The object is a binding directory. |
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:
'00'X | Regular procedure. If the type is regular, this procedure cannot serve as a program entry procedure. |
'01'X | Entry point procedure. If the type is entry point, this procedure can serve as a program entry procedure when this module is bound to a program. |
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:
*YES | The procedure import or export uses argument optimization (ARGOPT) |
*NO | The procedure import or export does not use argument optimization (ARGOPT) |
*UNKNOWN | The procedure import is used only to construct procedure pointers and is never called directly. |
Blank | The symbol is not a procedure import or export. |
Message ID | Error Message Text |
---|---|
CPD5CFE E | Module &1 in library &2 is in error. |
CPF24B4 E | Severe error while addressing parameter list. |
CPF3C20 E | Error found by program &1. |
CPF3C21 E | Format name &1 is not valid. |
CPF3C90 E | Literal value cannot be changed. |
CPF3CAA E | List is too large for user space &1. |
CPF3CF1 E | Error code parameter not valid. |
CPF5CFD E | Module name &1 not a valid special value. |
CPF5CFE E | Module &1 in file &2 not changed. |
CPF811A E | User space &4 in &9 damaged. |
CPF8122 E | &8 damage on library &4. |
CPF8123 E | Damage on object information for library &4. |
CPF8130 E | Character in quoted name not valid. |
CPF9801 E | Object &2 in library &3 not found. |
CPF9802 E | Not authorized to object &2 in &3. |
CPF9803 E | Cannot allocate object &2 in library &3. |
CPF9804 E | Object &2 in library &3 damaged. |
CPF9806 E | Cannot perform function for object &2 in library &3. |
CPF9807 E | One or more libraries in library list deleted. |
CPF9808 E | Cannot allocate one or more libraries on library list. |
CPF9810 E | Library &1 not found. |
CPF9811 E | Program &1 in library &2 not found. |
CPF9820 E | Not authorized to use library &1. |
CPF9821 E | Not authorized to program &1 in library &2. |
CPF9830 E | Cannot assign library &1. |
CPF9838 E | User profile storage limit exceeded. |
Top | Program and CL Command APIs | APIs by category |