Object library utility map

The Object Library Utility produces a listing for a given library when the MAP command is specified. The listing contains information on each member of the library. A representative example is shown in Figure 1.

Figure 1. Object library utility map
========================================================================
|                      Object Library Utility Map                      |
| 1                                                                    |
|C370LIB:5647A01 V2 R9 M00 IBM Language Environment 1999/12/16 16:22:43|
========================================================================

  Library Name: TS41949.A.OBJECT                   1998/04/22 11:46:39

*----------------------------------------------------------------------*
*   Member Name: ASMSTUFF                      (D) 1998/04/22 11:46:39 *
* 2                                                569623400   R01 M01 *
*----------------------------------------------------------------------*

     (S) External Name: CSECT1
     (S) External Name: ENTRY1

*----------------------------------------------------------------------*
*   Member Name: CSTUFF                        (D) 1998/04/22 11:46:39 *
* 2                                                5688216     R32 M00 *
*----------------------------------------------------------------------*

     (L) Function Name: foo
    (WL) External Name: this_int_is_in_writable_static_and_its_name_will
                        _wrap_because_it_is_too_long

*----------------------------------------------------------------------*
*   Member Name: CXXSTUFF                      (D) 1998/04/22 11:46:39 *
* 2                                                5688216     R32 M00 *
*----------------------------------------------------------------------*
  3 
   User Comment: This is a user comment in CXXSTUFF
  4 
     (L) Function Name: testeh()
     (L) Function Name: f1()
     (L) Function Name: operator++(U&)
    (WL) External Name: i1
    (WL) External Name: i2


=========  E N D   O F   O B J E C T   L I B R A R Y   M A P  ==========
 1  Map Heading
The heading contains the product number, the compiler release number, the compiler version number, and the date and time the Object Library Utility step commenced. The name of the library immediately follows the heading. To the right of the name of the library is the start time of the last Object Library Utility step that updated the Object Library Utility directory.
 2  Member Heading
The name of the object module member is immediately followed by the ID of the processor that produced the object module. The processor ID is based on the presence of an END record in the object module having the processor information in the appropriate format. If this information is not present, the Processor ID field is not listed.
The Timestamp field is presented in yy/mm/dd format. The meaning of the timestamp is enclosed in parentheses. That is, the Object Library Utility retains a timestamp for each member and selects the time according to the following hierarchy:
(P)
Indicates that the timestamp is extracted from the object module from the date form of #pragma comment or from the timestamp form of #pragma comment, whichever comes first.
(D)
Indicates that the timestamp is based on the time that the Object Library Utility DIR command was last issued.
(T)
Indicates that the timestamp is the time that the ADD command was issued for the member.
 3  User Comments
The user form of comments generated by #pragma comment is displayed. These comments are extracted from the END record. It is possible to manually add such comments on multiple END records and have them displayed in the listing. See z/OS XL C/C++ Language Reference for more information on the END record.
 4  Symbol Information
Immediately following the Member Heading (and user comments, if any) is a list of the objects that the member defines. Each symbol is prefixed by Type information, enclosed in parentheses, and either External Name or Function Name. Function Name appears if the object module was compiled with the LONGNAME option and the symbol is the name of a defined external function. In all other cases, External Name is displayed. The symbol is the name of an external function defined in the member. That is:
'L'
Indicates that the name is an L-name.
'S'
Indicates that the name is an S-name.
'W'
Indicates that this is a writable static object. If no 'W' is present, then this is not a writable static object.
'WL'
Indicates that this is both an L-name and in writable static.