gtpm2m2iMigration Guide: Program Update Tapes

FIFO Special File Support (APAR PJ27214)

The following section discusses the migration considerations for FIFO special file support.

Prerequisite APARs

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

Functional Overview

FIFO special file support builds on the infrastructure provided previously with TPF Internet server support and open systems infrastructure. See TPF Internet Server Support (APARs PJ25589 and PJ25703) and Open Systems Infrastructure (APAR PJ26188) for more information.

TPF Internet server support introduced the Internet daemon and the Trivial File Transfer Protocol (TFTP) server. To support the Internet daemon and Internet server applications, infrastructure was added that provided essential application programming interfaces (APIs), such as fork and signals, that are common in the UNIX environment and heavily used by servers on those platforms. This infrastructure enabled the servers to function, but the lack of more complete system services limited their performance and capabilities. To reduce the limitation, open systems infrastructure improved the infrastructure base with pipes, shared memory, and enhanced signal support. With FIFO special file support, this infrastructure is enhanced further. These enhancements continue to ease porting efforts and encourage development of new applications for the TPF 4.1 system.

FIFO special file support provides the following:

Architecture

The following describes how FIFO special file support is implemented in the TPF 4.1 system.

FIFO Special Files

The mkfifo function creates an i-node in the file system that is identified as a FIFO special file (or named pipe). You can also create a FIFO special file with the ZFILE mkfifo command.

When the FIFO special file is accessed using the standard Portable Operating System Interface for Computer Environments (POSIX) file system functions, a special device driver is started. The device driver provides functions that allow multiple independent processes to write and read concurrently from the FIFO special file.

If a read function is attempted on an empty FIFO special file and no process has the file open for writing, the read function returns a value of 0 to indicate the end of the file. When the buffer for a FIFO special file becomes full, the writer is blocked until enough data is removed from the file with a read function to allow the write function to be completed.

See the TPF C/C++ Language Support User's Guide for more information about the mkfifo function and device driver changes. See TPF Operations for more information about the ZFILE mkfifo command.

Select Enhancements

The select function enhancements allow you to specify nonsocket file descriptors, socket file descriptors, or a combination of both. If you specify both nonsocket file descriptors and socket file descriptors in a single function call, the socket file descriptors must be using TCP/IP native stack support. See TCP/IP Native Stack Support (APAR PJ26683) for more information about TCP/IP native stack support.

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

Syslog Daemon

Syslog daemon processing is controlled by a configuration file called /etc/syslog.conf in which you define logging rules and output destinations for error messages, authorization violation messages, and trace data. The syslog daemon reads the configuration file when the daemon starts and whenever the hangup signal (SIGHUP) is received. Servers on the local system use FIFO special files to communicate with the syslog daemon. Remote servers use TCP/IP sockets.

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

Operating Environment Requirements and Planning Information

There are no changes.

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 835 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 835. Changes to Build Scripts for FIFO Special File Support

Build Script Type New, Changed, or No Longer Supported? Description of Change
CFIUBS DLM Changed Updated for FIFO special file support.
COMXBS DLM Changed Updated for FIFO special file support.
CSYLBS DLM New Added for FIFO special file support.
CTXOBS DLL New Added for FIFO special file support.

Dynamic Load Module (DLM) Stubs

There are no changes.

General Use C/C++ Language Header Files

Table 836 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 836. Changes to General Use C/C++ Language Header Files for FIFO Special File Support

C/C++ Language Header File New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
bindas.h New Not Applicable
bindns.h New Not Applicable
bitype.h New Not Applicable
c$cinfc.h Changed No
c$ddsm.h Changed Yes
c$ddtb.h Changed No
c$fsdd.h Changed No
c$spif.h Changed Yes
errno.h Changed No
evlib.h New Not Applicable
list.h New Not Applicable
namcom.h New Not Applicable
portaf.h New Not Applicable
portbf.h New Not Applicable
resdbg.h New Not Applicable
resolv.h New Not Applicable
stat.h Changed No
syslog.h New Not Applicable
sys/stat.h Changed No

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

Table 837 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 837. Changes to Implementation-Specific C/C++ Language Header Files (IBM Use Only) for FIFO Special File Support

C/C++ Language Header File (IBM Use Only) New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
bincon.h New Not Applicable
evlibp.h New Not Applicable
i$cmds.h Changed Yes
i$fsdd.h Changed Yes
i$glue.h Changed Yes
i$node.h Changed No
i$npdd.h New Not Applicable
i$poll.h New Not Applicable
i$pwbl.h Changed No
i$wait.h New Not Applicable

Library Interface Scripts

Table 838 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 838. Changes to Library Interface Scripts for FIFO Special File Support

Library Interface Script New, Changed, or No Longer Supported? Description of Change
COMXXV Changed Updated for FIFO special file support.

Library Members (Object Files)

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

Table 839. Changes to Library Members (Object Files) for FIFO Special File Support

Library Member (Object File) Library Module Name New, Changed, or No Longer Supported? Type Description of Change
CDDNPI COMX New C Language Added device drivers for FIFO special file support.
CDDNUL COMX Changed C Language Updated for FIFO special file support.
CDDPIP COMX Changed C Language Updated for FIFO special file support.
CDDSOC COMX Changed C Language Updated for FIFO special file support.
CDDTBL COMX Changed C Language Updated for FIFO special file support.
CFORKC COMX Not Changed C Language No code changes were made, but you must recompile CFORKC because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS001 COMX Not Changed C Language No code changes were made, but you must recompile CFS001 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS002 COMX Not Changed C Language No code changes were made, but you must recompile CFS002 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS003 COMX Not Changed C Language No code changes were made, but you must recompile CFS003 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS004 COMX Not Changed C Language No code changes were made, but you must recompile CFS004 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS005 COMX Not Changed C Language No code changes were made, but you must recompile CFS005 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS006 COMX Not Changed C Language No code changes were made, but you must recompile CFS006 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS007 COMX Not Changed C Language No code changes were made, but you must recompile CFS007 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS008 COMX Not Changed C Language No code changes were made, but you must recompile CFS008 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS009 COMX Not Changed C Language No code changes were made, but you must recompile CFS009 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS010 COMX Not Changed C Language No code changes were made, but you must recompile CFS010 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS011 COMX Not Changed C Language No code changes were made, but you must recompile CFS011 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS012 COMX Not Changed C Language No code changes were made, but you must recompile CFS012 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS013 COMX Not Changed C Language No code changes were made, but you must recompile CFS013 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS014 COMX Not Changed C Language No code changes were made, but you must recompile CFS014 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS015 COMX Not Changed C Language No code changes were made, but you must recompile CFS015 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS016 COMX Not Changed C Language No code changes were made, but you must recompile CFS016 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS017 COMX Not Changed C Language No code changes were made, but you must recompile CFS017 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS018 COMX Not Changed C Language No code changes were made, but you must recompile CFS018 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS019 COMX Not Changed C Language No code changes were made, but you must recompile CFS019 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS020 COMX Not Changed C Language No code changes were made, but you must recompile CFS020 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS021 COMX Changed C Language Updated for FIFO special file support.
CFS022 COMX Changed C Language Updated for FIFO special file support.
CFS023 COMX Not Changed C Language No code changes were made, but you must recompile CFS023 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS024 COMX Not Changed C Language No code changes were made, but you must recompile CFS024 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS025 COMX Not Changed C Language No code changes were made, but you must recompile CFS025 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS026 COMX Not Changed C Language No code changes were made, but you must recompile CFS026 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS027 COMX Not Changed C Language No code changes were made, but you must recompile CFS027 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS028 COMX Not Changed C Language No code changes were made, but you must recompile CFS028 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS029 COMX Not Changed C Language No code changes were made, but you must recompile CFS029 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS030 COMX Not Changed C Language No code changes were made, but you must recompile CFS030 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS031 COMX Not Changed C Language No code changes were made, but you must recompile CFS031 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS032 COMX Not Changed C Language No code changes were made, but you must recompile CFS032 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS033 COMX Not Changed C Language No code changes were made, but you must recompile CFS033 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS034 COMX Not Changed C Language No code changes were made, but you must recompile CFS034 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS035 COMX Not Changed C Language No code changes were made, but you must recompile CFS035 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS036 COMX Changed C Language Updated for FIFO special file support.
CFS037 COMX Not Changed C Language No code changes were made, but you must recompile CFS037 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS038 COMX Not Changed C Language No code changes were made, but you must recompile CFS038 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS101 COMX Not Changed C Language No code changes were made, but you must recompile CFS101 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS102 COMX Not Changed C Language No code changes were made, but you must recompile CFS102 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS105 COMX Changed C Language Updated for FIFO special file support.
CFS107 COMX Not Changed C Language No code changes were made, but you must recompile CFS107 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS108 COMX Not Changed C Language No code changes were made, but you must recompile CFS108 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS110 COMX Not Changed C Language No code changes were made, but you must recompile CFS110 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS111 COMX Not Changed C Language No code changes were made, but you must recompile CFS111 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS115 COMX Not Changed C Language No code changes were made, but you must recompile CFS115 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS116 COMX Not Changed C Language No code changes were made, but you must recompile CFS116 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS121 COMX Not Changed C Language No code changes were made, but you must recompile CFS121 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS123 COMX Not Changed C Language No code changes were made, but you must recompile CFS123 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS126 COMX Not Changed C Language No code changes were made, but you must recompile CFS126 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS127 COMX Not Changed C Language No code changes were made, but you must recompile CFS127 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS130 COMX Not Changed C Language No code changes were made, but you must recompile CFS130 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS131 COMX Not Changed C Language No code changes were made, but you must recompile CFS131 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS135 COMX Not Changed C Language No code changes were made, but you must recompile CFS135 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS139 COMX Not Changed C Language No code changes were made, but you must recompile CFS139 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS145 COMX Not Changed C Language No code changes were made, but you must recompile CFS145 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS148 COMX Not Changed C Language No code changes were made, but you must recompile CFS148 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS149 COMX Changed C Language Updated for FIFO special file support.
CFS150 COMX Changed C Language Updated for FIFO special file support.
CFS152 COMX Not Changed C Language No code changes were made, but you must recompile CFS152 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS154 COMX Not Changed C Language No code changes were made, but you must recompile CFS154 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS157 COMX Not Changed C Language No code changes were made, but you must recompile CFS157 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS160 COMX Not Changed C Language No code changes were made, but you must recompile CFS160 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS166 COMX Not Changed C Language No code changes were made, but you must recompile CFS166 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS167 COMX Not Changed C Language No code changes were made, but you must recompile CFS167 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS168 COMX Changed C Language Updated for FIFO special file support.
CFS169 COMX Not Changed C Language No code changes were made, but you must recompile CFS169 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS170 COMX New C Language Added the mkfifo function for FIFO special file support.
CFS180 COMX New C Language Added for FIFO special file support.
CFS181 COMX New C Language Added for FIFO special file support.
CFS304 COMX Not Changed C Language No code changes were made, but you must recompile CFS304 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS354 COMX Not Changed C Language No code changes were made, but you must recompile CFS354 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS404 COMX Not Changed C Language No code changes were made, but you must recompile CFS404 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS454 COMX Not Changed C Language No code changes were made, but you must recompile CFS454 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS504 COMX Not Changed C Language No code changes were made, but you must recompile CFS504 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS554 COMX Not Changed C Language No code changes were made, but you must recompile CFS554 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CFS604 COMX Not Changed C Language No code changes were made, but you must recompile CFS604 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CPIPE COMX Changed C Language Updated for FIFO special file support.
CSHCTL COMX Not Changed C Language No code changes were made, but you must recompile CSHCTL because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CSHDET COMX Not Changed C Language No code changes were made, but you must recompile CSHDET because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CSHGET COMX Not Changed C Language No code changes were made, but you must recompile CSHGET because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CSHMAT COMX Not Changed C Language No code changes were made, but you must recompile CSHMAT because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
CSSDLL CISO Changed C Language Updated to include CTXO in the list of subsystem-shared DLLs for FIFO special file support.
C511 COMX Not Changed C Language No code changes were made, but you must recompile C511 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
C512 COMX Not Changed C Language No code changes were made, but you must recompile C512 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
C515 COMX Not Changed C Language No code changes were made, but you must recompile C515 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
C528 COMX Not Changed C Language No code changes were made, but you must recompile C528 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
C529 COMX Not Changed C Language No code changes were made, but you must recompile C529 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
C530 COMX Not Changed C Language No code changes were made, but you must recompile C530 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
C539 COMX Not Changed C Language No code changes were made, but you must recompile C539 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
C540 COMX Not Changed C Language No code changes were made, but you must recompile C540 because of changes to the i$fsdd.h, i$glue.h, and c$spif.h header files.
C549 COMX Changed C Language Updated select function processing for FIFO special file support.
C550 COMX Changed C Language Updated select function processing for FIFO special file support.
UDDIPM COMX Changed C Language Updated for FIFO special file support.
UDDTBL COMX Not Changed C Language No code changes were made, but you must recompile UDDTBL because of changes to the i$fsdd.h, i$glue.h, c$spif.h, and c$ddsm.h header files.
UDDWTC COMX Changed C Language Updated for FIFO special file support.

Link-Edited Modules

There are no changes.

Members (Object Files)

Table 840 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 840. Changes to Members (Object Files) for FIFO Special File Support

Member (Object File) DLM/DLL New, Changed, or No Longer Supported? Type Description of Change
CASSER CTXO New C Language Added for FIFO special file support.
CEVTIM CTXO New C Language Added for FIFO special file support.
CFIA CFIA Changed C Language Updated for FIFO special file support.
CFIM CFIM Not Changed C Language No code changes were made, but you must recompile CFIM because of changes to the i$cmds.h header file.
CFIND3 CFJF Not Changed C Language No code changes were made, but you must recompile CFIND3 because of changes to the i$cmds.h header file.
CFIU CFIU Changed C Language Updated for FIFO special file support.
CFJX CFJX Not Changed C Language No code changes were made, but you must recompile CFJX because of changes to the i$cmds.h header file.
CINETA CTXO New C Language Added for FIFO special file support.
CINETN CTXO New C Language Added for FIFO special file support.
CINET1 CLTV Changed C Language Updated for FIFO special file support.
CINET7 CLTZ Changed C Language Updated for FIFO special file support.
CNA2E CTXO New C Language Added for FIFO special file support.
CNE2A CTXO New C Language Added for FIFO special file support.
CNSNAM CTXO New C Language Added for FIFO special file support.
CNSNET CTXO New C Language Added for FIFO special file support.
CNSPAR CTXO New C Language Added for FIFO special file support.
CNSPRN CTXO New C Language Added for FIFO special file support.
CNSSAD CTXO New C Language Added for FIFO special file support.
CNSTTL CTXO New C Language Added for FIFO special file support.
CRESCO CTXO New C Language Added for FIFO special file support.
CRESDA CTXO New C Language Added for FIFO special file support.
CRESDB CTXO New C Language Added for FIFO special file support.
CRESIN CTXO New C Language Added for FIFO special file support.
CRESMK CTXO New C Language Added for FIFO special file support.
CRESQR CTXO New C Language Added for FIFO special file support.
CRESSN CTXO New C Language Added for FIFO special file support.
CSH07 CFIX Not Changed C Language No code changes were made, but you must recompile CSH07 because of changes to the i$cmds.h header file.
CSYLGD CSYL New C Language Added for FIFO special file support.
CSYLOG CTXO New C Language Added the closelog, openlog, and syslog functions for FIFO special file support.

Object Code Only (OCO) Stubs

There are no changes.

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

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

Table 841. Changes to CINFC Tags for FIFO Special File Support

CINFC Tag Equate Value New, Changed, or No Longer Supported?
CMMNAMPA 287 New

Copy Members

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

Table 842. Changes to Copy Members for FIFO Special File Support

Copy Member Type CSECT Where Copy Member Is Located DLM Where CSECT Is Located New, Changed, or No Longer Supported? Description of Change
CICR Control Program CCNUCL Not Applicable Changed Updated to initialize the new CINFC tag for FIFO special file support.

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

Table 843. Changes to Data Macros for FIFO Special File Support

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

General Macros

Table 844 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 844. Changes to General Macros for FIFO Special File Support

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

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 845 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 845. Changes to SIP Skeleton and Internal Macros for FIFO Special File 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 846 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 846. Changes to SIP Stage II Macros for FIFO Special File 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 847 summarizes segment changes. This information is presented in alphabetic order by the name of the segment.

Table 847. Changes to Segments for FIFO Special File Support

Segment Type Link-Edit Module (Where Offline Segment Is Linked) New, Changed, or No Longer Supported? Description of Change
CTS9 Real-Time Assembler Not Applicable Not Changed No code changes were made, but you must reassemble CTS9 because of changes to the IPWBL data macro.

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

Table 848 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 commnds.

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

Table 848. Changes to Commands for FIFO Special File Support

Command New, Changed, or No Longer Supported? Description of Change
ZFILE ls Changed Updated to display FIFO special files.
ZFILE mkfifo New Added to allow you to make a FIFO special file.

Messages and System Errors

Table 849 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 849. Changes to Messages and System Errors for FIFO Special File Support

Message ID or System Error Number Message Type New, Changed, or No Longer Supported?
SYSD0000E Online New
SYSD0001E Online New
SYSD0002E Online New
SYSD0003E Online New
SYSD0004E Online New
SYSD0005E Online New
SYSD0006I Online New
SYSD0007I Online New

Performance or Tuning Changes

There are no changes.

Storage Considerations and Changes

FIFO special files cause an increase in the use of system heap storage. Use the ZCTKA DISPLAY and the ZCTKA ALTER commands to display and change the size of system heap storage, respectively. See TPF Operations for more information about these commands.

A FIFO special file buffer consists of 2 system heap frames; multiply the number of FIFO special file buffers used by your applications by 2 to estimate the number of system heap frames needed for FIFO special file buffers. See the CORREQ macro in TPF System Generation for more information about calculating the number of frames required for your TPF 4.1 system.

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 850 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 850. Changes to TPF Publications for FIFO Special File Support

Publication Title Softcopy File Name Description of Change
TPF Application Programming GTPAPP0C Updated with information about the syslog daemon for FIFO special file support.
TPF C/C++ Language Support User's Guide GTPCLU0D Updated with information about the functions that were added and changed for FIFO special file support.
TPF Concepts and Structures GTPCON0A Updated with information about special files and the syslog daemon for FIFO special file support.
TPF Library Guide GTPDOC0D Updated with definitions for new terminology in the master glossary for FIFO special file support.
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 FIFO special file support.
TPF Migration Guide: Program Update Tapes GTPMG203 Updated with migration considerations for FIFO special file support.
TPF Operations GTPOPR0D Updated with information about the commands that were added and changed for FIFO special file support.
TPF Transmission Control Protocol/Internet Protocol GTPCLW09 Updated with information about the syslog daemon for FIFO special file support. The select function information was moved to the TPF C/C++ Language Support User's Guide.

Host System Changes

There are no changes.

Application Programming Interface (API) Changes

A number of API functions were added or changed for FIFO special file support:

See the TPF C/C++ Language Support User's Guide for more information about the new and changed functions for FIFO special file support.

Database Changes

There are no changes.

Feature Changes

There are no changes.

Installation Validation

After you install FIFO special file support on your TPF 4.1 system, do the following to verify that a FIFO special file can be created:

  1. Enter ZFILE mkfifo myPipe to create a FIFO special file called myPipe.
  2. Enter ZFILE ls -l -F to verify that the file was created.
  3. Enter ZFILE echo "Hi" >myPipe to write to the file.
  4. Enter ZFILE cat myPipe to display the contents of the file.
  5. Enter ZFILE rm myPipe to remove the file.

See TPF Operations for more information about the ZFILE commands. See Migration Scenarios for information about installing FIFO special file support.

Migration Scenarios

Use the following procedure to install FIFO special file support on your TPF 4.1 system.

  1. Install program update tape (PUT) 13, which contains APAR PJ27214 for FIFO special file support.
  2. Update any existing user-defined device drivers as needed to conform to the changes made for FIFO special file support. See the TPF C/C++ Language Support User's Guide for more information about adding user-defined device drivers.
  3. Install the following:
  4. Run the LIBI offline program for all changed library interface scripts listed in Table 838.
  5. Run the system allocator (SALO) using IBMPAL and SPPGML additions for newly created segments to create an updated program allocation table (PAT) and system allocator (SAL) table.
  6. Assemble the SIP stage I deck to create a SIP stage II deck.
  7. Run SIP stage II.
  8. Run the CBLD program for the build scripts listed in Table 835.
  9. Reassemble or recompile the following:
  10. Link-edit the DLMs/DLLs that are listed in Table 840.
  11. IPL your TPF 4.1 system.
  12. Enter the following from the basic subsystem (BSS) to add the syslog daemon server entry to the Internet daemon configuration file (IDCF):

    ZINET ADD S-SYSLOGD PGM-CSYL MODEL-DAEMON ACT-acttype STATE-state USER-ROOT XPARM-args

    See TPF Transmission Control Protocol/Internet Protocol for more information about adding the syslog daemon server entry and specific values for the XPARM parameter. See TPF Operations for more information about the ZINET ADD command.

  13. Cycle the TPF 4.1 system to CRAS state or above.
  14. Enter ZINET START S-SYSLOGD to start the syslog daemon.
  15. Modify the syslog daemon configuration file, as needed, with any additional logging rules that you want to use.
    Note:
    The syslog daemon configuration file is set up initially to log all messages to the /dev/null file.

    See TPF Transmission Control Protocol/Internet Protocol for more information about updating the syslog daemon configuration file.

  16. See Installation Validation for information about how to verify that a FIFO special file can be created.