summaryrefslogtreecommitdiffstats
path: root/usr.sbin/httpd/src
diff options
context:
space:
mode:
authorbeck <beck@openbsd.org>1999-03-01 01:15:23 +0000
committerbeck <beck@openbsd.org>1999-03-01 01:15:23 +0000
commita22aacc6e16b8fb0a01239c694d3f63de018830f (patch)
tree5d96f37eb3f21b128b35c08bbfaeb64d28fca077 /usr.sbin/httpd/src
parentApache 1.3.4 merge (diff)
downloadwireguard-openbsd-a22aacc6e16b8fb0a01239c694d3f63de018830f.tar.xz
wireguard-openbsd-a22aacc6e16b8fb0a01239c694d3f63de018830f.zip
Apache 1.3.4
Diffstat (limited to 'usr.sbin/httpd/src')
-rw-r--r--usr.sbin/httpd/src/Makefile_win32.txt119
-rw-r--r--usr.sbin/httpd/src/Makefile_win32_debug.txt119
-rw-r--r--usr.sbin/httpd/src/helpers/binbuild.sh221
-rw-r--r--usr.sbin/httpd/src/helpers/findprg.sh24
-rw-r--r--usr.sbin/httpd/src/os/tpf/Makefile.tmpl41
-rw-r--r--usr.sbin/httpd/src/os/tpf/TPFExport7
-rw-r--r--usr.sbin/httpd/src/os/tpf/ebcdic.c221
-rw-r--r--usr.sbin/httpd/src/os/tpf/ebcdic.h8
-rw-r--r--usr.sbin/httpd/src/os/tpf/os-inline.c31
-rw-r--r--usr.sbin/httpd/src/os/tpf/os.c177
-rw-r--r--usr.sbin/httpd/src/os/tpf/os.h111
-rw-r--r--usr.sbin/httpd/src/os/tpf/samples/linkdll.jcl121
-rw-r--r--usr.sbin/httpd/src/os/tpf/samples/loadset.jcl58
13 files changed, 1258 insertions, 0 deletions
diff --git a/usr.sbin/httpd/src/Makefile_win32.txt b/usr.sbin/httpd/src/Makefile_win32.txt
new file mode 100644
index 00000000000..bcd50c90a86
--- /dev/null
+++ b/usr.sbin/httpd/src/Makefile_win32.txt
@@ -0,0 +1,119 @@
+# Makefile for Windows NT and Windows 95
+
+# Targets are:
+# _apache - build Apache in Release mode
+# install - build and install a Release build
+# clean - remove (most) files generated by a Release build
+#
+# The default installation directory is \Apache. This can be changed
+# with the INSTDIR macro, for example:
+#
+# nmake /f Makefile_win32.txt INSTDIR="d:\Program Files\Apache" install
+#
+# Note: this does *NOT* change the compiled in default "server root"
+
+!IF "$(INSTDIR)" == ""
+INSTDIR=\Apache
+!MESSAGE Using default install directory \Apache
+!ENDIF
+
+default: _apache
+
+_apache: _build
+
+install: _build _install
+
+_build:
+ cd os\win32
+ nmake /nologo CFG="ApacheOS - Win32 Release" -f ApacheOS.mak
+ cd ..\..
+ cd regex
+ nmake /nologo CFG="regex - Win32 Release" -f regex.mak
+ cd ..
+ cd ap
+ nmake /nologo CFG="ap - Win32 Release" -f ap.mak
+ cd ..
+ cd main
+ nmake /nologo CFG="gen_uri_delims - Win32 Release" -f gen_uri_delims.mak
+ nmake /nologo CFG="gen_test_char - Win32 Release" -f gen_test_char.mak
+ cd ..
+ -del CoreR\buildmark.obj
+ nmake /nologo CFG="ApacheCore - Win32 Release" -f ApacheCore.mak
+ nmake /nologo CFG="Apache - Win32 Release" -f Apache.mak
+ cd os\win32
+ set CFG=ApacheModuleStatus - Win32 Release
+ nmake /nologo CFG="ApacheModuleStatus - Win32 Release" -f ApacheModuleStatus.mak
+# nmake /nologo CFG ""/nologo -f ApacheModuleStatus.mak"=ApacheModuleInfo - Win32 Release" -f ApacheModuleInfo.mak
+ nmake /nologo CFG="ApacheModuleAuthAnon - Win32 Release" -f ApacheModuleAuthAnon.mak
+ nmake /nologo CFG="ApacheModuleDigest - Win32 Release" -f ApacheModuleDigest.mak
+ nmake /nologo CFG="ApacheModuleCERNMeta - Win32 Release" -f ApacheModuleCERNMeta.mak
+ nmake /nologo CFG="ApacheModuleExpires - Win32 Release" -f ApacheModuleExpires.mak
+ nmake /nologo CFG="ApacheModuleHeaders - Win32 Release" -f ApacheModuleHeaders.mak
+ nmake /nologo CFG="ApacheModuleSpeling - Win32 Release" -f ApacheModuleSpeling.mak
+ nmake /nologo CFG="ApacheModuleUserTrack - Win32 Release" -f ApacheModuleUserTrack.mak
+ nmake /nologo CFG="ApacheModuleRewrite - Win32 Release" -f ApacheModuleRewrite.mak
+ cd ..\..
+ cd modules\proxy
+ nmake /nologo CFG="ApacheModuleProxy - Win32 Release" -f ApacheModuleProxy.mak
+ cd ..\..
+
+_install:
+ -mkdir $(INSTDIR)
+ -mkdir $(INSTDIR)\modules
+ -mkdir $(INSTDIR)\logs
+ -mkdir $(INSTDIR)\conf
+ copy ApacheR\Apache.exe $(INSTDIR)
+ copy CoreR\ApacheCore.dll $(INSTDIR)
+ copy os\win32\ApacheModuleStatusR\ApacheModuleStatus.dll $(INSTDIR)\modules
+# copy os\win32\ApacheModuleInfoR\ApacheModuleInfo.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleAuthAnonR\ApacheModuleAuthAnon.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleDigestR\ApacheModuleDigest.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleCERNMetaR\ApacheModuleCERNMeta.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleExpiresR\ApacheModuleExpires.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleHeadersR\ApacheModuleHeaders.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleRewriteR\ApacheModuleRewrite.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleSpelingR\ApacheModuleSpeling.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleUserTrackR\ApacheModuleUserTrack.dll $(INSTDIR)\modules
+ copy modules\proxy\Release\ApacheModuleProxy.dll $(INSTDIR)\modules
+
+clean:
+ cd os\win32
+ nmake /nologo CFG="ApacheOS - Win32 Release" -f ApacheOS.mak clean
+ cd ..\..
+ cd regex
+ nmake /nologo CFG="regex - Win32 Release" -f regex.mak clean
+ cd ..
+ cd ap
+ nmake /nologo CFG="ap - Win32 Release" -f ap.mak clean
+ cd ..
+ cd main
+ nmake /nologo CFG="gen_uri_delims - Win32 Release" -f gen_uri_delims.mak clean
+ del uri_delims.h
+ nmake /nologo CFG="gen_test_char - Win32 Release" -f gen_test_char.mak clean
+ del test_char.h
+ cd ..
+ nmake /nologo CFG="ApacheCore - Win32 Release" -f ApacheCore.mak clean
+ nmake /nologo CFG="Apache - Win32 Release" -f Apache.mak clean
+ cd os\win32
+ nmake /nologo CFG="ApacheModuleStatus - Win32 Release" -f ApacheModuleStatus.mak clean
+# nmake /nologo CFG="ApacheModuleInfo - Win32 Release" -f ApacheModuleInfo.mak clean
+ nmake /nologo CFG="ApacheModuleAuthAnon - Win32 Release" -f ApacheModuleAuthAnon.mak clean
+ nmake /nologo CFG="ApacheModuleDigest - Win32 Release" -f ApacheModuleDigest.mak clean
+ nmake /nologo CFG="ApacheModuleCERNMeta - Win32 Release" -f ApacheModuleCERNMeta.mak clean
+ nmake /nologo CFG="ApacheModuleExpires - Win32 Release" -f ApacheModuleExpires.mak clean
+ nmake /nologo CFG="ApacheModuleHeaders - Win32 Release" -f ApacheModuleHeaders.mak clean
+ nmake /nologo CFG="ApacheModuleSpeling - Win32 Release" -f ApacheModuleSpeling.mak clean
+ nmake /nologo CFG="ApacheModuleUserTrack - Win32 Release" -f ApacheModuleUserTrack.mak clean
+ nmake /nologo CFG="ApacheModuleRewrite - Win32 Release" -f ApacheModuleRewrite.mak clean
+ cd ..\..
+ cd modules\proxy
+ nmake /nologo CFG="ApacheModuleProxy - Win32 Release" -f ApacheModuleProxy.mak clean
+ cd ..\..
+ cd os\win32\installer\installdll
+ nmake /nologo CFG="install - Win32 Release" -f install.mak clean
+ cd ..\..\..
+
+installdll:
+ cd os\win32\installer\installdll
+ nmake /nologo CFG="install - Win32 Release" -f install.mak
+ cd ..\..\..
diff --git a/usr.sbin/httpd/src/Makefile_win32_debug.txt b/usr.sbin/httpd/src/Makefile_win32_debug.txt
new file mode 100644
index 00000000000..599676f86ec
--- /dev/null
+++ b/usr.sbin/httpd/src/Makefile_win32_debug.txt
@@ -0,0 +1,119 @@
+# Makefile for Windows NT and Windows 95
+
+# Targets are:
+# _apache - build Apache in Debug mode
+# install - build and install a Debug build
+# clean - remove (most) files generated by a Debug build
+#
+# The default installation directory is \Apache. This can be changed
+# with the INSTDIR macro, for example:
+#
+# nmake /f Makefile_win32_debug.txt INSTDIR="d:\Program Files\Apache" install
+#
+# Note: this does *NOT* change the compiled in default "server root"
+
+!IF "$(INSTDIR)" == ""
+INSTDIR=\Apache
+!MESSAGE Using default install directory \Apache
+!ENDIF
+
+default: _apache
+
+_apache: _build
+
+install: _build _install
+
+_build:
+ cd os\win32
+ nmake /nologo CFG="ApacheOS - Win32 Debug" -f ApacheOS.mak
+ cd ..\..
+ cd regex
+ nmake /nologo CFG="regex - Win32 Debug" -f regex.mak
+ cd ..
+ cd ap
+ nmake /nologo CFG="ap - Win32 Debug" -f ap.mak
+ cd ..
+ cd main
+ nmake /nologo CFG="gen_uri_delims - Win32 Debug" -f gen_uri_delims.mak
+ nmake /nologo CFG="gen_test_char - Win32 Debug" -f gen_test_char.mak
+ cd ..
+ -del CoreD\buildmark.obj
+ nmake /nologo CFG="ApacheCore - Win32 Debug" -f ApacheCore.mak
+ nmake /nologo CFG="Apache - Win32 Debug" -f Apache.mak
+ cd os\win32
+ set CFG=ApacheModuleStatus - Win32 Debug
+ nmake /nologo CFG="ApacheModuleStatus - Win32 Debug" -f ApacheModuleStatus.mak
+# nmake /nologo CFG ""/nologo -f ApacheModuleStatus.mak"=ApacheModuleInfo - Win32 Debug" -f ApacheModuleInfo.mak
+ nmake /nologo CFG="ApacheModuleAuthAnon - Win32 Debug" -f ApacheModuleAuthAnon.mak
+ nmake /nologo CFG="ApacheModuleDigest - Win32 Debug" -f ApacheModuleDigest.mak
+ nmake /nologo CFG="ApacheModuleCERNMeta - Win32 Debug" -f ApacheModuleCERNMeta.mak
+ nmake /nologo CFG="ApacheModuleExpires - Win32 Debug" -f ApacheModuleExpires.mak
+ nmake /nologo CFG="ApacheModuleHeaders - Win32 Debug" -f ApacheModuleHeaders.mak
+ nmake /nologo CFG="ApacheModuleSpeling - Win32 Debug" -f ApacheModuleSpeling.mak
+ nmake /nologo CFG="ApacheModuleUserTrack - Win32 Debug" -f ApacheModuleUserTrack.mak
+ nmake /nologo CFG="ApacheModuleRewrite - Win32 Debug" -f ApacheModuleRewrite.mak
+ cd ..\..
+ cd modules\proxy
+ nmake /nologo CFG="ApacheModuleProxy - Win32 Debug" -f ApacheModuleProxy.mak
+ cd ..\..
+
+_install:
+ -mkdir $(INSTDIR)
+ -mkdir $(INSTDIR)\modules
+ -mkdir $(INSTDIR)\logs
+ -mkdir $(INSTDIR)\conf
+ copy ApacheD\Apache.exe $(INSTDIR)
+ copy CoreD\ApacheCore.dll $(INSTDIR)
+ copy os\win32\ApacheModuleStatusD\ApacheModuleStatus.dll $(INSTDIR)\modules
+# copy os\win32\ApacheModuleInfoD\ApacheModuleInfo.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleAuthAnonD\ApacheModuleAuthAnon.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleDigestD\ApacheModuleDigest.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleCERNMetaD\ApacheModuleCERNMeta.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleExpiresD\ApacheModuleExpires.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleHeadersD\ApacheModuleHeaders.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleRewriteD\ApacheModuleRewrite.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleSpelingD\ApacheModuleSpeling.dll $(INSTDIR)\modules
+ copy os\win32\ApacheModuleUserTrackD\ApacheModuleUserTrack.dll $(INSTDIR)\modules
+ copy modules\proxy\Debug\ApacheModuleProxy.dll $(INSTDIR)\modules
+
+clean:
+ cd os\win32
+ nmake /nologo CFG="ApacheOS - Win32 Debug" -f ApacheOS.mak clean
+ cd ..\..
+ cd regex
+ nmake /nologo CFG="regex - Win32 Debug" -f regex.mak clean
+ cd ..
+ cd ap
+ nmake /nologo CFG="ap - Win32 Debug" -f ap.mak clean
+ cd ..
+ cd main
+ nmake /nologo CFG="gen_uri_delims - Win32 Debug" -f gen_uri_delims.mak clean
+ del uri_delims.h
+ nmake /nologo CFG="gen_test_char - Win32 Debug" -f gen_test_char.mak clean
+ del test_char.h
+ cd ..
+ nmake /nologo CFG="ApacheCore - Win32 Debug" -f ApacheCore.mak clean
+ nmake /nologo CFG="Apache - Win32 Debug" -f Apache.mak clean
+ cd os\win32
+ nmake /nologo CFG="ApacheModuleStatus - Win32 Debug" -f ApacheModuleStatus.mak clean
+# nmake /nologo CFG="ApacheModuleInfo - Win32 Debug" -f ApacheModuleInfo.mak clean
+ nmake /nologo CFG="ApacheModuleAuthAnon - Win32 Debug" -f ApacheModuleAuthAnon.mak clean
+ nmake /nologo CFG="ApacheModuleDigest - Win32 Debug" -f ApacheModuleDigest.mak clean
+ nmake /nologo CFG="ApacheModuleCERNMeta - Win32 Debug" -f ApacheModuleCERNMeta.mak clean
+ nmake /nologo CFG="ApacheModuleExpires - Win32 Debug" -f ApacheModuleExpires.mak clean
+ nmake /nologo CFG="ApacheModuleHeaders - Win32 Debug" -f ApacheModuleHeaders.mak clean
+ nmake /nologo CFG="ApacheModuleSpeling - Win32 Debug" -f ApacheModuleSpeling.mak clean
+ nmake /nologo CFG="ApacheModuleUserTrack - Win32 Debug" -f ApacheModuleUserTrack.mak clean
+ nmake /nologo CFG="ApacheModuleRewrite - Win32 Debug" -f ApacheModuleRewrite.mak clean
+ cd ..\..
+ cd modules\proxy
+ nmake /nologo CFG="ApacheModuleProxy - Win32 Debug" -f ApacheModuleProxy.mak clean
+ cd ..\..
+ cd os\win32\installer\installdll
+ nmake /nologo CFG="install - Win32 Debug" -f install.mak clean
+ cd ..\..\..
+
+installdll:
+ cd os\win32\installer\installdll
+ nmake /nologo CFG="install - Win32 Debug" -f install.mak
+ cd ..\..\..
diff --git a/usr.sbin/httpd/src/helpers/binbuild.sh b/usr.sbin/httpd/src/helpers/binbuild.sh
new file mode 100644
index 00000000000..3279148fcbc
--- /dev/null
+++ b/usr.sbin/httpd/src/helpers/binbuild.sh
@@ -0,0 +1,221 @@
+#!/bin/sh
+#
+# binbuild.sh - Builds an Apache binary distribution.
+# Initially written by Lars Eilebrecht <lars@apache.org>.
+#
+# This script falls under the Apache License.
+# See http://www.apache.org/docs/LICENSE
+
+
+APDIR=$(basename $(pwd))
+VER=$(echo $APDIR |sed s/apache-//)
+OS=$(src/helpers/GuessOS)
+USER="$(src/helpers/buildinfo.sh -n %u@%h%d)"
+TAR="$(src/helpers/findprg.sh tar)"
+GTAR="$(src/helpers/findprg.sh gtar)"
+GZIP="$(src/helpers/findprg.sh gzip)"
+CONFIGPARAM="--with-layout=BinaryDistribution --enable-module=most --enable-shared=max"
+
+if [ ! -f ./ABOUT_APACHE ]
+then
+ echo "ERROR: The current directory contains no valid Apache distribution."
+ echo "Please change the directory to the top level directory of a freshly"
+ echo "unpacked Apache 1.3 source distribution and re-execute the script"
+ echo "'./src/helpers/bindbuild.sh'."
+ exit 1;
+fi
+
+if [ -d ./CVS ]
+then
+ echo "ERROR: The current directory is a CVS checkout of Apache."
+ echo "Only a standard Apache 1.3 source distribution should be used to"
+ echo "create a binary distribution."
+ exit 1;
+fi
+
+echo "Building Apache $VER binary distribution..."
+echo "Platform is \"$OS\"..."
+
+( echo "Build log for Apache binary distribution" && \
+ echo "----------------------------------------------------------------------" && \
+ ./configure $CONFIGPARAM && \
+ echo "----------------------------------------------------------------------" && \
+ make clean && \
+ rm -rf bindist install-bindist.sh *.bindist
+ echo "----------------------------------------------------------------------" && \
+ make && \
+ echo "----------------------------------------------------------------------" && \
+ make install-quiet root="bindist/" && \
+ echo "----------------------------------------------------------------------" && \
+ make clean && \
+ echo "----------------------------------------------------------------------" && \
+ echo "[EOF]" \
+) > build.log 2>&1
+
+if [ ! -f ./bindist/bin/httpd ]
+then
+ echo "ERROR: Failed to build Apache. See \"build.log\" for details."
+ exit 1;
+fi
+
+echo "Binary images successfully created..."
+echo "Creating supplementary files..."
+
+( echo " " && \
+ echo "Apache $VER binary distribution" && \
+ echo "================================" && \
+ echo " " && \
+ echo "This binary distribution is usable on a \"$OS\"" && \
+ echo "system and was built by \"$USER\"." && \
+ echo "" && \
+ echo "The distribution contains all standard Apache modules as shared" && \
+ echo "objects. This allows you to enable or disable particular modules" && \
+ echo "with the LoadModule/AddModule directives in the configuration file" && \
+ echo "without the need to re-compile Apache." && \
+ echo "" && \
+ echo "See \"INSTALL.bindist\" on how to install the distribution." && \
+ echo " " && \
+ echo "NOTE: Please do not send support-related mails to the address mentioned" && \
+ echo " above or to any member of the Apache Group! Support questions" && \
+ echo " should be directed to the \"comp.infosystems.www.servers.unix\"" && \
+ echo " or \"comp.infosystems.www.servers.ms-windows\" newsgroup" && \
+ echo " (as appropriate for the platform you use), where some of the" && \
+ echo " Apache team lurk, in the company of many other Apache gurus" && \
+ echo " who should be able to help." && \
+ echo " If you think you found a bug in Apache or have a suggestion please" && \
+ echo " visit the bug report page at http://www.apache.org/bug_report.html" && \
+ echo " " && \
+ echo "----------------------------------------------------------------------" && \
+ ./bindist/bin/httpd -V && \
+ echo "----------------------------------------------------------------------" \
+) > README.bindist
+cp README.bindist ../apache-$VER-$OS.README
+
+( echo " " && \
+ echo "Apache $VER binary installation" && \
+ echo "================================" && \
+ echo " " && \
+ echo "To install this binary distribution you have to execute the installation" && \
+ echo "script \"install-bindist.sh\" in the top-level directory of the distribution." && \
+ echo " " && \
+ echo "The script takes the ServerRoot directory into which you want to install" && \
+ echo "Apache as an option. If you ommit the option the default path" && \
+ echo "\"/usr/local/apache\" is used." && \
+ echo "Make sure you have write permissions in the target directory, e.g. switch" && \
+ echo "to user \"root\" before you execute the script." && \
+ echo " " && \
+ echo "See \"README.bindist\" for further details about this distribution." && \
+ echo " " && \
+ echo "Please note that this distribution includes the complete Apache source code." && \
+ echo "Therefore you may compile Apache yourself at any time if you have a compiler" && \
+ echo "installation on your system." && \
+ echo "See \"INSTALL\" for details on how to accomplish this." && \
+ echo " " \
+) > INSTALL.bindist
+
+( echo "#!/bin/sh" && \
+ echo "#" && \
+ echo "# Usage: install-bindist.sh [ServerRoot]" && \
+ echo "# This script installs the Apache binary distribution and" && \
+ echo "# was automatically created by binbuild.sh." && \
+ echo " " && \
+ echo "if [ .\$1 = . ]" && \
+ echo "then" && \
+ echo " SR=/usr/local/apache" && \
+ echo "else" && \
+ echo " SR=\$1" && \
+ echo "fi" && \
+ echo "echo \"Installing binary distribution for platform $OS\"" && \
+ echo "echo \"into directory \$SR ...\"" && \
+ echo "./src/helpers/mkdir.sh \$SR" && \
+ echo "cp -r bindist/proxy \$SR/proxy" && \
+ echo "cp -r bindist/man \$SR/man" && \
+ echo "cp -r bindist/logs \$SR/logs" && \
+ echo "cp -r bindist/libexec \$SR/libexec" && \
+ echo "cp -r bindist/include \$SR/include" && \
+ echo "cp -r bindist/icons \$SR/icons" && \
+ echo "cp -r bindist/cgi-bin \$SR/cgi-bin" && \
+ echo "cp -r bindist/bin \$SR/bin" && \
+ echo "if [ -d \$SR/conf ]" && \
+ echo "then" && \
+ echo " echo \"[Preserving existing configuration files.]\"" && \
+ echo " cp -r bindist/conf/*.default \$SR/conf/" && \
+ echo "else" && \
+ echo " cp -r bindist/conf \$SR/conf" && \
+ echo "fi" && \
+ echo "if [ -d \$SR/htdocs ]" && \
+ echo "then" && \
+ echo " echo \"[Preserving existing htdocs directory.]\"" && \
+ echo "else" && \
+ echo " cp -r bindist/htdocs \$SR/htdocs" && \
+ echo "fi" && \
+ echo "sed -e s%/usr/local/apache%\$SR/% \$SR/conf/httpd.conf.default > \$SR/conf/httpd.conf" && \
+ echo "sed -e s%PIDFILE=%PIDFILE=\$SR/% -e s%HTTPD=%HTTPD=\\\"\$SR/% -e \"s%/httpd$%/httpd -d \$SR\\\"%\" bindist/bin/apachectl > \$SR/bin/apachectl" && \
+ echo " " && \
+ echo "echo \"Ready.\"" && \
+ echo "echo \" +--------------------------------------------------------+\"" && \
+ echo "echo \" | You now have successfully installed the Apache $VER |\"" && \
+ echo "echo \" | HTTP server. To verify that Apache actually works |\"" && \
+ echo "echo \" | correctly you now should first check the (initially |\"" && \
+ echo "echo \" | created or preserved) configuration files |\"" && \
+ echo "echo \" | |\"" && \
+ echo "echo \" | \$SR/conf/httpd.conf\"" && \
+ echo "echo \" | |\"" && \
+ echo "echo \" | and then you should be able to immediately fire up |\"" && \
+ echo "echo \" | Apache the first time by running: |\"" && \
+ echo "echo \" | |\"" && \
+ echo "echo \" | \$SR/bin/apachectl start \"" &&\
+ echo "echo \" | |\"" && \
+ echo "echo \" | Thanks for using Apache. The Apache Group |\"" && \
+ echo "echo \" | http://www.apache.org/ |\"" && \
+ echo "echo \" +--------------------------------------------------------+\"" && \
+ echo "echo \" \"" \
+) > install-bindist.sh
+chmod 755 install-bindist.sh
+
+sed -e "s%\"/htdocs%\"/usr/local/apache/htdocs%" \
+ -e "s%\"/icons%\"/usr/local/apache/icons%" \
+ -e "s%\"/cgi-bin%\"/usr/local/apache/cgi-bin%" \
+ -e "s%^ServerAdmin.*%ServerAdmin you@your.address%" \
+ -e "s%#ServerName.*%#ServerName localhost%" \
+ -e "s%Port 8080%Port 80%" \
+ bindist/conf/httpd.conf.default > bindist/conf/httpd.conf
+cp bindist/conf/httpd.conf bindist/conf/httpd.conf.default
+
+echo "Creating distribution archive and readme file..."
+
+if [ ".`grep -i error build.log > /dev/null`" != . ]
+then
+ echo "ERROR: Failed to build Apache. See \"build.log\" for details."
+ exit 1;
+else
+ if [ ".$GTAR" != . ]
+ then
+ $GTAR -zcf ../apache-$VER-$OS.tar.gz -C .. --owner=root --group=root apache-$VER
+ else
+ if [ ".$TAR" != . ]
+ then
+ $TAR -cf ../apache-$VER-$OS.tar -C .. apache-$VER
+ if [ ".$GZIP" != . ]
+ then
+ $GZIP ../apache-$VER-$OS.tar
+ fi
+ else
+ echo "ERROR: Could not find a 'tar' program!"
+ echo " Please execute the following commands manually:"
+ echo " tar -cf ../apache-$VER-$OS.tar ."
+ echo " gzip ../apache-$VER-$OS.tar"
+ fi
+ fi
+
+ if [ -f ../apache-$VER-$OS.tar.gz ] && [ -f ../apache-$VER-$OS.README ]
+ then
+ echo "Ready."
+ echo "You can find the binary archive (apache-$VER-$OS.tar.gz)"
+ echo "and the readme file (apache-$VER-$OS.README) in the"
+ echo "parent directory."
+ exit 0;
+ else
+ exit 1;
+ fi
+fi
diff --git a/usr.sbin/httpd/src/helpers/findprg.sh b/usr.sbin/httpd/src/helpers/findprg.sh
new file mode 100644
index 00000000000..8b2f391c976
--- /dev/null
+++ b/usr.sbin/httpd/src/helpers/findprg.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# Usage: findprg.sh <program-name>
+# Return value is the absolute path of the program if it was found.
+# Initially written by Lars Eilebrecht <lars@apache.org>.
+#
+# This script falls under the Apache License.
+# See http://www.apache.org/docs/LICENSE
+
+
+if [ ".`which $1`" != . ]
+then
+ echo `which $1`
+ exit 0
+else
+ PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
+ if [ ".`which $1`" != . ]
+ then
+ echo `which $1`
+ exit 0
+ else
+ exit 1
+ fi
+fi
diff --git a/usr.sbin/httpd/src/os/tpf/Makefile.tmpl b/usr.sbin/httpd/src/os/tpf/Makefile.tmpl
new file mode 100644
index 00000000000..ad54c1b84a4
--- /dev/null
+++ b/usr.sbin/httpd/src/os/tpf/Makefile.tmpl
@@ -0,0 +1,41 @@
+CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
+LIBS=$(EXTRA_LIBS) $(LIBS1)
+INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES)
+LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
+
+OBJS= os.o os-inline.o ebcdic.o
+
+LIB= libos.a
+
+all: $(LIB)
+
+$(LIB): $(OBJS)
+ rm -f $@
+ ar cr $@ $(OBJS)
+ $(RANLIB) $@
+
+.c.o:
+ $(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
+
+clean:
+ rm -f $(OBJS) $(LIB)
+
+distclean: clean
+ -rm -f Makefile
+
+# We really don't expect end users to use this rule. It works only with
+# gcc, and rebuilds Makefile.tmpl. You have to re-run Configure after
+# using it.
+depend:
+ cp Makefile.tmpl Makefile.tmpl.bak \
+ && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \
+ && gcc -MM $(INCLUDES) $(CFLAGS) *.c >> Makefile.new \
+ && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' Makefile.new \
+ > Makefile.tmpl \
+ && rm Makefile.new
+
+$(OBJS): Makefile
+os.o: os.c os-inline.c
+ebcdic.o: ebcdic.c
+# DO NOT REMOVE
+os.o: os.c
diff --git a/usr.sbin/httpd/src/os/tpf/TPFExport b/usr.sbin/httpd/src/os/tpf/TPFExport
new file mode 100644
index 00000000000..449ebf2f93a
--- /dev/null
+++ b/usr.sbin/httpd/src/os/tpf/TPFExport
@@ -0,0 +1,7 @@
+#!/bin/sh
+echo " Setting TPF/c89 environment variables"
+export _C89_CCMODE=1
+# replace the following with the location of your TPF include files
+export _C89_INCDIRS="/u/tpf41/currentmaint/include /u/tpf41/currentmaint/include/oco"
+export TPF=YES
+echo "Done"
diff --git a/usr.sbin/httpd/src/os/tpf/ebcdic.c b/usr.sbin/httpd/src/os/tpf/ebcdic.c
new file mode 100644
index 00000000000..be029f42597
--- /dev/null
+++ b/usr.sbin/httpd/src/os/tpf/ebcdic.c
@@ -0,0 +1,221 @@
+/* ====================================================================
+ * Copyright (c) 1998-1999 The Apache Group. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the Apache Group
+ * for use in the Apache HTTP server project (http://www.apache.org/)."
+ *
+ * 4. The names "Apache Server" and "Apache Group" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the Apache Group
+ * for use in the Apache HTTP server project (http://www.apache.org/)."
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Group and was originally based
+ * on public domain software written at the National Center for
+ * Supercomputing Applications, University of Illinois, Urbana-Champaign.
+ * For more information on the Apache Group and the Apache HTTP server
+ * project, please see <http://www.apache.org/>.
+ *
+ */
+
+
+#ifdef CHARSET_EBCDIC
+#include "ap_config.h"
+#include "ebcdic.h"
+/*
+This code does basic character mapping for IBM's TPF operating system.
+It is a modified version of <Martin.Kraemer@Mch.SNI.De>'s code for
+the BS2000 (apache/src/os/bs2000/ebcdic.c).
+*/
+
+/*
+Bijective EBCDIC (character set IBM-1047) to US-ASCII table:
+This table is bijective - there are no ambigous or duplicate characters.
+*/
+const unsigned char os_toascii_strictly[256] = {
+ 0x00, 0x01, 0x02, 0x03, 0x85, 0x09, 0x86, 0x7f, /* 00-0f: */
+ 0x87, 0x8d, 0x8e, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* ................ */
+ 0x10, 0x11, 0x12, 0x13, 0x8f, 0x0a, 0x08, 0x97, /* 10-1f: */
+ 0x18, 0x19, 0x9c, 0x9d, 0x1c, 0x1d, 0x1e, 0x1f, /* ................ */
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x92, 0x17, 0x1b, /* 20-2f: */
+ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x05, 0x06, 0x07, /* ................ */
+ 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, /* 30-3f: */
+ 0x98, 0x99, 0x9a, 0x9b, 0x14, 0x15, 0x9e, 0x1a, /* ................ */
+ 0x20, 0xa0, 0xe2, 0xe4, 0xe0, 0xe1, 0xe3, 0xe5, /* 40-4f: */
+ 0xe7, 0xf1, 0xa2, 0x2e, 0x3c, 0x28, 0x2b, 0x7c, /* ...........<(+| */
+ 0x26, 0xe9, 0xea, 0xeb, 0xe8, 0xed, 0xee, 0xef, /* 50-5f: */
+ 0xec, 0xdf, 0x21, 0x24, 0x2a, 0x29, 0x3b, 0x5e, /* &.........!$*);^ */
+ 0x2d, 0x2f, 0xc2, 0xc4, 0xc0, 0xc1, 0xc3, 0xc5, /* 60-6f: */
+ 0xc7, 0xd1, 0xa6, 0x2c, 0x25, 0x5f, 0x3e, 0x3f, /* -/.........,%_>? */
+ 0xf8, 0xc9, 0xca, 0xcb, 0xc8, 0xcd, 0xce, 0xcf, /* 70-7f: */
+ 0xcc, 0x60, 0x3a, 0x23, 0x40, 0x27, 0x3d, 0x22, /* .........`:#@'=" */
+ 0xd8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 80-8f: */
+ 0x68, 0x69, 0xab, 0xbb, 0xf0, 0xfd, 0xfe, 0xb1, /* .abcdefghi...... */
+ 0xb0, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, /* 90-9f: */
+ 0x71, 0x72, 0xaa, 0xba, 0xe6, 0xb8, 0xc6, 0xa4, /* .jklmnopqr...... */
+ 0xb5, 0x7e, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, /* a0-af: */
+ 0x79, 0x7a, 0xa1, 0xbf, 0xd0, 0x5b, 0xde, 0xae, /* .~stuvwxyz...[.. */
+ 0xac, 0xa3, 0xa5, 0xb7, 0xa9, 0xa7, 0xb6, 0xbc, /* b0-bf: */
+ 0xbd, 0xbe, 0xdd, 0xa8, 0xaf, 0x5d, 0xb4, 0xd7, /* .............].. */
+ 0x7b, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* c0-cf: */
+ 0x48, 0x49, 0xad, 0xf4, 0xf6, 0xf2, 0xf3, 0xf5, /* {ABCDEFGHI...... */
+ 0x7d, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, /* d0-df: */
+ 0x51, 0x52, 0xb9, 0xfb, 0xfc, 0xf9, 0xfa, 0xff, /* }JKLMNOPQR...... */
+ 0x5c, 0xf7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, /* e0-ef: */
+ 0x59, 0x5a, 0xb2, 0xd4, 0xd6, 0xd2, 0xd3, 0xd5, /* \.STUVWXYZ...... */
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, /* f0-ff: */
+ 0x38, 0x39, 0xb3, 0xdb, 0xdc, 0xd9, 0xda, 0x9f /* 0123456789...... */
+};
+
+/*
+Server EBCDIC (character set IBM-1047) to US-ASCII table:
+This table is a copy of the os_toascii_strictly bijective table above.
+The only change is that hex 0a (\012 octal) is mapped to hex 0a
+(ASCII's line feed) instead of hex 8e. This is done because throughout
+Apache, protocol string definitions hardcode the linefeed as \012 (octal):
+"Content-Type: text/plain\015\012". Without this kludge all protocol
+string definitions would need to be changed from ...\012 to ...\025.
+*/
+const unsigned char os_toascii[256] = {
+ 0x00, 0x01, 0x02, 0x03, 0x85, 0x09, 0x86, 0x7f, /* 00-0f: */
+ 0x87, 0x8d, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* ................ */
+ 0x10, 0x11, 0x12, 0x13, 0x8f, 0x0a, 0x08, 0x97, /* 10-1f: */
+ 0x18, 0x19, 0x9c, 0x9d, 0x1c, 0x1d, 0x1e, 0x1f, /* ................ */
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x92, 0x17, 0x1b, /* 20-2f: */
+ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x05, 0x06, 0x07, /* ................ */
+ 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, /* 30-3f: */
+ 0x98, 0x99, 0x9a, 0x9b, 0x14, 0x15, 0x9e, 0x1a, /* ................ */
+ 0x20, 0xa0, 0xe2, 0xe4, 0xe0, 0xe1, 0xe3, 0xe5, /* 40-4f: */
+ 0xe7, 0xf1, 0xa2, 0x2e, 0x3c, 0x28, 0x2b, 0x7c, /* ...........<(+| */
+ 0x26, 0xe9, 0xea, 0xeb, 0xe8, 0xed, 0xee, 0xef, /* 50-5f: */
+ 0xec, 0xdf, 0x21, 0x24, 0x2a, 0x29, 0x3b, 0x5e, /* &.........!$*);^ */
+ 0x2d, 0x2f, 0xc2, 0xc4, 0xc0, 0xc1, 0xc3, 0xc5, /* 60-6f: */
+ 0xc7, 0xd1, 0xa6, 0x2c, 0x25, 0x5f, 0x3e, 0x3f, /* -/.........,%_>? */
+ 0xf8, 0xc9, 0xca, 0xcb, 0xc8, 0xcd, 0xce, 0xcf, /* 70-7f: */
+ 0xcc, 0x60, 0x3a, 0x23, 0x40, 0x27, 0x3d, 0x22, /* .........`:#@'=" */
+ 0xd8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 80-8f: */
+ 0x68, 0x69, 0xab, 0xbb, 0xf0, 0xfd, 0xfe, 0xb1, /* .abcdefghi...... */
+ 0xb0, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, /* 90-9f: */
+ 0x71, 0x72, 0xaa, 0xba, 0xe6, 0xb8, 0xc6, 0xa4, /* .jklmnopqr...... */
+ 0xb5, 0x7e, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, /* a0-af: */
+ 0x79, 0x7a, 0xa1, 0xbf, 0xd0, 0x5b, 0xde, 0xae, /* .~stuvwxyz...[.. */
+ 0xac, 0xa3, 0xa5, 0xb7, 0xa9, 0xa7, 0xb6, 0xbc, /* b0-bf: */
+ 0xbd, 0xbe, 0xdd, 0xa8, 0xaf, 0x5d, 0xb4, 0xd7, /* .............].. */
+ 0x7b, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* c0-cf: */
+ 0x48, 0x49, 0xad, 0xf4, 0xf6, 0xf2, 0xf3, 0xf5, /* {ABCDEFGHI...... */
+ 0x7d, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, /* d0-df: */
+ 0x51, 0x52, 0xb9, 0xfb, 0xfc, 0xf9, 0xfa, 0xff, /* }JKLMNOPQR...... */
+ 0x5c, 0xf7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, /* e0-ef: */
+ 0x59, 0x5a, 0xb2, 0xd4, 0xd6, 0xd2, 0xd3, 0xd5, /* \.STUVWXYZ...... */
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, /* f0-ff: */
+ 0x38, 0x39, 0xb3, 0xdb, 0xdc, 0xd9, 0xda, 0x9f /* 0123456789...... */
+};
+
+/*
+The US-ASCII to EBCDIC (character set IBM-1047) table:
+This table is bijective (no ambiguous or duplicate characters)
+*/
+const unsigned char os_toebcdic[256] = {
+ 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 00-0f: */
+ 0x16, 0x05, 0x15, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* ................ */
+ 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 10-1f: */
+ 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* ................ */
+ 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 20-2f: */
+ 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* !"#$%&'()*+,-./ */
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 30-3f: */
+ 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0123456789:;<=>? */
+ 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 40-4f: */
+ 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* @ABCDEFGHIJKLMNO */
+ 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 50-5f: */
+ 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* PQRSTUVWXYZ[\]^_ */
+ 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 60-6f: */
+ 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* `abcdefghijklmno */
+ 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 70-7f: */
+ 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* pqrstuvwxyz{|}~. */
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x04, 0x06, 0x08, /* 80-8f: */
+ 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x14, /* ................ */
+ 0x30, 0x31, 0x25, 0x33, 0x34, 0x35, 0x36, 0x17, /* 90-9f: */
+ 0x38, 0x39, 0x3a, 0x3b, 0x1a, 0x1b, 0x3e, 0xff, /* ................ */
+ 0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* a0-af: */
+ 0xbb, 0xb4, 0x9a, 0x8a, 0xb0, 0xca, 0xaf, 0xbc, /* ................ */
+ 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* b0-bf: */
+ 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* ................ */
+ 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* c0-cf: */
+ 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* ................ */
+ 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* d0-df: */
+ 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xba, 0xae, 0x59, /* ................ */
+ 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* e0-ef: */
+ 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* ................ */
+ 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* f0-ff: */
+ 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf /* ................ */
+};
+
+/* Translate a memory block from EBCDIC (host charset) to ASCII (net charset)
+ * dest and srce may be identical, or separate memory blocks, but
+ * should not overlap.
+ */
+void
+ebcdic2ascii(void *dest, const void *srce, size_t count)
+{
+ unsigned char *udest = dest;
+ const unsigned char *usrce = srce;
+ while (count-- != 0) {
+ *udest++ = os_toascii[*usrce++];
+ }
+}
+void
+ebcdic2ascii_strictly(unsigned char *dest, const unsigned char *srce, size_t count)
+{
+ while (count-- != 0) {
+ *dest++ = os_toascii_strictly[*srce++];
+ }
+}
+void
+ascii2ebcdic(void *dest, const void *srce, size_t count)
+{
+ unsigned char *udest = dest;
+ const unsigned char *usrce = srce;
+
+ while (count-- != 0) {
+ *udest++ = os_toebcdic[*usrce++];
+ }
+}
+#endif /*CHARSET_EBCDIC*/
+
diff --git a/usr.sbin/httpd/src/os/tpf/ebcdic.h b/usr.sbin/httpd/src/os/tpf/ebcdic.h
new file mode 100644
index 00000000000..e9c4120e1a3
--- /dev/null
+++ b/usr.sbin/httpd/src/os/tpf/ebcdic.h
@@ -0,0 +1,8 @@
+#include <sys/types.h>
+
+extern const unsigned char os_toascii[256];
+extern const unsigned char os_toebcdic[256];
+void ebcdic2ascii(void *dest, const void *srce, size_t count);
+void ebcdic2ascii_strictly(unsigned char *dest, const unsigned char *srce, size_t count);
+void ascii2ebcdic(void *dest, const void *srce, size_t count);
+
diff --git a/usr.sbin/httpd/src/os/tpf/os-inline.c b/usr.sbin/httpd/src/os/tpf/os-inline.c
new file mode 100644
index 00000000000..e58917af369
--- /dev/null
+++ b/usr.sbin/httpd/src/os/tpf/os-inline.c
@@ -0,0 +1,31 @@
+/*
+ * This file contains functions which can be inlined if the compiler
+ * has an "inline" modifier. Because of this, this file is both a
+ * header file and a compilable module.
+ *
+ * Only inlineable functions should be defined in here. They must all
+ * include the INLINE modifier.
+ *
+ * If the compiler supports inline, this file will be #included as a
+ * header file from os.h to create all the inline function
+ * definitions. INLINE will be defined to whatever is required on
+ * function definitions to make them inline declarations.
+ *
+ * If the compiler does not support inline, this file will be compiled
+ * as a normal C file into libos.a (along with os.c). In this case
+ * INLINE will _not_ be set so we can use this to test if we are
+ * compiling this source file.
+ */
+
+#ifndef INLINE
+#define INLINE
+
+/* Anything required only when compiling */
+#include "ap_config.h"
+
+#endif
+
+INLINE int ap_os_is_path_absolute(const char *file)
+{
+ return (file && file[0] == '/' ? 1 : 0);
+}
diff --git a/usr.sbin/httpd/src/os/tpf/os.c b/usr.sbin/httpd/src/os/tpf/os.c
new file mode 100644
index 00000000000..aea4d961f4e
--- /dev/null
+++ b/usr.sbin/httpd/src/os/tpf/os.c
@@ -0,0 +1,177 @@
+/* ====================================================================
+ * Copyright (c) 1998-1999 The Apache Group. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the Apache Group
+ * for use in the Apache HTTP server project (http://www.apache.org/)."
+ *
+ * 4. The names "Apache Server" and "Apache Group" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the Apache Group
+ * for use in the Apache HTTP server project (http://www.apache.org/)."
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Group and was originally based
+ * on public domain software written at the National Center for
+ * Supercomputing Applications, University of Illinois, Urbana-Champaign.
+ * For more information on the Apache Group and the Apache HTTP server
+ * project, please see <http://www.apache.org/>.
+ *
+ */
+
+/*
+ * This file will include OS specific functions which are not inlineable.
+ * Any inlineable functions should be defined in os-inline.c instead.
+ */
+
+#include "httpd.h"
+#include "http_core.h"
+#include "os.h"
+
+/* Check the Content-Type to decide if conversion is needed */
+int ap_checkconv(struct request_rec *r)
+{
+ int convert_to_ascii;
+ const char *type;
+
+ /* To make serving of "raw ASCII text" files easy (they serve faster
+ * since they don't have to be converted from EBCDIC), a new
+ * "magic" type prefix was invented: text/x-ascii-{plain,html,...}
+ * If we detect one of these content types here, we simply correct
+ * the type to the real text/{plain,html,...} type. Otherwise, we
+ * set a flag that translation is required later on.
+ */
+
+ type = (r->content_type == NULL) ? ap_default_type(r) : r->content_type;
+
+ /* If no content type is set then treat it as (ebcdic) text/plain */
+ convert_to_ascii = (type == NULL);
+
+ /* Conversion is applied to text/ files only, if ever. */
+ if (type && (strncasecmp(type, "text/", 5) == 0 ||
+ strncasecmp(type, "message/", 8) == 0)) {
+ if (strncasecmp(type, ASCIITEXT_MAGIC_TYPE_PREFIX,
+ sizeof(ASCIITEXT_MAGIC_TYPE_PREFIX)-1) == 0)
+ r->content_type = ap_pstrcat(r->pool, "text/",
+ type+sizeof(ASCIITEXT_MAGIC_TYPE_PREFIX)-1,
+ NULL);
+ else
+ /* translate EBCDIC to ASCII */
+ convert_to_ascii = 1;
+ }
+ /* Enable conversion if it's a text document */
+ ap_bsetflag(r->connection->client, B_EBCDIC2ASCII, convert_to_ascii);
+
+ return convert_to_ascii;
+}
+
+int tpf_select(int maxfds, fd_set *reads, fd_set *writes, fd_set *excepts, struct timeval *tv)
+{
+ int sockets[24];
+ int no_reads = 0;
+ int no_writes = 0;
+ int no_excepts = 0;
+ int timeout = 0;
+ int counter = 0;
+ int i;
+ fd_set *temp;
+
+ if(maxfds) {
+ if(reads)
+ temp = reads;
+ else if(writes)
+ temp = writes;
+ else if(excepts)
+ temp = excepts;
+ else
+ temp = NULL;
+
+ for(i=0; i<maxfds; i++) {
+ if(FD_ISSET(i,temp)) {
+ sockets[counter] = i;
+ counter++;
+ }
+ }
+
+ if(tv)
+ timeout = tv->tv_sec * 1000 + tv->tv_usec;
+
+ if(reads)
+ no_reads = counter;
+ else if(writes)
+ no_writes = counter;
+ else if(excepts)
+ no_excepts = counter;
+ }
+ return select(sockets, no_reads, no_writes, no_excepts, timeout);
+}
+
+/* pipe is not yet available on TPF */
+int pipe(int fildes[2])
+{
+ errno = ENOSYS;
+ return(-1);
+}
+
+/* fork and exec functions are not defined on
+ TPF due to the implementation of tpf_fork() */
+
+pid_t fork(void)
+{
+ errno = ENOSYS;
+ return(-1);
+}
+
+int execl(const char *path, const char *arg0, ...)
+{
+ errno = ENOSYS;
+ return(-1);
+}
+
+int execle(const char *path, const char *arg0, ...)
+{
+ errno = ENOSYS;
+ return(-1);
+}
+
+int execve(const char *path, char *const argv[], char *const envp[])
+{
+ errno = ENOSYS;
+ return(-1);
+}
diff --git a/usr.sbin/httpd/src/os/tpf/os.h b/usr.sbin/httpd/src/os/tpf/os.h
new file mode 100644
index 00000000000..9a94bcc96c2
--- /dev/null
+++ b/usr.sbin/httpd/src/os/tpf/os.h
@@ -0,0 +1,111 @@
+#ifndef APACHE_OS_H
+#define APACHE_OS_H
+
+#define PLATFORM "TPF"
+
+#ifdef errno
+#undef errno
+#endif
+
+/*
+ * This file in included in all Apache source code. It contains definitions
+ * of facilities available on _this_ operating system (HAVE_* macros),
+ * and prototypes of OS specific functions defined in os.c or os-inline.c
+ */
+
+#include "ap_config.h"
+
+#if !defined(INLINE) && defined(USE_GNU_INLINE)
+/* Compiler supports inline, so include the inlineable functions as
+ * part of the header
+ */
+#define INLINE extern ap_inline
+
+INLINE int ap_os_is_path_absolute(const char *file);
+
+#include "os-inline.c"
+#endif
+
+#ifndef INLINE
+/* Compiler does not support inline, so prototype the inlineable functions
+ * as normal
+ */
+extern int ap_os_is_path_absolute(const char *file);
+#endif
+
+/* Other ap_os_ routines not used by this platform */
+
+#define ap_os_is_filename_valid(f) (1)
+
+/* Sorry if this is ugly, but the include order doesn't allow me
+ * to use request_rec here... */
+struct request_rec;
+extern int ap_checkconv(struct request_rec *r);
+
+#ifdef FD_SETSIZE
+#undef FD_SETSIZE
+#endif
+
+#define FD_SETSIZE 2048
+
+#ifdef __FD_MASK
+#undef __FD_MASK
+#endif
+
+typedef long __FD_MASK;
+
+#ifdef __NBBY
+#undef __NBBY
+#endif
+
+#define __NBBY 8 /* number of bits in a byte */
+
+#ifdef __NFDBITS
+#undef __NFDBITS
+#endif
+
+#define __NFDBITS (sizeof(__FD_MASK) * __NBBY)
+
+#ifndef __howmany
+#define __howmany(x, y) (((x)+((y)-1))/(y))
+#endif
+
+typedef struct fd_set {
+ __FD_MASK fds_bits [__howmany(FD_SETSIZE, __NFDBITS)];
+} fd_set;
+
+#define FD_SET(n, p)((p)->fds_bits[(n)/__NFDBITS] |= (1 <<((n) % __NFDBITS)))
+
+#define FD_CLR(n, p)((p)->fds_bits[(n)/__NFDBITS] &= ~(1 << ((n) % __NFDBITS)))
+
+#define FD_ISSET(n, p)((p)->fds_bits[(n)/__NFDBITS] & (1 <<((n) % __NFDBITS)))
+
+#define FD_ZERO(p) memset((char *)(p), 0, sizeof(*(p)))
+
+
+#define SIGPIPE 13
+#define SIGQUIT 24
+#define SO_KEEPALIVE 0x0008
+
+/* TPF doesn't have, or need, tzset (it is used in mod_expires.c) */
+#define tzset()
+
+#include <stdarg.h>
+#undef va_list
+#undef va_start
+#undef va_arg
+#undef va_end
+
+typedef char *va_list;
+
+#define __va_promote(type) (((sizeof(type) + sizeof(int) - 1) \
+ / sizeof(int)) * sizeof(int))
+
+#define va_start(ap, last) (ap = ((char *)&(last) + __va_promote(last)))
+
+#define va_arg(ap, type) ((type *)(ap += sizeof(type) < sizeof(int) ? \
+ (abort(), 0) : sizeof(type)))[-1]
+
+#define va_end(ap)
+
+#endif /*! APACHE_OS_H*/
diff --git a/usr.sbin/httpd/src/os/tpf/samples/linkdll.jcl b/usr.sbin/httpd/src/os/tpf/samples/linkdll.jcl
new file mode 100644
index 00000000000..6bcd17c6b07
--- /dev/null
+++ b/usr.sbin/httpd/src/os/tpf/samples/linkdll.jcl
@@ -0,0 +1,121 @@
+//APACH JOB MSGLEVEL=(1,1),CLASS=A,MSGCLASS=A
+/*ROUTE PRINT XXXXXX.XXXXXX
+/*ROUTE PUNCH XXXXXX.XXXXXX
+/*NOTIFY XXXXXX.XXXXXX
+//CCLE JCLLIB ORDER=(SYS1.CBC.SCBCPRC,SYS1.CEE.SCEEPROC)
+//PRELINK EXEC EDCPL,COND.LKED=(0,NE),
+// PPARM='OMVS,DLLNAME(pppp)',
+// LREGSIZ='2048K',
+// LPARM='AMODE=31,RMODE=ANY,LIST,XREF'
+//PLKED.SYSLIB DD DISP=SHR,DSN=FSE0000.DEVP.STUB.OB
+// DD DISP=SHR,DSN=FSE0000.DEVP.CLIB.OB
+// DD DISP=SHR,DSN=ACP.CLIB.RLSE46.WEB
+// DD DISP=SHR,DSN=ACP.STUB.RLSE46.WEB
+// DD DISP=SHR,DSN=ACP.CLIB.RLSE40
+// DD DISP=SHR,DSN=ACP.STUB.RLSE40
+//PLKED.SYSDEFSD DD DSN=APA0000.DEVP.IMPORTS.DSD(ppppvv),DISP=SHR
+//PLKED.DSD DD DSN=APA0000.DEVP.IMPORTS.DSD,DISP=SHR
+//PLKED.OBJLIB DD DISP=SHR,DSN=FSE0000.DEVP.TEST.OB
+// DD DISP=SHR,DSN=ACP.OBJ.RLSE46.WEB
+// DD DISP=SHR,DSN=ACP.OBJ.INTG98.NBS
+// DD DISP=SHR,DSN=ACP.MAIN.SYST.OBBSS
+// DD DISP=SHR,DSN=ACP.DF.MAIN.SYST.OBBSS
+// DD DISP=SHR,DSN=ACP.OBJ.RLSE40.BSS
+//PLKED.OBJ1 DD PATH='/usr/local/apache/src/ap/ap_cpystrn.o'
+//PLKED.OBJ2 DD PATH='/usr/local/apache/src/ap/ap_execve.o'
+//PLKED.OBJ3 DD PATH='/usr/local/apache/src/ap/ap_signal.o'
+//PLKED.OBJ4 DD PATH='/usr/local/apache/src/ap/ap_slack.o'
+//PLKED.OBJ5 DD PATH='/usr/local/apache/src/ap/ap_snprintf.o'
+//PLKED.OBJ6 DD PATH='/usr/local/apache/src/ap/ap_strings.o'
+//PLKED.OBJ7 DD PATH='/usr/local/apache/src/os/tpf/ebcdic.o'
+//PLKED.OBJ8 DD PATH='/usr/local/apache/src/os/tpf/os.o'
+//PLKED.OBJ9 DD PATH='/usr/local/apache/src/os/tpf/os-inline.o'
+//PLKED.OBJ10 DD PATH='/usr/local/apache/src/regex/regcomp.o'
+//PLKED.OBJ11 DD PATH='/usr/local/apache/src/regex/regerror.o'
+//PLKED.OBJ12 DD PATH='/usr/local/apache/src/regex/regexec.o'
+//PLKED.OBJ13 DD PATH='/usr/local/apache/src/regex/regfree.o'
+//PLKED.OBJ14 DD PATH='/usr/local/apache/src/main/alloc.o'
+//PLKED.OBJ15 DD PATH='/usr/local/apache/src/main/buff.o'
+//PLKED.OBJ16 DD PATH='/usr/local/apache/src/main/fnmatch.o'
+//PLKED.OBJ17 DD PATH='/usr/local/apache/src/main/http_config.o'
+//PLKED.OBJ18 DD PATH='/usr/local/apache/src/main/http_core.o'
+//PLKED.OBJ19 DD PATH='/usr/local/apache/src/main/http_log.o'
+//PLKED.OBJ20 DD PATH='/usr/local/apache/src/main/http_main.o'
+//PLKED.OBJ21 DD PATH='/usr/local/apache/src/main/http_protocol.o'
+//PLKED.OBJ22 DD PATH='/usr/local/apache/src/main/http_request.o'
+//PLKED.OBJ23 DD PATH='/usr/local/apache/src/main/http_vhost.o'
+//PLKED.OBJ24 DD PATH='/usr/local/apache/src/main/md5c.o'
+//PLKED.OBJ25 DD PATH='/usr/local/apache/src/main/rfc1413.o'
+//PLKED.OBJ26 DD PATH='/usr/local/apache/src/main/util.o'
+//PLKED.OBJ27 DD PATH='/usr/local/apache/src/main/util_date.o'
+//PLKED.OBJ28 DD PATH='/usr/local/apache/src/main/util_md5.o'
+//PLKED.OBJ29 DD PATH='/usr/local/apache/src/main/util_script.o'
+//PLKED.OBJ30 DD PATH='/usr/local/apache/src/main/util_uri.o'
+//PLKED.OBJ31 DD PATH='/usr/local/apache/src/modules.o'
+//PLKED.OBJ32 DD PATH='/usr/local/apache/src/buildmark.o'
+//PLKED.OBJ33 DD PATH='/usr/local/apache/src/modules/standard/mod_auto\
+// index.o'
+//PLKED.OBJ34 DD PATH='/usr/local/apache/src/modules/standard/mod_dir.\
+// o'
+//PLKED.OBJ35 DD PATH='/usr/local/apache/src/modules/standard/mod_mime\
+// .o'
+//PLKED.OBJ36 DD PATH='/usr/local/apache/src/modules/standard/mod_sete\
+// nvif.o'
+//PLKED.OBJ37 DD PATH='/usr/local/apache/src/modules/standard/mod_alia\
+// s.o'
+//PLKED.OBJ38 DD PATH='/usr/local/apache/src/modules/standard/mod_acce\
+// ss.o'
+//PLKED.OBJ39 DD PATH='/usr/local/apache/src/modules/standard/mod_user\
+// dir.o'
+//PLKED.OBJ40 DD PATH='/usr/local/apache/src/modules/standard/mod_spel\
+// ing.o'
+//PLKED.OBJ41 DD PATH='/usr/local/apache/src/modules/standard/mod_nego\
+// tiation.o'
+//PLKED.SYSIN DD *
+ ORDER @@DLMHDR
+ INCLUDE OBJLIB(CSTRTD40)
+ INCLUDE OBJ1
+ INCLUDE OBJ2
+ INCLUDE OBJ3
+ INCLUDE OBJ4
+ INCLUDE OBJ5
+ INCLUDE OBJ6
+ INCLUDE OBJ7
+ INCLUDE OBJ8
+ INCLUDE OBJ9
+ INCLUDE OBJ10
+ INCLUDE OBJ11
+ INCLUDE OBJ12
+ INCLUDE OBJ13
+ INCLUDE OBJ14
+ INCLUDE OBJ15
+ INCLUDE OBJ16
+ INCLUDE OBJ17
+ INCLUDE OBJ18
+ INCLUDE OBJ19
+ INCLUDE OBJ20
+ INCLUDE OBJ21
+ INCLUDE OBJ22
+ INCLUDE OBJ23
+ INCLUDE OBJ24
+ INCLUDE OBJ25
+ INCLUDE OBJ26
+ INCLUDE OBJ27
+ INCLUDE OBJ28
+ INCLUDE OBJ29
+ INCLUDE OBJ30
+ INCLUDE OBJ31
+ INCLUDE OBJ32
+ INCLUDE OBJ33
+ INCLUDE OBJ34
+ INCLUDE OBJ35
+ INCLUDE OBJ36
+ INCLUDE OBJ37
+ INCLUDE OBJ38
+ INCLUDE OBJ39
+ INCLUDE OBJ40
+ INCLUDE OBJ41
+/*
+//*** WARNING *** NEVER change .LK to .OB in SYSLMOD!!!
+//LKED.SYSLMOD DD DISP=OLD,DSN=xxxxxx.xxxx(ppppvv)
+//
diff --git a/usr.sbin/httpd/src/os/tpf/samples/loadset.jcl b/usr.sbin/httpd/src/os/tpf/samples/loadset.jcl
new file mode 100644
index 00000000000..c0134d4cb82
--- /dev/null
+++ b/usr.sbin/httpd/src/os/tpf/samples/loadset.jcl
@@ -0,0 +1,58 @@
+//OLDRWEB JOB MSGLEVEL=1,CLASS=A,MSGCLASS=S
+//JOBCAT DD DSN=ICFCAT.ESAWK2,DISP=SHR
+/*ROUTE PRINT xxxxxx.xxxxxxx
+/*ROUTE PUNCH xxxxxx.xxxxxxx
+//TLDR EXEC PGM=TPFLDRCA,REGION=8M,
+// PARM='OLDR,SYS=ACP,CLMSIZE=8000000'
+//STEPLIB DD DSN=ACP.LINK.RLSE46.WEB,DISP=SHR
+// DD DSN=ACP.LINK.RLSE40.BSS,DISP=SHR
+// DD DSN=VIS0000.DEVP.TEST.LK,DISP=SHR
+// DD DSN=SYS1.CEE.SCEERUN,DISP=SHR
+//SALTB DD DSN=ACP.SALTBL.RLSE46.WEB,DISP=SHR
+// DD DSN=ACP.SALTBL.INTG46.WEB,DISP=SHR
+//OBJLIB DD DSN=FSE0000.DEVP.TEST.OB,DISP=SHR
+// DD DSN=APA0000.DEVP.TEST.OB,DISP=SHR
+// DD DSN=ACP.DRVE.TEST.OB,DISP=SHR
+// DD DSN=ACP.OBJ.RLSE46.WEB,DISP=SHR
+// DD DSN=ACP.OBJ.INTG36.DRV,DISP=SHR
+// DD DSN=ACP.OBJ.INTG46.WEB,DISP=SHR
+// DD DSN=ACP.OBJ.INTG40.BSS,DISP=SHR
+//LOADMOD DD DSN=FSE0000.DEVP.TEST.LK,DISP=SHR
+// DD DSN=APA0000.DEVP.TEST.LK,DISP=SHR
+// DD DSN=CWEISS.LINK,DISP=SHR
+// DD DSN=ACP.DRVE.TEST.LK,DISP=SHR
+// DD DSN=ACP.LINK.RLSE46.WEB,DISP=SHR
+// DD DSN=ACP.LINK.INTG98.NBS,DISP=SHR
+// DD DSN=ACP.LINK.INTG46.WEB,DISP=SHR
+// DD DSN=ACP.LINK.INTG36.DRV,DISP=SHR
+// DD DSN=ACP.LINK.INTG40.BSS,DISP=SHR
+//LOADSUM DD DSN=&&LOADSUM,DISP=(NEW,PASS),UNIT=SYSDA,
+// LRECL=133,SPACE=(TRK,(10,10)),RECFM=FBA
+//CPRTEMP DD UNIT=SYSDA,
+// DSN=&&CPRTEMP,SPACE=(TRK,(100,20)),
+// DCB=(RECFM=FB,BLKSIZE=4095,LRECL=4095),
+// DISP=(NEW,DELETE)
+//PROGTEMP DD UNIT=SYSDA,
+// DSN=&&PRTEMP,SPACE=(TRK,(100,20)),
+// DCB=(RECFM=FB,BLKSIZE=4095,LRECL=4095),
+// DISP=(NEW,DELETE)
+//OUTPUT DD DSN=&&VRDROUT,DISP=(NEW,PASS),UNIT=SYSDA,
+// DCB=(RECFM=F,BLKSIZE=4095,LRECL=4095)
+//SYSUDUMP DD DUMMY
+//SYSABEND DD DUMMY
+//SYSOUT DD SYSOUT=A
+//SYSPRINT DD SYSOUT=A
+//PRINTER DD SYSOUT=A
+//CEEDUMP DD SYSOUT=A
+//SYSIN DD *
+SYSID=BSS
+PATVERS=NONE
+SALVERS=40
+LOADER LOADSET lllllll
+LOADER CALL PROG ppppvv
+/*
+//TRANSMIT EXEC PGM=IKJEFT01,
+// PARM='TRANSMIT xxxxxx.xxxxxx DDNAME(SYSTSIN) NOLOG NONOTIFY SEQ'
+//SYSTSIN DD UNIT=SYSDA,
+// DSN=&&VRDROUT,DISP=(OLD,DELETE)
+//SYSTSPRT DD DUMMY