diff options
author | wtc%netscape.com <devnull@localhost> | 1999-06-04 03:01:40 +0000 |
---|---|---|
committer | wtc%netscape.com <devnull@localhost> | 1999-06-04 03:01:40 +0000 |
commit | ca3350a7e0f54616f1bf9cf73d2556ed5680e513 (patch) | |
tree | 971e38a4cda33be6067860ddb94ff095aca80a9d | |
parent | c5796f402a91b1e23c88e03cbc0210d3442c6b09 (diff) | |
download | nspr-hg-ca3350a7e0f54616f1bf9cf73d2556ed5680e513.tar.gz |
More OpenVMS changes from Colin R. Blake <colin@theblakes.com>.
Modified files: prstrms.cpp, pr/include/md/Makefile, _openvms.h,
and prmapopt.c.
-rw-r--r-- | lib/prstreams/prstrms.cpp | 2 | ||||
-rw-r--r-- | pr/include/md/Makefile | 2 | ||||
-rw-r--r-- | pr/include/md/_openvms.h | 3 | ||||
-rw-r--r-- | pr/src/io/prmapopt.c | 22 |
4 files changed, 27 insertions, 2 deletions
diff --git a/lib/prstreams/prstrms.cpp b/lib/prstreams/prstrms.cpp index 00c641bc..954a72e4 100644 --- a/lib/prstreams/prstrms.cpp +++ b/lib/prstreams/prstrms.cpp @@ -46,7 +46,7 @@ #define _PRSTR_DELBUF(x) delbuf(x) #define _PRSTR_DELBUF_C(c, x) c::_PRSTR_DELBUF(x) #elif defined(VMS) -#undef _PRSTR_BP /* as nothing */ +#undef _PRSTR_BP #define _PRSTR_DELBUF(x) /* as nothing */ #define _PRSTR_DELBUF_C(c, x) /* as nothing */ #elif defined(OSF1) diff --git a/pr/include/md/Makefile b/pr/include/md/Makefile index 18577166..b976d2d1 100644 --- a/pr/include/md/Makefile +++ b/pr/include/md/Makefile @@ -157,7 +157,7 @@ ifeq ($(OS_ARCH),OpenVMS) rm -f $(DIST)/include/$(MDCPUCFG_H) if [ ! -L $(DIST)/include/prcpucfg.h ]; then \ mv -f $(DIST)/include/prcpucfg.h $(MDCPUCFG_H); \ - ln -fs $(MOD_DEPTH)/nsprpub/pr/include/md/$(MDCPUCFG_H) \ + ln -fs ../../../nsprpub/pr/include/md/$(MDCPUCFG_H) \ $(DIST)/include/prcpucfg.h; \ fi endif diff --git a/pr/include/md/_openvms.h b/pr/include/md/_openvms.h index ebc12887..050e158a 100644 --- a/pr/include/md/_openvms.h +++ b/pr/include/md/_openvms.h @@ -50,11 +50,14 @@ /* ** OpenVMS doesn't have these in socket.h. +** Does in later versions! */ +#if 0 struct ip_mreq { struct in_addr imr_multiaddr; /* IP multicast address of group */ struct in_addr imr_interface; /* local IP address of interface */ }; +#endif /* * OSF1 needs the MAP_FIXED flag to ensure that mmap returns a pointer diff --git a/pr/src/io/prmapopt.c b/pr/src/io/prmapopt.c index 71850af1..1d618187 100644 --- a/pr/src/io/prmapopt.c +++ b/pr/src/io/prmapopt.c @@ -337,6 +337,28 @@ PRStatus PR_CALLBACK _PR_SocketSetSocketOption(PRFileDesc *fd, const PRSocketOpt ********************************************************************* */ +#if defined(VMS) +/* +** Sad but true. The DEC C header files define the following socket options +** differently to what UCX is expecting. The values that UCX expects are +** defined in SYS$LIBRARY:UCX$INETDEF.H. We redefine them here to the values +** that UCX expects. Note that UCX V4.x will only accept these values while +** UCX V5.x will accept either. So in theory this hack can be removed once +** UCX V5 is the minimum. +*/ +#undef IP_MULTICAST_IF +#undef IP_MULTICAST_TTL +#undef IP_MULTICAST_LOOP +#undef IP_ADD_MEMBERSHIP +#undef IP_DROP_MEMBERSHIP +#include <ucx$inetdef.h> +#define IP_MULTICAST_IF UCX$C_IP_MULTICAST_IF +#define IP_MULTICAST_TTL UCX$C_IP_MULTICAST_TTL +#define IP_MULTICAST_LOOP UCX$C_IP_MULTICAST_LOOP +#define IP_ADD_MEMBERSHIP UCX$C_IP_ADD_MEMBERSHIP +#define IP_DROP_MEMBERSHIP UCX$C_IP_DROP_MEMBERSHIP +#endif + /* * Not every platform has all the socket options we want to * support. Some older operating systems such as SunOS 4.1.3 |