gtpm2m0sMigration Guide: Program Update Tapes

Migration of TPF System Code to ISO-C Support (APAR PJ19938)

The following section discusses the migration considerations for the migration of TPF system code to ISO-C support.

Prerequisite APARs

See the APEDIT for APAR PJ19938 for information about prerequisite APARs.

Functional Overview

The segments that comprise the ZIMAG and ZTPLD commands were migrated from TARGET(TPF) to ISO-C dynamic load modules (DLMs). The TARGET(TPF) IPRSE_parse and IPRSE_bldprstr functions were also migrated to the ISO-C general purpose library (CTBX). This migration effort provides a model of one type of approach for DLM packaging, which is placing several object files, where possible, into one DLM.

The 4 KB constraint no longer exists for the ZIMAG and ZTPLD commands.

Architecture

There are no architectural changes to support the migration of TPF system code to ISO-C support. See Architecture for more information about ISO-C architecture.

Operating Environment Requirements and Planning Information

There are none.

Interface Changes

The following section summarizes interface changes.

C/C++ Language

The following section summarizes the C/C++ language changes. This information is presented in alphabetic order by the type of C/C++ language information. See the TPF C/C++ Language Support User's Guide and TPF Application Programming for more information about the C/C++ language.

Build Scripts

Table 77 summarizes changes to the build scripts used by the build tool (CBLD). This information is presented in alphabetic order by the name of the build script.

Table 77. Changes to Build Scripts for the Migration of TPF System Code to ISO-C Support

Build Script Type New, Changed, or No Longer Supported? Description of Change
CIKBBS DLM New Build script for a ZIMAG DLM.
CILABS DLM New Build script for a ZTPLD DLM.
CILBBS DLM New Build script for a ZTPLD DLM.
CILDBS DLM New Build script for a ZTPLD DLM.
CILEBS DLM New Build script for a ZTPLD DLM.
CILFBS DLM New Build script for a ZTPLD DLM.
CILGBS DLM New Build script for a ZTPLD DLM.
CILHBS DLM New Build script for a ZTPLD DLM.
CIMABS DLM New Build script for a ZIMAG DLM.
CIMNBS DLM New Build script for a ZIMAG DLM.
CIMUBS DLM New Build script for a ZIMAG DLM.
CIMYBS DLM New Build script for a ZIMAG DLM.
CIM5BS DLM New Build script for a ZIMAG DLM.
CIM6BS DLM New Build script for a ZIMAG DLM.
CIM9BS DLM New Build script for a ZIMAG DLM.
CISO DLM No Longer Supported Build script for the CISO library.
CISOBS DLM New Build script for the CISO library.
CLLE DLM No Longer Supported Build script for the England locales.
CLLEBS DLM New Build script for the England locales.
CLLF DLM No Longer Supported Build script for the France locales.
CLLFBS DLM New Build script for the France locales.
CLLG DLM No Longer Supported Build script for the Germany locales.
CLLGBS DLM New Build script for the Germany locales.
CLLI DLM No Longer Supported Build script for the Italy locales.
CLLIBS DLM New Build script for the Italy locales.
CLLS DLM No Longer Supported Build script for the Spain locale.
CLLSBS DLM New Build script for the Spain locale.
CLLT DLM No Longer Supported Build script for the TPF locales.
CLLTBS DLM New Build script for the TPF locales.
CLLU DLM No Longer Supported Build script for the U.S. locales.
CLLUBS DLM New Build script for the U.S. locales.
CRFABS DLM New Build script for the CRFA DLM.
CRF1BS DLM New Build script for the CRF1 DLM.
CTAL LLM No Longer Supported Build script for the CTAL library.
CTALBS DLM New Build script for the TPF API library.
CTBXBS DLM New Build script for the CTBX library.
CVRIBS DLM New Build script for a ZIMAG DLM.
CVZ3BS DLM New Build script for a ZIMAG DLM.

Dynamic Load Module (DLM) Stubs

Table 78 summarizes changes to the dynamic load module (DLM) stubs. This information is presented in alphabetic order by the name of the DLM stub. See TPF Application Programming for more information about the DLM stubs.

Table 78. Changes to Dynamic Load Module (DLM) Stubs for Migration of TPF System Code to ISO-C Support

DLM Stub New, Changed, or No Longer Supported?
CEL6 New
CIKB New
CILB New
CILD New
CILE New
CILF New
CILG New
CILH New
CIMN New
CIMU New
CIMY New
CIM5 New
CIM6 New
CIM9 New
CLEI New
CLEM New
CLES New
COLX New
COLZ New
CYYI New
UELI New
UELM New

General Use C Language Header Files

Table 79 summarizes the general use C language header file changes. This information is presented in alphabetic order by the name of the general use C language header file.

General use means these header files are available for your use.

Table 79. Changes to General Use C Language Header Files for the Migration of TPF System Code to ISO-C Support

General Use C Language Header File TARGET (TPF) ISO-C New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
c$idseld.h X X Changed No
c$idslst.h X X Changed No
c$idsuxt.h X X Changed No
tpfparse.h X X Changed No
zimagmc.h   X Changed No

Implementation-Specific C/C++ Language Header Files (IBM Use Only)

There are no changes.

Library Interface Scripts

Table 80 summarizes changes to the library interface scripts used by the library interface tool and the build tool. This information is presented in alphabetic order by the name of the library interface script.

Table 80. Changes to Library Interface Scripts for the Migration of TPF System Code to ISO-C Support

Library Interface Script New, Changed, or No Longer Supported? Description of Change
CTBXXV New Contains IPRSE_parse and IPRSE_bldprstr library functions with their respective ordinals.

Library Members (Object Files)

Table 81 summarizes the library member (object file) changes. This information is presented in alphabetic order by the name of the library member (object file).

Table 81. Changes to Library Members (Object Files) Migration of TPF System Code to ISO-C Support

Library Member (Object File) Library Module Name New, Changed, or No Longer Supported? Type Description of Change
CRFA CTBX Changed C Language Added compiler error and NORENT option, changed perror calls to serrc_op_ext.
CRFB CTBX Changed C Language Added compiler error and NORENT option, changed perror calls to serrc_op_ext.
CRFC CTBX Changed C Language Added compiler error and NORENT option, changed perror calls to serrc_op_ext.
CRFD CTBX Changed C Language Added compiler error and NORENT option; changed perror calls to serrc_op_ext.
CRFE CTBX Changed C Language Added compiler error and NORENT option; changed perror calls to serrc_op_ext.
CRFG CTBX Changed C Language Added compiler error and NORENT option; changed perror calls to serrc_op_ext.
CRFH CTBX Changed C Language Added compiler error and NORENT option; changed perror calls to serrc_op_ext.
CRFI CTBX Changed C Language Added compiler error and NORENT option.
CRFJ CTBX Changed C Language Added compiler error and NORENT option.
CRFK CTBX Changed C Language Added compiler error and NORENT option; changed perror calls to serrc_op_ext.

Link-Edited Modules

There are no changes.

Members (Object Files)

Table 82 summarizes changes to members (object files). This information is presented in alphabetic order by the name of the member (object file).

Notes:

  1. You must recompile or reassemble a member (object file) if it has changed.

  2. You must prelink and link a dynamic load module (DLM) if it has changed.

Table 82. Changes to Members (Object Files) for the Migration of TPF System Code to ISO-C Support

Member (Object File) DLM/DLL New, Changed, or No Longer Supported? Type Description of Change
CIKA CIMA Changed C Language Added compiler error.
CIKB CIKB Changed C Language Added compiler error; added RENT option.
CIKC CIMA Changed C Language Added compiler error.
CIKD CIMA Changed C Language Added compiler error.
CIKE CIMU Changed C Language Added compiler error.
CILA CILA Changed C Language Added compiler error.
CILB CILB Changed C Language Added compiler error; added RENT option.
CILC CILA Changed C Language Added compiler error.
CILD CILD Changed C Language Added compiler error.
CILE CILE Changed C Language Added compiler error; added RENT option.
CILF CILF Changed C Language Added compiler error.
CILG CILG Changed C Language Added compiler error.
CILH CILH Changed C Language Added compiler error.
CIL0 CILA Changed C Language Added compiler error.
CIL1 CILA Changed C Language Added compiler error.
CIL2 CILA Changed C Language Added compiler error.
CIL3 CILA Changed C Language Added compiler error.
CIL4 CILA Changed C Language Added compiler error.
CIL5 CILA Changed C Language Added compiler error.
CIL6 CILA Changed C Language Added compiler error.
CIL7 CILA Changed C Language Added compiler error.
CIMA CIMA Changed C Language Added compiler error.
CIMB CIMA Changed C Language Added compiler error.
CIMC CIMA Changed C Language Added compiler error.
CIMD CIMA Changed C Language Added compiler error.
CIME CIMA Changed C Language Added compiler error.
CIMF CIMA Changed C Language Added compiler error.
CIMG CIMA Changed C Language Added compiler error.
CIMH CIMA Changed C Language Added compiler error.
CIMI CIMA Changed C Language Added compiler error.
CIMJ CIMA Changed C Language Added compiler error.
CIMK CIMA Changed C Language Added compiler error.
CIML CIMA Changed C Language Added compiler error.
CIMN CIMN Changed C Language Added compiler error.
CIMO CIMA Changed C Language Added compiler error.
CIMP CIMA Changed C Language Added compiler error.
CIMQ CIMA Changed C Language Added compiler error.
CIMS CIMA Changed C Language Added compiler error.
CIMT CIMA Changed C Language Added compiler error.
CIMU CIMU Changed C Language Added compiler error.
CIMV CIMU Changed C Language Added compiler error.
CIMW CIMU Changed C Language Added compiler error.
CIMX CIMA Changed C Language Added compiler error.
CIMY CIMY Changed C Language Added compiler error.
CIMZ CIMA Changed C Language Added compiler error.
CIM0 CIMA Changed C Language Added compiler error.
CIM3 CIMA Changed C Language Added compiler error.
CIM4 CIMA Changed C Language Added compiler error.
CIM5 CIM5 Changed C Language Added compiler error.
CIM6 CIM6 Changed C Language Added compiler error.
CIM7 CIMY Changed C Language Added compiler error.
CIM8 CIMA Changed C Language Added compiler error.
CIM9 CIM9 Changed C Language Added compiler error; added RENT option.
CRFAPR CRFA New C Language Added compiler error; acts as front-end DLM for TARGET(TPF) programs calling the IPRSE_parse library function.
CRF1PR CRF1 New C Language Added compiler error; acts as front-end DLM for TARGET(TPF) programs calling the IPRSE_bldprstr library function.
CVRI CVRI Changed C Language Added compiler error.
CVZ3 CVZ3 Changed C Language Added compiler error.

Object Code Only (OCO) Stubs

There are no changes.

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

There are no changes.

Copy Members

There are no changes.

Fixed File Records

There are no changes.

Macros

The following section summarizes the macro changes. This information is presented in alphabetic order by the type of macro.

Advanced Program-to-Program Communications (APPC) Macros

There are no changes.

Communication Macros and Statements

There are no changes.

Data Macros

Table 83 summarizes the data macro changes. This information is presented in alphabetic order by the name of the data macro.

Table 83. Changes to Data Macros for Migration of TPF System Code to ISO-C Support

Data Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs Using This Data Macro?
IDSLST Changed No

General Macros

There are no changes.

Selected Equate Macros

There are no changes.

Structured Programming Macros (SPMs)

There are no changes.

System Initialization Program (SIP) Skeleton and Internal Macros (Inner Macros)

Table 84 summarizes the system initialization program (SIP) skeleton and internal macro changes. This information is presented in alphabetic order by the name of the SIP skeleton and internal macro. See TPF System Generation for a complete description of the SIP skeleton and internal macros. If the SIP skeleton and internal macro (inner macro) is changed, you must reassemble the SIP Stage I deck and run the appropriate job control language (JCL) jobs from the SIP Stage II deck.

Table 84. Changes to SIP Skeleton and Internal Macros for Migration of TPF System Code to ISO-C Support

SIP Skeleton and Internal Macro New, Changed, or No Longer Supported?
SPPGML Changed

System Initialization Program (SIP) Stage I Macros and Statements

Table 85 summarizes system initialization program (SIP) Stage I macro and statement changes. This information is presented in alphabetic order by the name of the SIP Stage I macro. See TPF System Generation for a complete description of the SIP Stage I macros. If the SIP Stage I macro is changed, you must run the appropriate job control language (JCL) jobs from the SIP Stage II deck.

See System Initialization Program (SIP) and System Generation Changes for a description of other system generation changes you must make for the migration of TPF system code to ISO-C support.

Table 85. Changes to SIP Stage I Macros and Statements for the Migration of TPF System Code to ISO-C Support

SIP Stage I Macro New, Changed, or No Longer Supported?
GENSIP Changed

System Initialization Program (SIP) Stage II Macros

Table 86 summarizes system initialization program (SIP) Stage II macro changes. This information is presented in alphabetic order by the name of the SIP Stage II macro. See TPF System Generation for a complete description of the SIP Stage II macros. If IBMPAL is changed, you must run the system allocator (SALO) and load the new program allocation table (PAT) to the TPF 4.1 system.

Table 86. Changes to SIP Stage II Macros for the Migration of TPF System Code to ISO-C Support

SIP Stage II Macro New, Changed, or No Longer Supported?
IBMPAL Changed

System Communication Keypoint (SCK) Generation Macros

There are no changes.

System Macros

There are no changes.

System Macros (IBM Use Only)

There are no changes.

Segments

Table 87 summarizes segment changes. This information is presented in alphabetic order by the name of the segment.

Table 87. Changes to Segments for the Migration of TPF System Code to ISO-C Support

Segment Type Link-Edit Module (Where Offline Segment Is Linked) New, Changed, or No Longer Supported? Description of Change
CSTRTD Assembler See Description of Change. Changed Changed @@DLMENT (DLM entry point) from floating to a fixed location.

CSTRTD is always linked with each ISO-C DLM when building (prelink/linkedit) a DLM.

System Equates

There are no changes.

User Exits

There are no changes.

Functional and Operational Changes

The following section summarizes functional and operational changes. This information is presented in alphabetic order by the functional or operational change.

See Appendix A, "PUT 2-15 Interface Changes by Authorized Program Analysis Report (APAR)" for a summary of functional and operational changes by APAR.

Commands

There are no changes to the commands, however, the segments that comprise the ZIMAG and ZTPLD commands have been migrated to ISO-C dynamic load modules (DLMs).

Messages and System Errors

There are no changes.

Performance or Tuning Changes

The best performance is obtained when there is no static in the libraries.

Storage Considerations and Changes

There are no changes.

System Initialization Program (SIP) and System Generation Changes

The new CTBX library requires 33 862 bytes in the core resident program area (CRPA) and 12 ordinals.

Loading Process Changes

There are no changes.

Online System Load Changes

There are no changes.

Publication Changes

Table 88 summarizes changes to the publications in the TPF library. This information is presented in alphabetic order by the publication title. See the TPF Library Guide for more information about the TPF library.

Table 88. Changes to TPF Publications for the Migration of TPF System Code to ISO-C Support

Publication Title Softcopy File Name Description of Change
TPF Application Programming GTPAPP03 Updated by the migration of TPF system code to ISO-C support.
TPF Library Guide GTPDOC03 Updated with definitions for new terminology in the master glossary.
TPF Migration Guide: Program Update Tapes GTPMIG03 Updated with migration considerations for migration of TPF system code to ISO-C support.
TPF Programming Standards GTPPSM03 Updated by the migration of TPF system code to ISO-C support.
TPF System Generation GTPSYG03 Updated by the migration of TPF system code to ISO-C support.

Host System Changes

There are no changes.

Application Programming Interface (API) Changes

There are no changes.

Database Changes

There are no changes.

Feature Changes

There are no changes.

Installation Validation

See the APEDIT for APAR PJ19938 for more information about installation validation.

Migration Scenarios

Repeat the following procedure for all subsystems in a multiple database function (MDBF) environment.

  1. Enter ZIMAG to define a new image.
    Note:
    Because you are defining a new image, you must do one of the following:
    • Copy the entire program base and core image restart area (CIMR) components from another image.
    • Perform a full load in step 8.
  2. Reassemble and recompile without TARGET(TPF) all required programs. (Required programs refers to the programs affected by changes discussed earlier in the description of the migration of TPF system code to ISO-C support)
  3. Generate the library stubs for the library functions in the newly created library (CTBX). This step is needed for the BSS only.
  4. Generate stubs for those programs that are called externally by the ZIMAG and ZTPLD DLMs.
  5. Create a new system allocator (SALO) that includes the following:
  6. Recompile and run SALO to create an updated IPAT and TABLE.
  7. Link all applicable programs again, making sure that you pick up the updated CSTRTD (C startup code) for the ISO-C DLMs.
  8. Define a load deck for TPFLDR/TLDR that includes the following:
  9. Run TPFLDR/TLDR.
  10. Perform a load to the new image.
  11. Enable the new image.
  12. IPL the TPF 4.1 system and choose the new image as the active image.
  13. IPL any other TPF 4.1 systems that are defined in your complex using the new image as the active image.

    Migration is completed.