gtpm2m1rMigration Guide: Program Update Tapes

TPF Internet Server Support (APARs PJ25589 and PJ25703)

The following section discusses the migration considerations for TPF Internet server support.

Prerequisite APARs

See the APEDIT for APARs PJ25589 and PJ25703 for information about prerequisite APARs.

Functional Overview

The following information describes the enhancements made to the TPF 4.1 system for TPF Internet server support.

TPF As a Web Site

The Internet, or World Wide Web, has taken the world by storm. The basis for the World Wide Web (WWW or Web) is the Hypertext Transfer Protocol (HTTP). The Web today is mostly read-only, a request-response operation. It is slowly moving to a truer transactional state with an increasing number of server updates and application complexity. Many current efforts involve Web enabling transactional applications that are compliant with the Portable Operating System Interface for Computer Environments (POSIX) standards. POSIX support on other systems, including IBM OS/390 and IBM Virtual Machine (VM), enable transactions to be portable.

TPF Internet server support enables the TPF 4.1 system to run Internet servers, such as a Web server, by providing:

Web Pages

An HTTP server retrieves Web pages from the file system for clients on the Internet. The TFTP server stores Web page content in the file system. You can create and edit your Web site pages elsewhere, such as a personal computer (PC) or UNIX system, and then transfer them to the TPF 4.1 system.

Retrieving TPF Data

You can get TPF data from a TPF application by starting the application using an executable script, which is a type of executable file in the file system.

Internet Daemon

The Internet daemon controls the flow of inbound Internet traffic and is the central point from which Internet server applications such as an HTTP server and a TFTP server are managed.

All Internet server applications handled by the Internet daemon follow a defined process model. The process model determines the interface used by the Internet daemon to start the Internet server application.

Trivial File Transfer Protocol (TFTP) Server

The TFTP server is a file transfer server that stores data as files in the file system. Web site files, such as Hypertext Markup Language (HTML) source Web pages or Java applets, are transferred to the TPF 4.1 system using TFTP.

Architecture

The primary objective of TPF Internet server support is to enable a TPF 4.1 system to be a Web site. The following information describes the changes that were made to the TPF 4.1 system to make this possible.

Internet Daemon

The Internet daemon consists of the Internet daemon monitor and Internet daemon listeners. The Internet daemon monitor starts Internet daemon listeners for Internet server applications. Internet daemon listeners create and monitor sockets for Internet server applications.

Automatic Internet Daemon Recovery

It is important that the Internet daemon is always running; therefore, there is an automatic recovery mechanism. When the Internet daemon detects a change in the system activation number because of an online program load (ZOLDR command), it recycles itself by ending and restarting without disruption to network traffic.

Internet Daemon Configuration File (IDCF)

The Internet daemon configuration file (IDCF) controls the behavior of the Internet daemon and contains data to start and control an Internet server application. The IDCF is subsystem unique and processor shared. It is stored in #IBMM4 fixed file records, from ordinal 158 to ordinal 161.

The IDCF can be viewed as a table with an entry defined for each Internet server application. A maximum of 100 entries is allowed.

The IDCF is maintained using the ZINET ADD, ZINET ALTER, ZINET DELETE, and ZINET DISPLAY commands. See TPF Operations for more information about the ZINET commands.

Trivial File Transfer Protocol (TFTP) Configuration File

The Trivial File Transfer Protocol (TFTP) configuration file controls the behavior of the TFTP server in the TPF system. Statements called directives tell the TFTP server what action to take in various conditions.

Typically, a TFTP configuration file consists of directives that specify:

See TPF Transmission Control Protocol/Internet Protocol for more information about directives and the TFTP configuration file.

Create a file with directives on another system and then transfer it to the TPF 4.1 system using the TFTP server as the TFTP configuration file (/etc/tftp.conf); if the file is not in EBCDIC, it can be converted by the TFTP server.

Note:
This file must be the first file transferred.

A Process Model

TPF Internet server support provides a process model to assist with the porting of POSIX-compliant Internet server applications from other systems. This process model consists of a subset of POSIX-compliant application programming interface (API) functions and TPF-unique API functions, including the tpf_fork function, which creates a child process. A child process created by the tpf_fork function inherits a number of properties from the parent process.

See TPF Application Programming for more information about the implementation of the POSIX process model on the TPF 4.1 system, including information about process identifiers (IDs), process groups, and process inheritance. See the TPF C/C++ Language Support User's Guide for more information about the tpf_fork function and other related functions provided by TPF Internet server support.

Notes:

  1. The TPF system is not POSIX-compliant; only a subset of POSIX-compliant API functions are implemented.

  2. The tpf_fork function is unique to the TPF 4.1 system, but is based on the POSIX fork and exec functions.

File Access in the File System

Access to a file in the file system is controlled by the effective user ID, effective group ID, and access permissions. See TPF Application Programming for more information about effective user ID, effective group ID, and access permissions.

Use the ZFILE chmod and ZFILE chown commands to maintain file accessibility by changing the access permissions and the owner or group of a file in the file system. See TPF Operations for more information about the ZFILE chmod and ZFILE chown commands.

Executable Script

An executable script is a type of executable file in the file system and is used to start a TPF application. An HTTP server starts the program specified in the executable script. See TPF Application Programming for information about writing an executable script.

HTTP Server

Although an HTTP server is not provided as part of the base TPF 4.1 system, using TPF Internet server support, an HTTP server can be installed so that Web pages can be retrieved and TPF applications can be started from the Internet.

Internet Daemon Operations

There are ZINET commands to:

See TPF Transmission Control Protocol/Internet Protocol and TPF Operations for more information about the ZINET commands.

Performance Measurement

In the I-stream summary report, the count for SWISC entries also includes tpf_fork function calls. See TPF System Performance and Measurement Reference for more information about the I-stream summary report.

Mixed-Case Terminal Support

Mixed-case text from terminals is now supported for loosely coupled and multiple database function (MDBF) environments. The CE2CRMSG field in page 2 of the entry control block (ECB) is the address of a message buffer that contains message text as it was received by the TPF 4.1 system.

This change does not affect the existing interface on data level 0 (D0).

Mixed-case terminal support is provided for:

The interface remains as uppercase text only for CRAS terminals not logged to the SMP.

Operating Environment Requirements and Planning Information

To ensure that your TPF 4.1 system performs correctly with TPF Internet server support, you must establish the required operating environment. The following section describes hardware and software requirements specific to TPF Internet server support.

Operating Environment Requirements and Planning Information provides information about the minimum system configuration requirements that are necessary to operate the TPF 4.1 system. You may find it helpful to review that chapter along with the following information.

Hardware

The following section contains information about hardware requirements.

Terminals and Display Devices

To fully use TPF Internet server support, your terminals or display devices must support both uppercase and lowercase characters.

Software (Programming Requirements)

The following section contains information about software requirements.

Communication

The TPF 4.1 system supports any Trivial File Transfer Protocol (TFTP) client that conforms to the Internet Activity Board (IAB) TFTP draft standard documented in Request for Comments (RFC) 1350.

Interface Changes

The following section summarizes interface changes.

C/C++ Language

The following section summarizes 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 485 summarizes changes to the build scripts used by the build tool. This information is presented in alphabetic order by the name of the build script.

Table 485. Changes to Build Scripts for TPF Internet Server Support

Build Script Type New, Changed, or No Longer Supported? Description of Change
CFIABS DLM New Build script for the ZFILE ls command.
CFIBBS DLM New Build script for the ZFILE chmod command.
CFICBS DLM New Build script for the ZFILE chown command.
CFIDBS DLM New Build script for the ZFILE rm command.
CFIEBS DLM New Build script for the ZFILE mknod command.
CFIMBS DLM New Build script for the ZFILE command main processor.
CFIZBS DLM New Build script for the ZFILE command error messages.
CISOBS DLM Changed Updated to support inheritable file descriptors.
CLTVBS DLM New Build script for the ZINET command.
CLTWBS DLM New Build script for the Internet daemon monitor.
CLTXBS DLM New Build script for the Internet daemon listener.
CLTYBS DLM New Build script for the Internet daemon cycle handler, Internet daemon start and stop functions, and Internet daemon configuration table (IDCT).
COMXBS DLM Changed Updated to support new functions and inheritable file descriptors.
CTFTBS DLM New Build script for Trivial File Transfer Protocol (TFTP).
CTALBS DLM Changed Updated to support the cinfc_fast_ss function.

Dynamic Load Module (DLM) Stubs

There are no changes.

General Use C/C++ Language Header Files

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

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

Table 486. Changes to General Use C/C++ Language Header Files for TPF Internet Server Support

C/C++ Language Header File New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
c$cinfc.h Changed No
c$ddsm.h Changed Yes
c$dgrp.h New Not Applicable
c$dpwd.h New Not Applicable
c$eb0eb.h Changed No
c$iect.h New Not Applicable
c$ipbt.h New Not Applicable
c$proc.h Changed Yes
c$pwgr.h New Not Applicable
c$spif.h Changed Yes
c$syseq.h Changed No
tftp.h New Not Applicable
grp.h New Not Applicable
pwd.h New No
signal.h Changed No
sysapi.h Changed No
unistd.h Changed No
wait.h New No

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

Table 487 summarizes the general use C/C++ language header file changes that are for IBM use only. This information is presented in alphabetic order by the name of the general use C/C++ language header file.

Table 487. Changes to Implementation-Specific C/C++ Language Header Files (IBM Use Only) for TPF Internet Server Support

C/C++ Language Header File (IBM Use Only) New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
i$cszs.h Changed Yes
i$fdes.h Changed Yes
i$fsdd.h Changed Yes
i$fslk.h New Not Applicable
i$fsqu.h Changed No
i$glue.h Changed Yes
i$gulp.h No Longer Supported No
i$link.h Changed Yes
i$make.h Changed Yes
i$netd.h New Not Applicable
i$node.h Changed No
i$opfd.h Changed Yes
i$path.h No Longer Supported No
i$tcpc.h Changed No
i$tdat.h No Longer Supported No
i$tftp.h New Not Applicable
i$tran.h Changed Yes
i$treq.h Changed Yes
i$tres.h Changed Yes

Library Interface Scripts

Table 488 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 488. Changes to Library Interface Scripts for TPF Internet Server Support

Library Interface Script New, Changed, or No Longer Supported? Description of Change
COMXXV Changed Added TPF Internet server support functions.
CTALXV Changed Added the new __credbg internal function and the new cinfc_fast_ss function.

Library Members (Object Files)

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

Table 489. Changes to Library Members (Object Files) for TPF Internet Server Support

Library Member (Object File) Library Module Name New, Changed, or No Longer Supported? Type Description of Change
CBEPEG CISO Changed Object Code Only Updated to support changes to signals processing.
CCINT CISO Changed C Language Updated to support changes to signals processing.
CDDNUL COMX Changed C Language Updated to support inheritable file descriptors.
CDDSOC COMX Changed C Language Updated to support inheritable file descriptors.
CDMONT CISO No Longer Supported Assembler The processing that used this segment now uses the cinfc function.
CEXITF CISO Changed C Language Updated abort function processing for new signals structure.
CFORKA COMX New C Language Added the C language interface to the $FORKC macro.
CFORKC COMX New C Language Added the tpf_fork function.
CFS001 COMX Changed C Language Updated to support inheritable file descriptors.
CFS002 COMX Changed C Language Updated to support inheritable file descriptors.
CFS003 COMX Changed C Language Updated to support inheritable file descriptors.
CFS004 COMX Changed C Language Updated to support inheritable file descriptors.
CFS005 COMX Changed C Language Updated to support inheritable file descriptors.
CFS008 COMX Changed C Language Updated to support inheritable file descriptors.
CFS009 COMX Changed C Language Updated to support inheritable file descriptors.
CFS010 COMX Changed C Language Updated to support inheritable file descriptors.
CFS011 COMX Changed C Language Updated to support inheritable file descriptors.
CFS012 COMX Changed C Language Updated to support inheritable file descriptors.
CFS013 COMX Changed C Language Updated to support inheritable file descriptors.
CFS014 COMX Changed C Language Updated to support inheritable file descriptors.
CFS015 COMX Changed C Language Updated to support inheritable file descriptors.
CFS016 COMX Changed C Language Updated to support inheritable file descriptors.
CFS017 COMX Changed C Language Updated to support inheritable file descriptors.
CFS018 COMX Changed C Language Updated to support inheritable file descriptors.
CFS019 COMX Changed C Language Updated to support inheritable file descriptors.
CFS020 COMX Changed C Language Updated to support inheritable file descriptors.
CFS021 COMX Changed C Language Updated to support inheritable file descriptors.
CFS022 COMX Changed C Language Updated to support inheritable file descriptors.
CFS024 COMX Changed C Language Updated to support inheritable file descriptors.
CFS028 COMX Changed C Language Updated to support inheritable file descriptors.
CFS031 COMX Changed C Language Updated to support inheritable file descriptors.
CFS032 COMX Changed C Language Updated to support inheritable file descriptors.
CFS033 COMX Changed C Language Updated to support inheritable file descriptors.
CFS034 COMX Changed C Language Updated to support inheritable file descriptors.
CFS035 COMX Changed C Language Updated to support inheritable file descriptors.
CFS037 COMX Changed C Language Updated to support inheritable file descriptors.
CFS038 COMX Changed C Language Updated to support inheritable file descriptors.
CFS102 COMX Changed C Language Updated to support inheritable file descriptors.
CFS103 COMX No Longer Supported C Language Removed to support inheritable file descriptors.
CFS104 COMX No Longer Supported C Language Removed to support inheritable file descriptors.
CFS107 COMX New C Language Added to support inheritable file descriptors.
CFS108 COMX Changed C Language Updated to support inheritable file descriptors.
CFS109 COMX No Longer Supported C Language Removed to support inheritable file descriptors.
CFS110 COMX New C Language Added to support inheritable file descriptors.
CFS111 COMX Changed C Language Updated to support inheritable file descriptors.
CFS113 COMX No Longer Supported C Language Removed to support inheritable file descriptors.
CFS114 COMX No Longer Supported C Language Removed to support inheritable file descriptors.
CFS115 COMX Changed C Language Updated to support inheritable file descriptors.
CFS116 COMX Changed C Language Updated to support inheritable file descriptors.
CFS119 COMX No Longer Supported C Language Removed to support inheritable file descriptors.
CFS121 COMX Changed C Language Updated to support inheritable file descriptors.
CFS123 COMX Changed C Language Updated to support inheritable file descriptors.
CFS126 COMX Changed C Language Updated to support inheritable file descriptors.
CFS127 COMX Changed C Language Updated to support inheritable file descriptors.
CFS130 COMX Changed C Language Updated to support inheritable file descriptors.
CFS131 COMX Changed C Language Updated to support inheritable file descriptors.
CFS135 COMX Changed C Language Updated to support inheritable file descriptors.
CFS139 COMX Changed C Language Updated to support inheritable file descriptors.
CFS145 COMX Changed C Language Updated to support inheritable file descriptors.
CFS147 COMX No Longer Supported C Language Removed to support inheritable file descriptors.
CFS148 COMX Changed C Language Updated to support inheritable file descriptors.
CFS149 COMX Changed C Language Updated to support inheritable file descriptors.
CFS150 COMX Changed C Language Updated to support inheritable file descriptors.
CFS152 COMX Changed C Language Updated to support inheritable file descriptors.
CFS153 COMX No Longer Supported C Language Removed to support inheritable file descriptors.
CFS154 COMX Changed C Language Updated to support inheritable file descriptors.
CFS157 COMX Changed C Language Updated to support inheritable file descriptors.
CFS159 COMX No Longer Supported C Language Removed to support inheritable file descriptors.
CFS166 COMX Changed C Language Updated to support inheritable file descriptors.
CFS167 COMX Changed C Language Updated to support inheritable file descriptors.
CFS169 COMX Changed C Language Updated to support inheritable file descriptors.
CFS304 COMX Changed C Language Updated to support inheritable file descriptors.
CFS354 COMX Changed C Language Updated to support inheritable file descriptors.
CFS404 COMX Changed C Language Updated to support inheritable file descriptors.
CFS454 COMX Changed C Language Updated to support inheritable file descriptors.
CFS504 COMX Changed C Language Updated to support inheritable file descriptors.
CFS554 COMX Changed C Language Updated to support inheritable file descriptors.
CFS604 COMX Changed C Language Updated to support inheritable file descriptors.
CGETPD COMX New C Language Added the getpid function.
CGETPP COMX New C Language Added the getppid function.
CGSWBC COMX, CISO New C Language Added the C language interface to the GSWBC macro.
CHDFRE CISO Changed Object Code Only Updated for signals processing.
CINFSS CTAL New Assembler Added the cinfc_fast_ss function.
COPSTR CISO Changed Object Code Only Updated to support inheritable file descriptors.
CPSWL CISO No Longer Supported Assembler The processing that used this segment now uses the keyrc function.
CPWGR0 COMX New C Language Added to support the password user and group file application programming interfaces (APIs).
CRSWBC COMX, CISO New C Language Added the C language interface to the RSWBC macro.
CSGFAE COMX No Longer Supported C Language The processing in this segment is no longer needed.
CSIGAL COMX New C Language Added the alarm function.
CSIGDP COMX, CISO Changed C Language Updated the default signal handlers.
CSIGKL COMX New C Language Added the kill function.
CSIGPS COMX New C Language Added the tpf_process_signals function.
CSIGR CISO Changed Object Code Only Updated the signal and raise functions.
CSIGSL COMX New C Language Added the sleep function.
CSIGWP COMX New C Language Added the waitpid function.
CSIGWT COMX New C Language Added the wait function.
CXXFUN CISO Changed Object Code Only Updated to the support inheritable file descriptors.
UDDIPM COMX Changed C Language Updated to the support inheritable file descriptors.
UDDWTC COMX Changed C Language Updated to the support inheritable file descriptors.

Link-Edited Modules

There are no changes.

Members (Object Files)

Table 490 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 490. Changes to Members (Object Files) for TPF Internet Server Support

Member (Object File) DLM/DLL New, Changed, or No Longer Supported? Type Description of Change
CBOT CBOT Changed C Language Sets up the root credentials in effective and saved set user IDs.
CFIA CFIA New C Language Added the ZFILE ls command.
CFIB CFIB New C Language Added the ZFILE chmod command.
CFIC CFIC New C Language Added the ZFILE chown command.
CFID CFID New C Language Added the ZFILE rm commnd.
CFIE CFIE New C Language Added the ZFILE mknod command.
CFIM CFIM New C Language Added the ZFILE command main processor.
CFIZ CFIZ New C Language Added the ZFILE command error messages.
CINET1 CLTV New C Language Added the ZINET commands.
CINET2 CLTV, CLTY, CTFT New C Language Added the Internet daemon configuration file (IDCF) functions.
CINET3 CLTW New C Language Added the Internet daemon monitor.
CINET4 CLTX New C Language Added the Internet daemon listener.
CINET5 CLTV, CLTY New C Language Added the Internet daemon cycle handler, Internet daemon start and stop functions, and Internet daemon configuration table (IDCT).
CINET6 CTFT New C Language Added functions to access the IDCT.
CTFTP1 CTFT New Object Code Only Provides the entry point for Trivial File Transfer Protocol (TFTP) processing.
CTFTP2 CTFT New Object Code Only Provides the file processing subroutines for TFTP processing.

Object Code Only (OCO) Stubs

There are no changes.

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

Table 491 summarizes the control program interface (CINFC) tag changes. The information in this table is ordered numerically by the equate value.

Table 491. Changes to CINFC Tags for TPF Internet Server Support

CINFC Tag Equate Value New, Changed, or No Longer Supported?
CMMPRCLK 377 New

Copy Members

Table 492 summarizes the copy member changes. This information is presented in alphabetic order by the name of the copy member.

Table 492. Changes to Copy Members for TPF Internet Server Support

Copy Member Type CSECT Where Copy Member Is Located New, Changed, or No Longer Supported? Description of Change
CAPT Control Program CCNUCL Changed Changed the program update tape (PUT) version from 08 to 09.
CCEB Control Program CCENBK Changed Updated to handle the parent and child process relationship.
CCE4 Control Program CCIISC Changed Updated to support the $FORKC macro.
CHSZ Control Program CCNUCL Changed Updated to initialize new entry control block (ECB) fields.
CICR Control Program CCNUCL Changed Updated to support the GSWBC and RSWBC macros.
CLPE Control Program CCCCP1 Changed Updated to set up the buffer for mixed-case input.
CPSE Control Program CCCPSE Changed Added emergency unlock.
CPSL Control Program CCCPSE Changed Updated to include the file descriptor table (FDT) in dumps.
CTH2 Control Program CCTHDS Changed Updated to handle the parent and child process relationship.
CT40 Control Program CCCTIN Changed Updated to clear the new IPROC fields.
CUSR Control Program CCUEXT Changed Updated the CMCP user exit to support the $FORKC macro.

Fixed File Records

Table 493 summarizes fixed file record changes. This information is presented in alphabetic order by the name of the fixed file record.

Table 493. Changes to Fixed File Records for TPF Internet Server Support

Fixed File Record New, Changed, or No Longer Supported? Description of Change
#IBMM4 New Added #IBMM4 ordinal numbers 158-161.

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 494 summarizes the data macro changes. This information is presented in alphabetic order by the name of the data macro.

Table 494. Changes to Data Macros for TPF Internet Server Support

Data Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs Using This Data Macro?
DLTEC Changed No
IDSECT Changed Yes
IEQCE2 Changed No
IFDES New Not Applicable
IFORK New Not Applicable
IOPFD New Not Applicable
IPROC Changed Yes

General Macros

Table 495 summarizes the general macro changes. This information is presented in alphabetic order by the name of the general macro. See TPF General Macros for a complete description of all general macros.

Table 495. Changes to General Macros for TPF Internet Server Support

General Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CINFC Changed No

Selected Equate Macros

Table 496 summarizes the selected equate macro changes. This information is presented in alphabetic order by the name of the selected equate macro.

Table 496. Changes to Selected Equate Macros for TPF Internet Server Support

Selected Equate Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CZOCP Changed No
CZ1SE Changed No
SYSEQ Changed No

Structured Programming Macros (SPMs)

There are no changes.

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

Table 497 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. 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 497. Changes to SIP Skeleton and Internal Macros for TPF Internet Server Support

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

System Initialization Program (SIP) Stage I Macros and Statements

There are no changes.

System Initialization Program (SIP) Stage II Macros

Table 498 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. 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 498. Changes to SIP Stage II Macros for TPF Internet Server 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

Table 499 summarizes system macro changes. This information is presented in alphabetic order by the name of the system macro. See TPF System Macros for a complete description of all system macros.

Table 499. Changes to System Macros for TPF Internet Server Support

System Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
$FORKC New Not Applicable
GSWBC New Not Applicable
IBMSVC Changed No
RSWBC New Not Applicable

System Macros (IBM Use Only)

Table 500 summarizes system macro changes that are for IBM use only. This information is presented in alphabetic order by the name of the system macro.

Table 500. Changes to System Macros (IBM Use Only) for TPF Internet Server Support

System Macro (IBM Use Only) New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CFMCC Changed Yes

Segments

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

Table 501. Changes to Segments for TPF Internet Server Support

Segment Type Link-Edit Module (Where Offline Segment Is Linked) New, Changed, or No Longer Supported? Description of Change
CSI3 Real-Time Assembler Not Applicable Changed Added support for mixed-case characters from CRAS terminals.
CTKR Real-Time Assembler Not Applicable Changed Changed to call the Internet daemon cycle handler to stop the Internet daemon or Internet server application.
CTKT Real-Time Assembler Not Applicable Changed Changed to call the Internet daemon cycle handler to start the Internet daemon or Internet server application.
CVAA Real-Time Assembler Not Applicable Changed Updated to support mixed-case commands.
CVAB Real-Time Assembler Not Applicable Changed Added support for the ZFILE and ZINET commands.

System Equates

There are no changes.

User Exits

Control Program (CP) User Exits and ECB User Exits summarize the control program (CP) and ECB user exit changes. See TPF System Installation Support Reference for a complete description of all user exits.

Control Program (CP) User Exits

This information is presented in alphabetic order by the name of the control program (CP) user exit.

Table 502. Changes to Control Program (CP) User Exits for TPF Internet Server Support

Control Program (CP) User Exit Activated In User Routine Label New, Changed, or No Longer Supported? Description of Change
CMCP UCCCMCP Changed Added an indicator for calls from the $FORKC macro.

ECB User Exits

This information is presented in alphabetic order by the name of the function.

Table 503. Changes to ECB User Exits for TPF Internet Server Support

Function User Exit Activated In User Exit Program New, Changed, or No Longer Supported? Description of Change
User Command Processor CVAA UME1 Changed Updated to support mixed-case commands.

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

Table 504 summarizes command changes. This information is presented in alphabetic order by the name of the command. See TPF Operations for a complete description of all commands.

Attention: Changes to commands can impact any automation programs you are using in your complex.

Table 504. Changes to Commands for TPF Internet Server Support

Command New, Changed, or No Longer Supported? Description of Change
ZFILE chmod New Changes the access permissions of a file or directory.
ZFILE chown New Changes the owner and group of a file or directory.
ZFILE ls New Lists the names and attributes of a file or directory.
ZFILE mknod New Creates a new character special file.
ZFILE rm New Removes the link to a file or directory.
ZINET ADD New Adds an Internet server application entry to the Internet daemon configuration file (IDCF).
ZINET ALTER New Changes an Internet server application entry in the IDCF.
ZINET DELETE New Deletes an Internet server application entry from the IDCF.
ZINET DISPLAY New Displays Internet server application entries from the IDCF or the IDCT.
ZINET START New Starts the Internet daemon.
ZINET STOP New Stops the Internet daemon.

Messages and System Errors

Table 505 summarizes message (offline and online messages) and system error changes.

The message IDs or system error numbers are listed in numeric order preceded by their alphabetic prefix. Some offline and online messages do not have a standard message ID. For these, the messages are presented in alphabetic order based on the initial message text; or for those messages that begin with variable information, the initial message text that follows that variable information. See Messages (System Error and Offline) and Messages (Online) for a complete description of all messages and system errors.

Attention: Changes to offline messages, online messages, and system errors may impact any automation programs you are using in your complex.

Table 505. Changes to Messages and System Errors for TPF Internet Server Support

Message ID or System Error Number Message Type New, Changed, or No Longer Supported?
007510 System Error No Longer Supported
007540 System Error New
007544 System Error New
007700 System Error New
007701 System Error New
007702 System Error New
007703 System Error New
007704 System Error New
007705 System Error New
007706 System Error New
007707 System Error New
007750 System Error New
007751 System Error New
007752 System Error New
007753 System Error New
007754 System Error New
007777 System Error New
FILE0001I Online New
FILE0002I Online New
FILE0003I Online New
FILE0096E Online New
FILE0097E Online New
FILE0098E Online New
FILE0099E Online New
INET0011I Online New
INET0012I Online New
INET0013I Online New
INET0014I Online New
INET0015I Online New
INET0016I Online New
INET0017I Online New
INET0018I Online New
INET0019I Online New
INET0024I Online New
INET0025I Online New
INET0026I Online New
INET0027I Online New
INET0050I Online New
INET0051I Online New
INET0076E Online New
INET0077E Online New
INET0078E Online New
INET0080E Online New
INET0081E Online New
INET0082E Online New
INET0083E Online New
INET0084E Online New
INET0085E Online New
INET0086E Online New
INET0087E Online New
INET0088E Online New
INET0090E Online New
INET0091E Online New
INET0092E Online New
INET0093E Online New
INET0094E Online New
INET0095E Online New
INET0096E Online New
INET0097E Online New
INET0098E Online New
INET0099E Online New
INET0100E Online New
INET0101E Online New
INET0102E Online New
INET0103E Online New
INET0104E Online New
INET0105E Online New
INET0106E Online New
INET0107E Online New
INET0108E Online New
INET0109W Online New
INET0110E Online New
INET0111E Online New
TFTP0001E Online New
TFTP0002E Online New

Performance or Tuning Changes

There are a number of performance and tuning considerations for TPF Internet server support.

System Work Block (SWB) Considerations

You may need to increase the number of system work blocks (SWBs) that are allocated to your TPF 4.1 system. TPF Internet server support uses SWBs for the file descriptor table, open file descriptors, as well as to store the exit status for a child process.

tpf_fork Function Considerations

There are two methods of processing program segments with the tpf_fork function:

See the TPF C/C++ Language Support User's Guide for more information about the tpf_fork function.

Trivial File Transfer Protocol (TFTP) Server Considerations

The Trivial File Transfer Protocol (TFTP) server is not a high-volume multi-user server. The TFTP server is intended to transfer files to and from the TPF 4.1 system and another platform. The TFTP server uses User Datagram Protocol (UDP); because UDP is a connectionless protocol, the TFTP server must establish a point-to-point connection with the client by opening another UDP socket. Until the second socket is open, the Internet daemon must wait. Otherwise, the Internet daemon will intercept the second packet of the original client and start a new TFTP server.

See TPF Application Programming for more information about the TFTP server.

Internet Daemon Considerations

The Internet daemon supports different process models, including the AOR, WAIT, and NOWAIT process models. The AOR, WAIT, and NOWAIT process models provide different levels of control and, as a result, can affect resource overhead.

The AOR process model has the potential to use system resources more effectively than the WAIT and NOWAIT process models. The AOR process model saves system resources by creating the entry control block (ECB) for the Internet server application only after data is received on a connected socket. The WAIT and NOWAIT process models create the ECB immediately using the tpf_fork function, which requires the Internet server application to issue the read and then wait for the data to arrive.

The AOR process model does not have any throttling controls; that is, the Internet daemon will continue to start more occurrences of Internet server applications until the system cannot handle any more. The WAIT and NOWAIT process models allow you to set a limit on how many Internet server application occurrences can be started.

See TPF Application Programming for more information about the Internet daemon and the process models.

Storage Considerations and Changes

There are no changes.

System Initialization Program (SIP) and System Generation Changes

There are no changes.

Loading Process Changes

There are no changes.

Online System Load Changes

There are no changes.

Publication Changes

Table 506 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 506. Changes to TPF Publications for TPF Internet Server Support

Publication Title Softcopy File Name Description of Change
TPF Application Programming GTPAPP08 Updated with information about TPF Internet server support and how to use the Internet daemon and the TFTP server.
TPF C/C++ Language Support User's Guide GTPCLU09 Updated with information about C functions that were added or changed for TPF Internet server support.
TPF Concepts and Structures GTPCON06 Updated with overview information about TPF Internet server support.
TPF Library Guide GTPDOC09 Updated with definitions for new terminology in the master glossary.
Messages (System Error and Offline) and Messages (Online) Not Applicable Updated with information about messages and system errors that were added, changed, and no longer supported for TPF Internet server support.
TPF Migration Guide: Program Update Tapes GTPMIG09 Updated with migration considerations for TPF Internet server support.
TPF Operations GTPOPR09 Updated with information about the commands that were added and changed for TPF Internet server support.
TPF Programming Standards GTPPSM08 Updated with information about the input message character set.
TPF System Installation Support Reference GTPINR09 Updated with information about user exits that were changed for TPF Internet server support.
TPF System Macros GTPSYS09 Updated with information about system macros that were added for TPF Internet server support.
TPF System Performance and Measurement Reference GTPSPR08 Updated with information for TPF Internet server support.
TPF Transmission Control Protocol/Internet Protocol GTPCLW05 Updated with information about how to maintain the Internet daemon configuration file (IDCF), how to create and maintain the TFTP configuration file, and about operator control for the Internet daemon and the TFTP server.

Host System Changes

There are no changes.

Application Programming Interface (API) Changes

TPF Internet server support provides a number of application programming interface (API) additions and changes.

There is a set of C functions that have interfaces identical to the Portable Operating System Interface for Computer Environments (POSIX) standards. If Internet server application code written for the UNIX system is ported to a TPF 4.1 system, these function calls do not necessarily need to change, but you may need to change the Internet server application to account for differences in the architecture of the TPF 4.1 system and the UNIX system.

There is also a new set of C functions that provide an interface to the password and group files for C or C++ programs to access files on the TPF file system.

See TPF Application Programming and the TPF C/C++ Language Support User's Guide for more information about the new C functions provided with TPF Internet server support.

File system support contained some deviations from POSIX in program update tape (PUT) 7. See File System Support (APAR PJ25089) for more information about file system support. With TPF Internet server support, the TPF 4.1 system now supports the following:

This change affects the following C functions:

See the TPF C/C++ Language Support User's Guide for more information about these functions.

Database Changes

There are no changes.

Feature Changes

There are no changes.

Installation Validation

There are no changes.

Migration Scenarios

Before You Begin

  • Ensure that your TPF 4.1 system is at program update tape (PUT) 8. In addition, ensure that the file system is enabled; see File System Support (APAR PJ25089) for more information about enabling the file system.
  • If you are using IBM Extended Operations Console Facility/2 (EOCF/2), install APAR IC21067.

Use the following procedure to install TPF Internet server support on your existing TPF 4.1 system.

  1. Install PUT 9, which contains TPF Internet server support, on your TPF 4.1 system.

    Notes:

    1. Ensure that any display devices you plan to use support mixed-case characters.

    2. Ensure that #IBMM4 ordinals 158-161 are defined.
  2. Perform an initial program load (IPL) and cycle the TPF 4.1 system to 1052 state.
  3. Ensure that your TPF 4.1 system has Transmission Control Protocol/Internet Protocol (TCP/IP) network connectivity.
  4. Build the Internet daemon configuration file (IDCF) by using the ZINET ADD and ZINET ALTER commands to add entries for any Internet server applications that you have.

    Notes:

    1. You will receive a 007701 system error message when you add the first Internet server application entry to the IDCF.

    2. For every server entry added to the IDCF, ensure the program that the Internet daemon calls is loaded to the TPF 4.1 system.

    If you plan to use Trivial File Transfer Protocol (TFTP), continue with the following steps; otherwise, there are no more actions for you to take.

  5. Enter the following to add the TFTP server entry to the IDCF:

    ZINET ADD S-TFTP PGM-CTFT MODEL-model PORT-69 P-UDP IP-ipaddr ACT-acttype STATE-state USER-NOBODY

    Where:

    model
    is the process model to be used by the TFTP server. Specify WAIT if you want only one occurrence of the TFTP server running at a time. Specify NOWAIT if you want multiple occurrences of the TFTP server running.

    ipaddr
    is a local intranet Internet Protocol (IP) address or the value ANY. Typically, this type of address is assigned by a local network administrator.

    acttype
    is how you want to start the Internet server application. Specify OPER if you want to start and stop the TFTP server manually. Specify AUTO if you want the TFTP server to be automatically started when the Internet daemon is started.

    state
    is the lowest TPF 4.1 system state in which the TFTP server is allowed to be started. Specify CRAS or NORM.
  6. Cycle the TPF 4.1 system to CRAS state or above.
  7. Enter ZFILE ls -ld / to check the root (/) directory access permission setting.

    The root directory must have write access to allow the TFTP server to create new subdirectories, such as /etc and /tmp.

    If necessary, enter ZFILE chmod 777 / to change the access permission of the root directory.

    Enter ZFILE ls -ld / again to verify that the root directory has write access.

  8. Enter ZINET START S-TFTP to start the TFTP server.
  9. Create and transfer the TFTP configuration file from your local TFTP client to the TPF 4.1 system using the TFTP server.
  10. Enter ZFILE ls -l /etc to verify that the TFTP configuration file is initialized.
  11. Transfer a test file to force the creation of the log file. This must be done before you restrict the creation of new directories as specified in step 12. If you do not do this, the directory used for the log file will not exist and the default user ID for the TFTP server (NOBODY) will not be able to create them. This will cause all the TFTP transfers to fail and the transfers will not be recorded in the log.
  12. Enter ZFILE chmod 755 / to restore the root directory to its original access permission settings. This setting restricts the creation of new directories.

    TFTP is now ready for you to use.

Additional Information: