summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig A. Berry <craigberry@mac.com>2011-09-03 14:44:11 -0500
committerCraig A. Berry <craigberry@mac.com>2011-09-03 15:58:07 -0500
commit046cc26cf77f76bc63fd4d206fef560054f5d298 (patch)
tree97ff2b407e3588779aac22a5fd710d5e5d6704be
parentc475d5dcffe516f06f78424f9515dc90cebe2577 (diff)
downloadperl-046cc26cf77f76bc63fd4d206fef560054f5d298.tar.gz
Remove sockadapt layer from the VMS build.
SOCKETSHR is/was an interface to abstract out TCP/IP calls for the various vendors' networking implementations, including the freeware CMU-IP stack. Neither SOCKETSHR nor CMU-IP has seen any maintenance for over a decade and are likely not even C89-compliant. The CRTL socket routines have been supported by the different vendors' stacks for many years so there is no reason to maintain an alternative, and there probably hasn't been a real working alternative for some years anyway. The code is still there in maint-5.14 and earlier branches if anyone has need of it.
-rw-r--r--MANIFEST2
-rw-r--r--README.vms44
-rw-r--r--configure.com180
-rw-r--r--ext/Socket/Socket.pm2
-rw-r--r--ext/Socket/Socket.xs46
-rw-r--r--vms/descrip_mms.template96
-rw-r--r--vms/sockadapt.c130
-rw-r--r--vms/sockadapt.h188
-rw-r--r--vms/vmsish.h1
9 files changed, 86 insertions, 603 deletions
diff --git a/MANIFEST b/MANIFEST
index 4eac31f8a0..6e882a0117 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -5254,8 +5254,6 @@ vms/make_command.com record MM[SK] command used to build Perl
vms/mms2make.pl convert descrip.mms to make syntax
vms/munchconfig.c performs shell $var substitution for VMS
vms/myconfig.com record local configuration info for bug report
-vms/sockadapt.c glue for SockshShr socket support
-vms/sockadapt.h glue for SockshShr socket support
vms/test.com DCL driver for regression tests
vms/vms.c VMS-specific C code for Perl core
vms/vmsish.h VMS-specific C header for Perl core
diff --git a/README.vms b/README.vms
index 8d3c8a23da..8195d6af8f 100644
--- a/README.vms
+++ b/README.vms
@@ -212,10 +212,9 @@ As a handy shortcut, the command:
@ Configure "-des"
(note the quotation marks and case) will choose reasonable defaults
-automatically (it takes DEC C over Gnu C, DEC C sockets over SOCKETSHR
-sockets, and either over no sockets). Some options can be given
-explicitly on the command line; the following example specifies a
-non-default location for where Perl will be installed:
+automatically. Some options can be given explicitly on the command line;
+the following example specifies a non-default location for where Perl
+will be installed:
@ Configure "-d" "-Dprefix=dka100:[utils.perl5.]"
@@ -254,40 +253,9 @@ change.
=head2 Socket Support (optional) for Perl on VMS
Perl includes a number of functions for IP sockets, which are available if
-you choose to compile Perl with socket support. Since IP networking is an
-optional addition to VMS, there are several different IP stacks available.
-How well integrated they are into the system depends on the stack, your
-version of VMS, and the version of your C compiler.
-
-The default solution available is to use the socket routines built into DEC
-C. Which routines are available depend on the version of VMS you're
-running, and require proper UCX emulation by your TCP/IP vendor.
-Relatively current versions of Multinet, TCPWare, Pathway, and UCX all
-provide the required libraries--check your manuals or release notes to see
-if your version is new enough.
-
-The other solution uses the SOCKETSHR library. Before VAX/VMS 5.5-2 it was
-the most portable solution. The SOCKETSHR library has not been maintained
-since VAX/VMS 5.5-2, and it is not known if will even compile with the ANSI
-C that Perl currently requires. It remains an option for historical reasons,
-just in case someone might find it useful.
-
-In combination with either UCX or NetLib, this supported all the major TCP
-stacks (Multinet, Pathways, TCPWare, UCX, and CMU) on all versions of VMS
-Perl ran on up to VAX/VMS 6.2 and Alpha VMS 1.5 with all the compilers on
-both VAX and Alpha. The portion of the socket interface was also consistent
-across versions of VMS and C compilers.
-
-It has a problem with UDP sockets when used with Multinet, though, so you
-should be aware of that.
-
-As of VAX/VMS 5.5-2 and later, CMU is the only TCP/IP program that requires
-socketshr, and the sources have been lost to the most recent CMU bug fixes,
-so CMU is limited to OpenVMS/VAX 6.2 or earlier, which is the last release
-that binaries for the last released patches are known to exist.
-
-There is currently no official web site for downloading either CMU or
-SOCKETSHR; however, copies may be found in the DECUS archives.
+you choose to compile Perl with socket support. It does this via the socket
+routines built into the CRTL regarless of which TCP/IP stack your system
+has.
=head1 Building Perl
diff --git a/configure.com b/configure.com
index 3078bf646b..c23bdf0106 100644
--- a/configure.com
+++ b/configure.com
@@ -1933,15 +1933,6 @@ $!: Looking for optional libraries
$!: see if nm is to be used to determine whether a symbol is defined or not
$!: get list of predefined functions in a handy place
$!: see if we have sigaction or sigprocmask
-$!: see whether socketshr exists
-$ IF (F$SEARCH(F$PARSE("SocketShr","Sys$Share:.Exe")).NES."")
-$ THEN
-$ Has_socketshr = "T"
-$ echo ""
-$ echo4 "Hmm... Looks like you have SOCKETSHR Berkeley networking support."
-$ ELSE
-$ Has_socketshr = "F"
-$ ENDIF
$ IF (ccname .EQS. "DEC" .AND. Dec_C_Version .GE. 50200000) .OR. (ccname .EQS. "CXX")
$ THEN
$ Has_Dec_C_Sockets = "T"
@@ -1950,20 +1941,14 @@ $ echo4 "Hmm... Looks like you have Dec C Berkeley networking support."
$ ELSE
$ Has_Dec_C_Sockets = "F"
$ ENDIF
-$ ! Hey, we've got both. Default to Dec C, then, since it's better
-$ IF Has_socketshr .OR. Has_Dec_C_Sockets
+$!
+$ IF Has_Dec_C_Sockets
$ THEN
$ echo ""
-$ echo "You have sockets available. Which socket stack do you want to"
-$ echo "build into Perl?"
-$ IF Has_Dec_C_Sockets
-$ THEN
-$ dflt = "DECC"
-$ ELSE
-$ dflt = "SOCKETSHR"
-$ ENDIF
-$ rp = "Choose socket stack (NONE"
-$ IF Has_socketshr THEN rp = rp + ",SOCKETSHR"
+$ echo "You have sockets available via the C library. Should socket support"
+$ echo "be built into Perl?"
+$ dflt = "DECC"
+$ rp = "Choose socket support option (NONE"
$ IF Has_Dec_C_Sockets THEN rp = rp + ",DECC"
$ rp = rp + ") [''dflt'] "
$ GOSUB myread
@@ -1971,7 +1956,6 @@ $ Has_Dec_C_Sockets = "F"
$ Has_socketshr = "F"
$ ans = F$EDIT(ans,"TRIM,COMPRESS,LOWERCASE")
$ IF ans.eqs."decc" THEN Has_Dec_C_Sockets = "T"
-$ IF ans.eqs."socketshr" THEN Has_socketshr = "T"
$ ENDIF
$!
$!
@@ -2907,7 +2891,7 @@ $ dflt = dflt - "IPC/SysV" ! needs to be ported
$ dflt = dflt - "NDBM_File" ! needs porting/special library
$ dflt = dflt - "ODBM_File" ! needs porting/special library
$ dflt = dflt - "Sys/Syslog" ! needs porting/special library "GDBM_File macro LOG_DEBUG"
-$ IF .NOT. Has_socketshr .AND. .NOT. Has_Dec_C_Sockets
+$ IF .NOT. Has_Dec_C_Sockets
$ THEN
$ dflt = dflt - "Socket" ! optional on VMS
$ ENDIF
@@ -3791,7 +3775,7 @@ $ i_socks = tmp
$!
$! Check the prototype for select
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -3800,13 +3784,8 @@ $ WS "#endif"
$ WS "#include <stdio.h>"
$ WS "#include <types.h>"
$ IF i_unistd .EQS. "define" THEN WS "#include <unistd.h>"
-$ IF Has_Socketshr
-$ THEN
-$ WS "#include <socketshr.h>"
-$ ELSE
-$ WS "#include <time.h>"
-$ WS "#include <socket.h>"
-$ ENDIF
+$ WS "#include <time.h>"
+$ WS "#include <socket.h>"
$ WS "int main()"
$ WS "{"
$ WS "fd_set *foo;"
@@ -3840,10 +3819,6 @@ $ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
$ WS "#include <types.h>"
-$ IF Has_Socketshr
-$ THEN
-$ WS "#include <socketshr.h>"
-$ ENDIF
$ IF Has_Dec_C_Sockets
$ THEN
$ WS "#include <time.h>"
@@ -4026,7 +4001,7 @@ $ ENDIF
$!
$! Check to see if gethostname exists
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4034,13 +4009,8 @@ $ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
$ WS "#include <types.h>"
-$ IF Has_Socketshr
-$ THEN
-$ WS "#include <socketshr.h>"
-$ ELSE
-$ WS "#include <time.h>"
-$ WS "#include <socket.h>"
-$ ENDIF
+$ WS "#include <time.h>"
+$ WS "#include <socket.h>"
$ WS "int main()"
$ WS "{"
$ WS "char name[100];"
@@ -4556,7 +4526,7 @@ $ d_setproctitle = tmp
$!
$! Check for <netinet/in.h>
$!
-$ IF Has_Dec_C_Sockets .or. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ tmp = "netinet/in.h"
$ GOSUB inhdr
@@ -4567,7 +4537,7 @@ $ ENDIF
$!
$! Check for <netinet/tcp.h>
$!
-$ IF Has_Dec_C_Sockets .or. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ tmp = "netinet/tcp.h"
$ GOSUB inhdr
@@ -4578,17 +4548,14 @@ $ ENDIF
$!
$! Check for endhostent
$!
-$ IF Has_Dec_C_Sockets .or. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "endhostent();"
@@ -4604,17 +4571,14 @@ $ ENDIF
$!
$! Check for endnetent
$!
-$ IF Has_Dec_C_Sockets .or. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "endnetent();"
@@ -4630,17 +4594,14 @@ $ ENDIF
$!
$! Check for endprotoent
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "endprotoent();"
@@ -4656,17 +4617,14 @@ $ ENDIF
$!
$! Check for endservent
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "endservent();"
@@ -4682,17 +4640,14 @@ $ ENDIF
$!
$! Check for sethostent
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "sethostent(1);"
@@ -4708,17 +4663,14 @@ $ ENDIF
$!
$! Check for setnetent
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "setnetent(1);"
@@ -4734,17 +4686,14 @@ $ ENDIF
$!
$! Check for setprotoent
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "setprotoent(1);"
@@ -4760,17 +4709,14 @@ $ ENDIF
$!
$! Check for setservent
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "setservent(1);"
@@ -4786,17 +4732,14 @@ $ ENDIF
$!
$! Check for gethostent
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "gethostent();"
@@ -4812,17 +4755,14 @@ $ ENDIF
$!
$! Check for getnetent
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "getnetent();"
@@ -4838,17 +4778,14 @@ $ ENDIF
$!
$! Check for getprotoent
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "getprotoent();"
@@ -4864,17 +4801,14 @@ $ ENDIF
$!
$! Check for getservent
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "getservent();"
@@ -4892,7 +4826,7 @@ $!
$! Check for sa_len
$!
$ echo4 "Checking the availability of sa_len in the sockaddr struct ..."
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4900,12 +4834,7 @@ $ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#define _SOCKADDR_LEN"
$ WS "#include <types.h>"
-$ IF Has_Socketshr
-$ THEN
-$ WS "#include <socketshr.h>"
-$ ELSE
-$ WS "#include <socket.h>"
-$ ENDIF
+$ WS "#include <socket.h>"
$ WS "int main() {"
$ WS "struct sockaddr sa;"
$ WS "return (sa.sa_len);"
@@ -4929,16 +4858,11 @@ $!
$! Check for sin6_scope_id
$!
$ echo4 "Checking the availability of sin6_scope_id in the struct sockaddr_in6 ..."
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ OS
$ WS "#include <types.h>"
-$ IF Has_Socketshr
-$ THEN
-$ WS "#include <socketshr.h>"
-$ ELSE
-$ WS "#include <socket.h>"
-$ ENDIF
+$ WS "#include <socket.h>"
$ WS "#include <in.h>"
$ WS "int main() {"
$ WS "struct sockaddr_in6 sin6;"
@@ -4978,7 +4902,7 @@ $ d_nanosleep = tmp
$!
$! Check for socklen_t
$!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
$ THEN
$ echo4 "Checking to see if you have socklen_t..."
$ OS
@@ -4986,10 +4910,7 @@ $ WS "#if defined(__DECC) || defined(__DECCXX)"
$ WS "#include <stdlib.h>"
$ WS "#endif"
$ WS "#include <stdio.h>"
-$ IF Has_Socketshr
-$ THEN WS "#include <socketshr.h>"
-$ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$ ENDIF
+$ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
$ WS "int main()"
$ WS "{"
$ WS "socklen_t x = 16;"
@@ -5568,7 +5489,7 @@ $ d_stdio_ptr_lval_nochange_cnt="define"
$ usefaststdio="undef"
$!
$! Sockets?
-$ if Has_Socketshr .OR. Has_Dec_C_Sockets
+$ if Has_Dec_C_Sockets
$ THEN
$ d_vms_do_sockets="define"
$ d_htonl="define"
@@ -7021,8 +6942,6 @@ $ IF (Has_Dec_C_Sockets)
$ THEN
$ WC "#define VMS_DO_SOCKETS"
$ WC "#define DECCRTL_SOCKETS"
-$ ELSE
-$ IF Has_Socketshr THEN WC "#define VMS_DO_SOCKETS"
$ ENDIF
$! This is VMS-specific for now
$ WC "#''d_setenv' HAS_SETENV"
@@ -7089,12 +7008,7 @@ $ IF Has_Dec_C_Sockets
$ THEN
$ SOCKET_REPLACE = "SOCKET=DECC_SOCKETS=1"
$ ELSE
-$ IF Has_Socketshr
-$ THEN
-$ SOCKET_REPLACE = "SOCKET=SOCKETSHR_SOCKETS=1"
-$ ELSE
-$ SOCKET_REPLACE = "SOCKET="
-$ ENDIF
+$ SOCKET_REPLACE = "SOCKET="
$ ENDIF
$ IF use_threads
$ THEN
diff --git a/ext/Socket/Socket.pm b/ext/Socket/Socket.pm
index aa3fe3fff8..9ba10bfb82 100644
--- a/ext/Socket/Socket.pm
+++ b/ext/Socket/Socket.pm
@@ -3,7 +3,7 @@ package Socket;
use strict;
our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = "1.94";
+$VERSION = "1.94_01";
=head1 NAME
diff --git a/ext/Socket/Socket.xs b/ext/Socket/Socket.xs
index 9214fc15bb..8bcfa0f476 100644
--- a/ext/Socket/Socket.xs
+++ b/ext/Socket/Socket.xs
@@ -5,47 +5,43 @@
#include <stddef.h>
-#ifndef VMS
-# ifdef I_SYS_TYPES
+#ifdef I_SYS_TYPES
# include <sys/types.h>
-# endif
-# if !defined(ultrix) /* Avoid double definition. */
+#endif
+#if !defined(ultrix) /* Avoid double definition. */
# include <sys/socket.h>
-# endif
-# if defined(USE_SOCKS) && defined(I_SOCKS)
+#endif
+#if defined(USE_SOCKS) && defined(I_SOCKS)
# include <socks.h>
-# endif
-# ifdef MPE
+#endif
+#ifdef MPE
# define PF_INET AF_INET
# define PF_UNIX AF_UNIX
# define SOCK_RAW 3
-# endif
-# ifdef I_SYS_UN
+#endif
+#ifdef I_SYS_UN
# include <sys/un.h>
-# endif
+#endif
/* XXX Configure test for <netinet/in_systm.h needed XXX */
-# if defined(NeXT) || defined(__NeXT__)
+#if defined(NeXT) || defined(__NeXT__)
# include <netinet/in_systm.h>
-# endif
-# if defined(__sgi) && !defined(AF_LINK) && defined(PF_LINK) && PF_LINK == AF_LNK
+#endif
+#if defined(__sgi) && !defined(AF_LINK) && defined(PF_LINK) && PF_LINK == AF_LNK
# undef PF_LINK
-# endif
-# if defined(I_NETINET_IN) || defined(__ultrix__)
+#endif
+#if defined(I_NETINET_IN) || defined(__ultrix__)
# include <netinet/in.h>
-# endif
-# ifdef I_NETDB
+#endif
+#ifdef I_NETDB
# if !defined(ultrix) /* Avoid double definition. */
# include <netdb.h>
# endif
-# endif
-# ifdef I_ARPA_INET
+#endif
+#ifdef I_ARPA_INET
# include <arpa/inet.h>
-# endif
-# ifdef I_NETINET_TCP
+#endif
+#ifdef I_NETINET_TCP
# include <netinet/tcp.h>
-# endif
-#else
-# include "sockadapt.h"
#endif
#ifdef NETWARE
diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template
index cef3716f6b..8e5debfa29 100644
--- a/vms/descrip_mms.template
+++ b/vms/descrip_mms.template
@@ -79,21 +79,6 @@ MALLOC_C = malloc$(C)
SOCKET=1
.endif
-.ifdef SOCKETSHR_SOCKETS
-SOCKET=1
-.endif
-
-# If they defined SOCKET but didn't choose a stack, default to SOCKETSHR
-.ifdef DECC_SOCKETS
-.else
-.ifdef SOCKETSHR_SOCKETS
-.else
-.ifdef SOCKET
-SOCKETSHR_SOCKETS=1
-.endif
-.endif
-.endif
-
ARCHDIR = [.lib.$(ARCHNAME).$(PERL_VERSION)]
ARCHCORE = [.lib.$(ARCHNAME).$(PERL_VERSION).CORE]
ARCHAUTO = [.lib.$(ARCHNAME).$(PERL_VERSION).auto]
@@ -152,35 +137,6 @@ DBGLINKFLAGS = /NoTrace/NoMap
DBG =
.endif
-#: SOCKET: build in support for TCP/IP sockets
-#: By default, used SOCKETSHR library; see ReadMe.VMS
-#: for information on changing socket support
-.ifdef SOCKET
-.ifdef DECC_SOCKETS
-SOCKDEF =
-SOCKLIB =
-.else
-SOCKDEF =
-SOCKLIB = SocketShr/Share
-.endif
-# N.B. the targets for $(SOCKC) and $(SOCKH) assume that the permanent
-# copies live in [.vms], and the `clean' target will delete copies of
-# these files in the current default directory.
-SOCKC = sockadapt.c
-SOCKH = sockadapt.h
-SOCKARCH = $(ARCHCORE)$(SOCKH)
-SOCKO = sockadapt$(O)
-SOCKPM = [.lib]Socket.pm
-.else
-SOCKDEF =
-SOCKLIB =
-SOCKC =
-SOCKH =
-SOCKARCH =
-SOCKO =
-SOCKPM =
-.endif
-
.ifdef THREADED
THREADDEF =
THREAD = THREAD
@@ -278,14 +234,14 @@ FULLLIBS2 = $(LIBS2)|$(THRLIBS1)|$(THRLIBS2)
#### End of system configuration section. ####
-c0 = $(MALLOC_C) $(SOCKC) av.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mro.c
+c0 = $(MALLOC_C) av.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mro.c
c1 = mg.c locale.c mathoms.c miniperlmain.c numeric.c op.c pad.c perl.c perlapi.c perlio.c
c2 = perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c pp_sort.c pp_sys.c regcomp.c regexec.c reentr.c
c3 = run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c vms.c keywords.c
c = $(c0) $(c1) $(c2) $(c3)
obj0 = perl$(O)
-obj1 = $(MALLOC_O) $(SOCKO) av$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro$(O) globals$(O) gv$(O) hv$(O)
+obj1 = $(MALLOC_O) av$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro$(O) globals$(O) gv$(O) hv$(O)
obj2 = keywords$(O) locale$(O) mathoms$(O) mg$(O) miniperlmain$(O) numeric$(O) op$(O) pad$(O) perlapi$(O) perlio$(O)
obj3 = perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) reentr$(O) pp_pack$(O) pp_sort$(O) pp_sys$(O) regcomp$(O)
obj4 = regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O) universal$(O) utf8$(O) util$(O) vms$(O)
@@ -300,10 +256,10 @@ h3 = op_reg_common.h opcode.h opnames.h overload.h pad.h parser.h patchlevel.h
h4 = perl.h perlapi.h perlio.h perlsdio.h perlvars.h perly.h
h5 = pp.h pp_proto.h proto.h regcomp.h regexp.h regnodes.h scope.h
h6 = sv.h thread.h utf8.h util.h vmsish.h warnings.h
-h7 = xsub.h $(SOCKH) $(THREADH)
+h7 = xsub.h $(THREADH)
h = $(h0) $(h1) $(h2) $(h3) $(h4) $(h5) $(h6) $(h7)
-ac0 = $(ARCHCORE)$(sockh) $(ARCHCORE)av.h
+ac0 = $(ARCHCORE)av.h
ac1 = $(ARCHCORE)config.h $(ARCHCORE)cop.h $(ARCHCORE)cv.h $(ARCHCORE)embed.h
ac2 = $(ARCHCORE)embedvar.h $(ARCHCORE)EXTERN.h $(ARCHCORE)fakethr.h
ac3 = $(ARCHCORE)form.h $(ARCHCORE)git_version.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h
@@ -319,11 +275,7 @@ ac10 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)reentr.h $(ARCHCORE)r
ac10 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h
.endif
ac11 = $(ARCHCORE)regexp.h $(ARCHCORE)regnodes.h $(ARCHCORE)scope.h
-.ifdef SOCKARCH
-ac12 = $(ARCHCORE)sv.h $(SOCKARCH)
-.else
ac12 = $(ARCHCORE)sv.h
-.endif
ac13 = $(ARCHCORE)thread.h $(ARCHCORE)utf8.h $(ARCHCORE)util.h
ac14 = $(ARCHCORE)vmsish.h $(ARCHCORE)warnings.h $(ARCHCORE)xsub.h
acopt = $(ARCHCORE)perlshr_attr.opt $(ARCHCORE)$(DBG)perlshr_bld.opt
@@ -621,7 +573,7 @@ nonxsext : $(LIBPREREQ) preplibrary $(MINIPERL_EXE)
# Accommodate buggy cpp in some version of DECC, which chokes on illegal
# filespec "y.tab.c", and broken gcc cpp, which doesn't start #include ""
# search in same dir as source file
-[.x2p]a2p$(O) : [.x2p]a2p.c [.x2p]a2py.c [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h config.h handy.h vmsish.h $(SOCKH) $(MINIPERL_EXE)
+[.x2p]a2p$(O) : [.x2p]a2p.c [.x2p]a2py.c [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h config.h handy.h vmsish.h $(MINIPERL_EXE)
$(MINIPERL) -pe "s/^#line\s+(\d+)\s+\Q""y.tab.c""/#line $1 ""y_tab.c""/;" $(MMS$SOURCE) >$(MMS$TARGET_NAME)_vms.c
$(CC) $(X2PCFLAGS) /Object=$(MMS$TARGET)/Include=([.x2p],[]) $(MMS$TARGET_NAME)_vms.c
Delete/Log/NoConfirm $(MMS$TARGET_NAME)_vms.c;
@@ -654,21 +606,7 @@ install.html : [.pod]perltoc.pod
printconfig :
@ @[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS)
- @ @[.vms]myconfig "$(CC)" "$(CFLAGS)" "$(LINKFLAGS)" "$(LIBS1)" "$(FULLLIBS2)" "$(SOCKLIB)" "$(EXT)" "$(DBG)"
-
-.ifdef SOCKET
-
-vmsish.h : $(SOCKH)
-
-$(SOCKO) : $(SOCKC) $(h)
-
-$(SOCKC) : [.vms]$(SOCKC)
- Copy/NoConfirm/Log $(MMS$SOURCE) []
-
-$(SOCKH) : [.vms]$(SOCKH)
- Copy/NoConfirm/Log $(MMS$SOURCE) []
-
-.endif
+ @ @[.vms]myconfig "$(CC)" "$(CFLAGS)" "$(LINKFLAGS)" "$(LIBS1)" "$(FULLLIBS2)" "$(EXT)" "$(DBG)"
# The following files are generated automatically
# embed.pl: proto.h embed.h embedvar.h perlapi.h perlapi.c
@@ -737,12 +675,6 @@ archify : all
@ Write Sys$Output " 2. Delete Miniperl$(E)"
# CORE subset for MakeMaker, so we can build Perl without sources
-# Should move to VMS installperl when we get one
-.ifdef SOCKET
-$(SOCKARCH) : $(SOCKH)
- @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
- Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-.endif
$(ARCHCORE)av.h : av.h
@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
@@ -921,10 +853,6 @@ $(ARCHAUTO)time.stamp :
#util$(O) : util.c
# $(CC) $(CORECFLAGS) $(MMS$SOURCE)
# AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
-.ifdef SOCKET
-$(SOCKO) : $(SOCKC) $(h)
- $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-.endif
av$(O) : av.c $(h)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
deb$(O) : deb.c $(h)
@@ -1008,16 +936,16 @@ util$(O) : util.c $(h)
vms$(O) : vms.c $(h)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-[.x2p]hash$(O) : [.x2p]hash.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
+[.x2p]hash$(O) : [.x2p]hash.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h
$(CC) $(X2PCFLAGS) $(MMS$SOURCE)
-[.x2p]str$(O) : [.x2p]str.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
+[.x2p]str$(O) : [.x2p]str.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h
$(CC) $(X2PCFLAGS) $(MMS$SOURCE)
-[.x2p]util$(O) : [.x2p]util.c [.x2p]EXTERN.h [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
+[.x2p]util$(O) : [.x2p]util.c [.x2p]EXTERN.h [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h
$(CC) $(X2PCFLAGS) $(MMS$SOURCE)
-[.x2p]walk$(O) : [.x2p]walk.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
+[.x2p]walk$(O) : [.x2p]walk.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h
$(CC) $(X2PCFLAGS) $(MMS$SOURCE)
# End of automatically generated make dependencies
@@ -1030,7 +958,7 @@ vms.c : [.vms]vms.c
Copy/Log/Noconfirm [.vms]vms.c []
$(CRTL) : $(MAKEFILE)
- @ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(FULLLIBS2)|$(SOCKLIB)"
+ @ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(FULLLIBS2)"
ok : $(utils)
$(MINIPERL) lib/perlbug.com -ok -s "(UNINSTALLED)"
@@ -1094,8 +1022,6 @@ clean : tidy cleantest
- $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--all" "--target=clean"
- If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
- If F$Search("[...]*$(O);*") .nes."" Then Delete/NoConfirm/Log [...]*$(O);*
- - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
- - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKC)")).nes."" Then Delete/NoConfirm/Log $(SOCKC);*
- If F$Search("vmsish.h").nes."" Then Delete/NoConfirm/Log vmsish.h;*
- If F$Search("vms.c") .nes."" Then Delete/NoConfirm/Log vms.c;*
- If F$Search("perlmain.c") .nes."" Then Delete/NoConfirm/Log perlmain.c;*
diff --git a/vms/sockadapt.c b/vms/sockadapt.c
deleted file mode 100644
index e7b207cbdc..0000000000
--- a/vms/sockadapt.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/* sockadapt.c
- *
- * Author: Charles Bailey bailey@newman.upenn.edu
- * Last Revised: 4-Mar-1997
- *
- * This file should contain stubs for any of the TCP/IP functions perl5
- * requires which are not supported by your TCP/IP stack. These stubs
- * can attempt to emulate the routine in question, or can just return
- * an error status or cause perl to die.
- *
- * This version is set up for perl5 with UCX (or emulation) via
- * the DECCRTL or SOCKETSHR 0.9D.
- */
-
-#include "EXTERN.h"
-#include "perl.h"
-
-#if defined(__DECC) && defined(__DECC_VER) && (__DECC_VER >= 50200000)
-# define __sockadapt_my_hostent_t __struct_hostent_ptr32
-# define __sockadapt_my_netent_t __struct_netent_ptr32
-# define __sockadapt_my_servent_t __struct_servent_ptr32
-# define __sockadapt_my_addr_t __in_addr_t
-# define __sockadapt_my_name_t const char *
-#else
-# define __sockadapt_my_hostent_t struct hostent *
-# define __sockadapt_my_netent_t struct netent *
-# define __sockadapt_my_servent_t struct servent *
-# define __sockadapt_my_addr_t long
-# define __sockadapt_my_name_t char *
-#endif
-
-/* We have these on VMS 7.0 and above, or on Dec C 5.6 if it's providing */
-/* the 7.0 DECC RTL */
-#if ((((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)) && defined(DECCRTL_SOCKETS))
-#else
-void setnetent(int stayopen) {
- dTHX;
- Perl_croak(aTHX_ "Function \"setnetent\" not implemented in this version of perl");
-}
-void endnetent() {
- dTHX;
- Perl_croak(aTHX_ "Function \"endnetent\" not implemented in this version of perl");
-}
-#endif
-
-#if defined(DECCRTL_SOCKETS)
- /* Use builtin socket interface in DECCRTL and
- * UCX emulation in whatever TCP/IP stack is present.
- */
-
-#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
-#else
- void sethostent(int stayopen) {
- dTHX;
- Perl_croak(aTHX_ "Function \"sethostent\" not implemented in this version of perl");
- }
- void endhostent() {
- dTHX;
- Perl_croak(aTHX_ "Function \"endhostent\" not implemented in this version of perl");
- }
- void setprotoent(int stayopen) {
- dTHX;
- Perl_croak(aTHX_ "Function \"setprotoent\" not implemented in this version of perl");
- }
- void endprotoent() {
- dTHX;
- Perl_croak(aTHX_ "Function \"endprotoent\" not implemented in this version of perl");
- }
- void setservent(int stayopen) {
- dTHX;
- Perl_croak(aTHX_ "Function \"setservent\" not implemented in this version of perl");
- }
- void endservent() {
- dTHX;
- Perl_croak(aTHX_ "Function \"endservent\" not implemented in this version of perl");
- }
- __sockadapt_my_hostent_t gethostent() {
- dTHX;
- Perl_croak(aTHX_ "Function \"gethostent\" not implemented in this version of perl");
- return (__sockadapt_my_hostent_t )NULL; /* Avoid MISSINGRETURN warning, not reached */
- }
- __sockadapt_my_servent_t getservent() {
- dTHX;
- Perl_croak(aTHX_ "Function \"getservent\" not implemented in this version of perl");
- return (__sockadapt_my_servent_t )NULL; /* Avoid MISSINGRETURN warning, not reached */
- }
-#endif
-
-#else
- /* Work around things missing/broken in SOCKETSHR. */
-
-__sockadapt_my_netent_t getnetbyaddr( __sockadapt_my_addr_t net, int type) {
- dTHX;
- Perl_croak(aTHX_ "Function \"getnetbyaddr\" not implemented in this version of perl");
- return (struct netent *)NULL; /* Avoid MISSINGRETURN warning, not reached */
-}
-__sockadapt_my_netent_t getnetbyname( __sockadapt_my_name_t name) {
- dTHX;
- Perl_croak(aTHX_ "Function \"getnetbyname\" not implemented in this version of perl");
- return (struct netent *)NULL; /* Avoid MISSINGRETURN warning, not reached */
-}
-__sockadapt_my_netent_t getnetent() {
- dTHX;
- Perl_croak(aTHX_ "Function \"getnetent\" not implemented in this version of perl");
- return (__sockadapt_my_netent_t )NULL; /* Avoid MISSINGRETURN warning, not reached */
-}
-
-/* Some TCP/IP implementations seem to return success, when getpeername()
- * is called on a UDP socket, but the port and in_addr are all zeroes.
- */
-
-int my_getpeername(int sock, struct sockaddr *addr, int *addrlen) {
- static char nowhere[] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
- int rslt;
-
- rslt = si_getpeername(sock, addr, addrlen);
-
- /* Just pass an error back up the line */
- if (rslt) return rslt;
-
- /* If the call succeeded, make sure we don't have a zeroed port/addr */
- if (addr->sa_family == AF_INET &&
- !memcmp((char *)addr + sizeof(u_short), nowhere,
- sizeof(u_short) + sizeof(struct in_addr))) {
- rslt = -1;
- SETERRNO(ENOTCONN,SS$_CLEARED);
- }
- return rslt;
-}
-#endif /* SOCKETSHR stuff */
diff --git a/vms/sockadapt.h b/vms/sockadapt.h
deleted file mode 100644
index 97a49f8917..0000000000
--- a/vms/sockadapt.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/* sockadapt.h
- *
- * Authors: Charles Bailey bailey@newman.upenn.edu
- * David Denholm denholm@conmat.phys.soton.ac.uk
- * Last Revised: 4-Mar-1997
- *
- * This file should include any other header files and procide any
- * declarations, typedefs, and prototypes needed by perl for TCP/IP
- * operations.
- *
- * This version is set up for perl5 with socketshr 0.9D TCP/IP support.
- */
-
-#ifndef __SOCKADAPT_INCLUDED
-#define __SOCKADAPT_INCLUDED 1
-
-#if defined(DECCRTL_SOCKETS)
- /* Use builtin socket interface in DECCRTL and
- * UCX emulation in whatever TCP/IP stack is present.
- * Provide prototypes for missing routines; stubs are
- * in sockadapt.c.
- */
-# include <socket.h>
-# include <inet.h>
-# include <in.h>
-# include <netdb.h>
-#if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000)
-#else
- void sethostent(int);
- void endhostent(void);
- void setnetent(int);
- void endnetent(void);
- void setprotoent(int);
- void endprotoent(void);
- void setservent(int);
- void endservent(void);
-#endif
-# if defined(__DECC) && defined(__DECC_VER) && (__DECC_VER >= 50200000) && !defined(Sock_size_t)
-# define Sock_size_t unsigned int
-# endif
-
-#else
- /* Pull in SOCKETSHR's header, and set up structures for
- * gcc, whose basic header file set doesn't include the
- * TCP/IP stuff.
- */
-
-
-#ifdef __GNU_CC__
-
-/* we may not have netdb.h etc, so lets just do this here - div */
-/* no harm doing this for all .c files - needed only by pp_sys.c */
-
-struct hostent {
- char *h_name; /* official name of host */
- char **h_aliases; /* alias list */
- int h_addrtype; /* host address type */
- int h_length; /* length of address */
- char **h_addr_list; /* address */
-};
-#ifdef h_addr
-# undef h_addr
-#endif
-#define h_addr h_addr_list[0]
-
-struct protoent {
- char *p_name; /* official protocol name */
- char **p_aliases; /* alias list */
- int p_proto; /* protocol # */
-};
-
-struct servent {
- char *s_name; /* official service name */
- char **s_aliases; /* alias list */
- int s_port; /* port # */
- char *s_proto; /* protocol to use */
-};
-
-struct in_addr {
- unsigned long s_addr;
-};
-
-struct sockaddr {
- unsigned short sa_family; /* address family */
- char sa_data[14]; /* up to 14 bytes of direct address */
-};
-
-/*
- * Socket address, internet style.
- */
-struct sockaddr_in {
- short sin_family;
- unsigned short sin_port;
- struct in_addr sin_addr;
- char sin_zero[8];
-};
-
-struct timeval {
- long tv_sec;
- long tv_usec;
-};
-
-struct netent {
- char *n_name;
- char **n_aliases;
- int n_addrtype;
- long n_net;
-};
-
-/* Since socketshr.h won't declare function prototypes unless it thinks
- * the system headers have already been included, we convince it that
- * this is the case.
- */
-
-#ifndef AF_INET
-# define AF_INET 2
-#endif
-#ifndef IPPROTO_TCP
-# define IPPROTO_TCP 6
-#endif
-#ifndef __INET_LOADED
-# define __INET_LOADED
-#endif
-#ifndef __NETDB_LOADED
-# define __NETDB_LOADED
-#endif
-
-/* Finally, we provide prototypes for routines not supported by SocketShr,
- * so that the stubs in sockadapt.c won't cause complaints about
- * undeclared routines.
- */
-
-struct netent *getnetbyaddr( long net, int type);
-struct netent *getnetbyname( char *name);
-struct netent *getnetent();
-void setnetent(int);
-void endnetent();
-
-#else /* !__GNU_CC__ */
-
-/* DECC and VAXC have socket headers in the system set; they're for UCX, but
- * we'll assume that the actual calling sequence is identical across the
- * various TCP/IP stacks; these routines are pretty standard.
- */
-#include <socket.h>
-#include <in.h>
-#include <inet.h>
-
-/* SocketShr doesn't support these routines, but the DECC RTL contains
- * stubs with these names, designed to be used with the UCX socket
- * library. We avoid linker collisions by substituting new names.
- */
-#define getnetbyaddr no_getnetbyaddr
-#define getnetbyname no_getnetbyname
-#define getnetent no_getnetent
-#define setnetent no_setnetent
-#define endnetent no_endnetent
-
-#include <netdb.h>
-#endif
-
-/* We don't have these two in the system headers. */
-void setnetent(int);
-void endnetent();
-
-#include <socketshr.h>
-/* socketshr.h from SocketShr 0.9D doesn't alias fileno; its comments say
- * that the CRTL version works OK. This isn't the case, at least with
- * VAXC, so we use the SocketShr version.
- * N.B. This means that sockadapt.h must be included *after* stdio.h.
- * This is presently the case for Perl.
- */
-#ifdef fileno
-# undef fileno
-#endif
-#define fileno si_fileno
-int si_fileno(FILE *);
-
-
-/* Catch erroneous results for UDP sockets -- see sockadapt.c */
-#ifdef getpeername
-# undef getpeername
-#endif
-#define getpeername my_getpeername
-int my_getpeername (int, struct sockaddr *, int *);
-
-#endif /* SOCKETSHR stuff */
-#endif /* include guard */
diff --git a/vms/vmsish.h b/vms/vmsish.h
index e18758d7b6..f66fc5d9a2 100644
--- a/vms/vmsish.h
+++ b/vms/vmsish.h
@@ -348,7 +348,6 @@ struct interp_intern {
__ckvms_sts,__FILE__,__LINE__); lib$signal(__ckvms_sts); } } STMT_END
#ifdef VMS_DO_SOCKETS
-#include "sockadapt.h"
#define PERL_SOCK_SYSREAD_IS_RECV
#define PERL_SOCK_SYSWRITE_IS_SEND
#endif