FTP server cataloged procedure (FTPD)

The following sample shows a start procedure for the FTP server. No start procedure is required for the FTP client.

//FTPD   PROC MODULE='FTPD',PARMS=''
//*********************************************************************
//*         Descriptive Name:            FTP Server Start Procedure   *
//*         File Name:                   tcpip.SEZAINST(EZAFTPAP)     *
//*                                      tcpip.SEZAINST(FTPD)         *
//*         SMP/E Distribution Name:     EZAFTPAP                     *
//*                                                                   *
//*         Licensed Materials - Property of IBM                      *
//*         "Restricted Materials of IBM"                             *
//*         5694-A01                                                  *
//*         (C) Copyright IBM Corp. 1995, 2005                        *
//*         Status = CSV1R7                                           *
//*********************************************************************
//*
//* SET PARM1=TCPIVP.TCPPARMS(TCPDATA)
//*
//FTPD   EXEC PGM=&MODULE,REGION=4096K,TIME=NOLIMIT,
//       PARM='/&PARMS'
//*
//*   Uncomment the SET statement above when using the next two lines.
//*   PARM=('ENVAR("RESOLVER_CONFIG=//''&PARM1''")',
//*   '/&PARMS')
//*
//*   PARM=('ENVAR("_BPX_JOBNAME=myftp")',
//*   '/&PARMS')
//*
//*   PARM=('ENVAR("KRB5_SERVER_KEYTAB=1")',
//*   '/&PARMS')
//*
//**** IVP Note ******************************************************
//*
//* If executing the FTP installation verification procedures (IVP),
//* - Comment the first PARM card and uncomment both lines of the
//*   second PARM card
//* - Uncomment the appropriate SYSFTPD and SYSTCPD DD cards for the IVP
//*
//********************************************************************
//**** _BPX_JOBNAME Note *********************************************
//*
//* The environment variable _BPX_JOBNAME can be specified
//* here in the FTPD procedure, so that all of the logged on
//* FTP users will have the same jobname.  This can then
//* be used for performance control and identifying all FTP users.
//* To use this:
//* - Comment the first PARM card and uncomment both lines of the
//*   third PARM card
//*
//********************************************************************
//**** KRB5_SERVER_KEYTAB Note ***************************************
//*
//* The environment variable KRB5_SERVER_KEYTAB can be specified
//* here in the FTPD procedure, so that the FTP server will use the
//* local instance of the Kerberos security server to decrypt tickets
//* instead of obtaining the key from the key table.
//* To use this:
//* - Comment the first PARM card and uncomment both lines of the
//*   fourth PARM card
//*
//********************************************************************
//*
//*       The C runtime libraries should be in the system's link
//*       list or add them to the STEPLIB definition here.  If you
//*       add them to STEPLIB, they must be APF authorized.
//*
//*       To submit SQL queries to DB2 through FTP, the DB2 load
//*       library with the suffix DSNLOAD should be in the system's
//*       link list, or added to the STEPLIB definition here.  If
//*       you add it to STEPLIB, it must be APF authorized.
//*
//CEEDUMP  DD SYSOUT=*
//*
//*       SYSFTPD is used to specify the FTP.DATA file for the FTP
//*       server.  The file can be any sequential data set, member
//*       of a partitioned data set (PDS), or HFS file.
//*
//*       The SYSFTPD DD statement is optional.  The search order for
//*       FTP.DATA is:
//*
//*           SYSFTPD DD statement
//*           jobname.FTP.DATA
//*           /etc/ftp.data
//*           SYS1.TCPPARMS(FTPDATA)
//*           tcpip.FTP.DATA
//*
//*       If no FTP.DATA file is found, FTP default values are used.
//*       For information on FTP defaults, see z/OS Communications
//*       Server: IP Configuration Reference.
//*SYSFTPD DD DISP=SHR,
//*        DSN=TCPIP.SEZAINST(FTPSDATA)
//*SYSFTPD DD DISP=SHR,
//*        DSN=TCPIVP.TCPPARMS(FTPSDATA)
//*
//*       SYSTCPD explicitly identifies which data set is to be
//*       used to obtain the parameters defined by TCPIP.DATA
//*       when no GLOBALTCPIPDATA statement is configured.
//*       See the IP Configuration Guide for information on
//*       the TCPIP.DATA search order.
//*       The data set can be any sequential data set or a member of
//*       a partitioned data set (PDS).
//*SYSTCPD DD DISP=SHR,
//*        DSN=TCPIP.SEZAINST(TCPDATA)
//*SYSTCPD DD DISP=SHR,
//*        DSN=TCPIVP.TCPPARMS(TCPDATA)
//*
Figure 1. Sample start procedure for the daemon