z/OS Communications Server: IP User's Guide and Commands
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Named pipes in the z/OS UNIX file system for the client

z/OS Communications Server: IP User's Guide and Commands
SC27-3662-00

When files exist as named pipes in the z/OS® Unix file system, you can change their file permissions using the LOCSIte chmod subcommand.

You can use the following z/OS FTP subcommands to transfer data into named pipes in the client file system:
  • Get
  • MGet

The named pipe can exist before you issue Get or MGet subcommands or the FTP client can create the named pipe for you as part of Get and MGet subcommand processing.

You can use the following z/OS FTP subcommands to send data from existing named pipes in the client z/OS UNIX file system:
  • APpend
  • Put
  • MPut

You must configure UNIXFILETYPE=FIFO to transfer data to or from a named pipe in the FTP client file system.

When UNIXFILETYPE=FIFO is configured on the client, all z/OS UNIX files that are created by the client during Get and MGet processing are created as named pipes. The FTP client always requests file permissions 777 when it creates a named pipe, but the configured UMASK value determines the actual file permissions. See the UMASK (FTP client and server) statement information in z/OS Communications Server: IP Configuration Reference for more details about the UMASK statement and LOCSIte subcommand—Specify site information to the local host for information about configuring the UMASK value.

Unlike most types of z/OS UNIX files, data written to a named pipe is always appended to existing data rather than replacing existing data. You cannot specify the REPLACE parameter on Get and MGEt subcommands when UNIXFILETYPE=FIFO is configured.

Unlike most types of z/OS UNIX files, data read from a named pipe is removed from the named pipe instead of being copied from the named pipe. The client must read from a named pipe to send it to the server. Sending a named pipe empties the named pipe.

Restrictions:
  • The z/OS operating system does not provide serialization for named pipes. Multiple processes on the client can read from or write to the same named pipe at one time.
  • Restarting of file transfers to or from named pipes is not allowed.
  • You cannot specify the REPLACE option when you transfer data into a named pipe.
Results: The following results apply when the z/OS FTP client stores a file as a named pipe in the z/OS UNIX file system:
  • The client waits up to the number of seconds specified by the FIFOOPENTIME configuration option to open the named pipe for writing. The FTP client is unable to open the named pipe until the process that reads from the named pipe opens the pipe. This is true even when FTP created the named pipe. A large FIFOOPENTIME value gives you more time to start the named pipe reader, but could cause the data connection to time out if the client waits the entire length of time specified by the FIFOOPENTIME value.

    If you are issuing the MGet subcommand, the client blocks for the length of time specified by the FIFOOPENTIME configuration option for each local named pipe that is not opened for reading by a process on the FTP client host at the time of transfer.

  • The client waits up to the number of seconds specified by the FIFOIOTIME configuration option for each write to the named pipe to complete. In general, the client does not block during writes unless it writes to the named pipe much faster than the named pipe reader reads from the pipe. If the client cannot write any data to the named pipe for the number of seconds specified by the FIFOIOTIME configuration option, it fails the file transfer.
The following are the results of sending data from a named pipe in the z/OS UNIX file system:
  • The client waits up to the number of seconds specified by the FIFOIOTIME configuration option to open the named pipe for reading. The FTP client is not able to open the named pipe until the process that writes to the named pipe opens the pipe. A large FIFOOPENTIME value gives you more time to start the named pipe writer, but could cause the data connection to time out if the client waits the entire length of time specified by the FIFOOPENTIME value.
If you are issuing the MPut subcommand, the client blocks for the number of seconds specified by the FIFOIOTIME configuration option for each local named pipe that is not opened for writing by a process on the FTP client host at the time of transfer.
  • The client waits up to the number of seconds specified by the FIFOIOTIME configuration option for each read from the named pipe to complete. The client can block if the pipe write process stops writing to the named pipe but does not close it. If the FTP client cannot read any data from the named pipe during the number of seconds specified by the FIFOIOTIME value, it fails the file transfer.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2013
This information center is Built on Eclipse™ ( www.eclipse.org ).