This is fix 7 from 14-Dec-1993. Note that line numbers may be approximate if you have applied any of the previous fixes. Note, that this fix should only be used if you want to use Mosaic with CMU-OpenVMS/IP. UCX and MultiNet installations should not apply it! ========================================================================== Instructions for building Mosaic v2.0 for CMU-OpenVMS/IP. Building Mosaic v2 for OpenVMS/Ip requires the socket package LIBCMU. LIBCMU can be acquired from the anonymous ftp server kermit.columbia.edu. CMU-OpenVMS/IP can be acquired from the ftp server sacusr.mp.usbr.gov. The following describes additions/modification to the /pub/www/bin/vms/Mosaic-2.0.VMS.tar.Z package, dated Nov 26 08:07, found on the ftp server info.cern.ch. Please send all CMU-OpenVMS/IP related comments/problems to: Mike O'Malley Digital Consulting Mike.OMalley@AQO.mts.dec.COM 1) Create/Add the following file (only lines between BEGIN and END): FILE: [MOSAIC-2_0.SRC]CMUIP_TCPIP.OPT ------BEGIN------ Identification="mosaic 2.0" libcmu/library SYS$LIBRARY:DECW$XMULIBSHR.EXE/SHARE SYS$LIBRARY:DECW$XMLIBSHR.EXE/SHARE SYS$LIBRARY:DECW$XTSHR.EXE/SHARE SYS$LIBRARY:DECW$XLIBSHR.EXE/SHARE -------END------- Note: Define the logical LIBCMU to point to the location of the LIBCMU.OLB object library before building Mosaic. 2) The following are differences to 3 modified files. Do not be discouraged, the changes are minimal. This output was produced using the OpenVMS DIFFERENCES utility. Output from the 3 files is separated by form feed characters. A short description of the modifications precedes each DIFFERENCES output. Description: Select CMU-OpenVMS/IP in the `Make' command procedure based on the definition of the logical INTERNET_HOST_NAME. INTERNET_HOST_NAME is defined by the CMUIP_ROOT:[SYSMGR]IP_STARTUP.COM procedure. Add the define of logical SYS so compiler locates include files. ************ File DEV:[MOSAIC-2_0]MAKE_MOSAIC.COM;10 36 $ If F$Trnlnm("INTERNET_HOST_NAME") .NES. "" Then IP = "CMU_TCPIP" 37 $ If F$Trnlnm("MULTINET") .NES. "" Then IP = "MULTINET" ****** File DEV:[MOSAIC-2_0]MAKE_MOSAIC.COM_PRE_CMUIP;1 36 $ If F$Trnlnm("MULTINET") .NES. "" Then IP = "MULTINET" ************ ************ File DEV:[MOSAIC-2_0]MAKE_MOSAIC.COM;10 43 $ Define Sys SYS$Library 44 $ Set Default [.libwww2] ****** File DEV:[MOSAIC-2_0]MAKE_MOSAIC.COM_PRE_CMUIP;1 42 $ Set Default [.libwww2] ************ Number of difference sections found: 2 Number of difference records found: 2 Description: The (TRACE) statement added at line 199 is optional. The routine HTdoRead does not use the NETREAD macro defined in TCP.H. Add the DOREAD definition to handle this. Remove the ifdef's around the `return' and use DOREAD. ************ File DEV:[MOSAIC-2_0.LIBWWW2]HTTCP.C;3 199 if (TRACE) 200 fprintf(stderr,"TCP: address \"%s\" determined to be %s.\n", 201 host, numeric_addr ? "numeric" : "alpha-numeric"); 202 if (numeric_addr) ****** File DEV:[MOSAIC-2_0.LIBWWW2]HTTCP.C_PRE_CMUIP;1 199 if (numeric_addr) ************ ************ File DEV:[MOSAIC-2_0.LIBWWW2]HTTCP.C;3 537 #define DOREAD read 538 #ifdef MULTINET 539 #define DOREAD socket_read 540 #endif 541 #ifdef CMU_TCPIP 542 #define DOREAD cmu_read 543 #endif 544 545 /* This is so interruptible reads can be implemented cleanly. */ ****** File DEV:[MOSAIC-2_0.LIBWWW2]HTTCP.C_PRE_CMUIP;1 534 /* This is so interruptible reads can be implemented cleanly. */ ************ ************ File DEV:[MOSAIC-2_0.LIBWWW2]HTTCP.C;3 583 return DOREAD (fildes, buf, nbyte); 584 585 } ****** File DEV:[MOSAIC-2_0.LIBWWW2]HTTCP.C_PRE_CMUIP;1 572 #ifndef MULTINET 573 return read (fildes, buf, nbyte); 574 #else 575 return socket_read (fildes, buf, nbyte); 576 #endif /* MULTINET, BSN */ 577 } ************ Number of difference sections found: 3 Number of difference records found: 16 Description: Add/Modify comments. Add comment about CMU_TCPIP. Add macro definitions for NETREAD, NETWRITE, NETCLOSE. At line 196 the `#ifndef NotBSN' will cause the NETREAD macro to be undefined. Wrap this in a '#ifndef CMU_TCPIP'. ************ File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H;6 15 mlo Mike O'Malley 16 ****** File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H_PRE_CMUIP;1 15 ************ ************ File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H;6 22 13 Dec 93 Add CMU_TCPIP support 23 ****** File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H_PRE_CMUIP;1 21 ************ ************ File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H;6 102 OpenVMS VAX (was VAX/VMS) 103 104 Under OpenVMS, there are many versions of TCP-IP. Define one if you do 105 not use Digital's DEC TCP/IP (UCX) product: 106 107 UCX DEC TCP/IP Services for OpenVMS (default) 108 WIN_TCP From Wollongong, now GEC software. 109 MULTINET From SRI, now from TGV Inc. 110 DECNET Cern's TCP socket emulation over DECnet 111 112 The last three do not interfere with the ****** File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H_PRE_CMUIP;1 100 VAX/VMS 101 102 Under VMS, there are many versions of TCP-IP. Define one if you do 103 not use Digital's UCX product: 104 105 UCX DEC's "Ultrix connection" (default) 106 WIN_TCP From Wollongong, now GEC software. 107 MULTINET From SRI, now from TGV Inv. 108 DECNET Cern's TCP socket emulation over DECnet 109 110 The last three do not interfere with the ************ ************ File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H;6 119 CMU_TCPIP CMU-OpenVMS/IP, Public domain 120 CMUIP is available from sacusr.mp.usbr.GOV 121 Also requires LIBCMU, available from 122 kermit.columbia.EDU and other ftp servers 123 CMUIP requires the NETREAD, NETWRITE, NETCLOSE 124 macros too. 125 126 */ 127 #ifdef vms 128 129 #ifdef CMU_TCPIP 130 #undef NETREAD ****** File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H_PRE_CMUIP;1 117 */ 118 #ifdef vms 119 #ifdef WIN_TCP 120 #undef NETREAD ************ ************ File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H;6 133 #define NETREAD(s,b,l) (cmu_get_sdc((s)) != 0 ? HTDoRead((s),(b),(l)) : read((s),(b),(l))) 134 #define NETWRITE(s,b,l) (cmu_get_sdc((s)) != 0 ? cmu_write((s),(b),(l)) : write((s),(b),(l))) 135 #define NETCLOSE(s) (cmu_get_sdc((s)) != 0 ? cmu_close(s) : close(s)) 136 #endif /* CMU_TCPIP */ 137 138 #ifdef WIN_TCP 139 #undef NETREAD 140 #undef NETWRITE 141 #undef NETCLOSE 142 #define NETREAD(s,b,l) ((s)>10 ? netread((s),(b),(l)) : read((s),(b),(l))) ****** File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H_PRE_CMUIP;1 123 #define NETREAD(s,b,l) ((s)>10 ? netread((s),(b),(l)) : read((s),(b),(l))) ************ ************ File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H;6 215 216 #ifndef CMU_TCPIP 217 #ifndef NotBSN ****** File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H_PRE_CMUIP;1 196 #ifndef NotBSN ************ ************ File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H;6 221 #endif 222 ****** File DEV:[MOSAIC-2_0.LIBWWW2]TCP.H_PRE_CMUIP;1 200 ************ Number of difference sections found: 7 Number of difference records found: 35 ================================================================================ Mike O'Malley Mike.OMalley@aqo.mts.DEC.COM Digital Consulting mlomall@sandia.GOV Digital Equipment Corporation (505)844-6713