More OpenVMS changes from Colin R. Blake <colin@theblakes.com>.

Modified files: prstrms.cpp, pr/include/md/Makefile, _openvms.h,
and prmapopt.c.
This commit is contained in:
wtc%netscape.com 1999-06-04 03:01:40 +00:00
parent e87d99d372
commit 6a84154eb0
4 changed files with 27 additions and 2 deletions

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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