Received: from louie.udel.edu by huey.udel.edu id aa09565; 11 Apr 94 13:04 EDT Received: from ni.umd.edu by louie.udel.edu id aa10661; 11 Apr 94 12:57 EDT Received: by ni.umd.edu id AA00787 (5.65c/IDA-1.4.4 for ntp-list); Mon, 11 Apr 1994 12:50:20 -0400 Received: from RUTGERS.EDU by ni.umd.edu with SMTP id AA00783 (5.65c/IDA-1.4.4 for ); Mon, 11 Apr 1994 12:50:13 -0400 Received: from unipress-link.rutgers.edu by rutgers.edu (5.59/SMI4.0/RU1.5/3.08) id AA26905; Mon, 11 Apr 94 12:49:43 EDT Received: from huh.unipress.com by repo.unipress.com (4.1/SMI-4.1/UniPress022294.2) id AA03031; Mon, 11 Apr 94 12:49:27 EDT via Message-Id: <9404111649.AA03031@repo.unipress.com> To: ntp@ni.umd.edu Subject: Re: xntp for univel/unix-ware on x86 Date: Mon, 11 Apr 94 12:49:25 -0400 From: Ray Schnitzler As seems usual, every patch is followed by a re-patch. This is a (modified) re-posting of patches to make xntp work on unixware svr4. It now uses machines/unixware1 and SYS_UNIXWARE1 (instead of univel, as suggested by J J Farrell), and now includes some RELNOTES and COPYRIGHT text (as suggested by Dave) It is still rough, but it still works. The tickadj utility still does *not* work, even for controlling 'tick'. I'm not sure what the right behavior should be since there is no 'tickadj' kernel var. In addition to the credits I mentioned above, special thanks go to Denton Gentry for advice along the way. Enjoy. Ray Schnitzler UniPress Software, Inc. ------------------------------------------------------------ Here are the changes I made. First, the (new) machines/univel file, and then the (rest of the) context diffs: *** machines/unixware1.3.3p Fri Apr 8 16:48:35 1994 --- machines/unixware1 Mon Apr 11 11:08:10 1994 *************** *** 0 **** --- 1,10 ---- + SHELL= /bin/sh + RANLIB= ls # ar does the work of ranlib under System V + DEFS= -DSYS_UNIXWARE1 -DSTREAMS_TLI -DHAVE_TERMIOS -DCONFIG_FILE=\\"/usr/local/etc/ntp.conf\\" + AUTHDEFS= -DDES -DMD5 + CLOCKDEFS= + DAEMONLIBS= -lnsl -lsocket -lelf + RESLIB= -lnsl -lsocket -lelf + INSTALL=$(TOP)scripts/install.sh + SHELL= /bin/sh + RANLIB= ls # ar does the work of ranlib under System V *** COPYRIGHT.3.3p Thu Feb 3 00:20:07 1994 --- COPYRIGHT Mon Apr 11 10:47:24 1994 *************** *** 55,58 **** --- 55,59 ---- * Torsten Duwe (Linux Port) * Paul A Vixie (TrueTime GPS driver) * Jim Jagielski (A/UX port) + * Ray Schnitzler (First pass at a Unixware1 port.) */ *** RELNOTES.3.3p Thu Jan 27 09:33:09 1994 --- RELNOTES Mon Apr 11 11:14:35 1994 *************** *** 140,145 **** --- 140,146 ---- PC BSD/386 1.0 gcc LOCAL_CLOCK possibly see "build problems" PC Linux (pl14) gcc LOCAL_CLOCK (dw 93/10/30) PC Dell SVR4 v2.2 gcc ? (tl 93/12/30) + PC Unixware1/SVR4 cc no tickadj, ? (ras 93/04/11) NCR3445 NCR SVR4 cc LOCAL_CLOCK (tm 93/11/29) pb: Piete Brooks *************** *** 149,154 **** --- 150,156 ---- tl: Tony Lill tm: Tom Moore jmj: Jim Jagielski + ras: Ray Schnitzler Build Problems (and workaround): *** authstuff/authspeed.c.3.3p Thu Jan 27 09:03:12 1994 --- authstuff/authspeed.c Mon Apr 11 10:29:47 1994 *************** *** 2,8 **** * authspeed - figure out how LONG it takes to do an NTP encryption */ ! #if defined(SYS_HPUX) || defined(SYS_AUX3) || defined(SYS_AUX2) || defined(SOLARIS) || defined(SYS_SVR4) || defined(SYS_PTX) #define FAKE_RUSAGE #endif --- 2,8 ---- * authspeed - figure out how LONG it takes to do an NTP encryption */ ! #if defined(SYS_HPUX) || defined(SYS_AUX3) || defined(SYS_AUX2) || defined(SOLARIS) || defined(SYS_SVR4) || defined(SYS_PTX) || defined(SYS_UNIXWARE1) #define FAKE_RUSAGE #endif *** include/ntp_if.h.3.3p Mon Nov 15 16:21:29 1993 --- include/ntp_if.h Mon Apr 11 10:30:21 1994 *************** *** 16,21 **** --- 16,25 ---- #include #endif + #if defined(SYS_UNIXWARE1) + #include + #endif + #if defined(SYS_PTX) || defined(SYS_SINIXM) #include #include *** include/ntp_machine.h.3.3p Mon Mar 14 02:47:02 1994 --- include/ntp_machine.h Mon Apr 11 10:31:11 1994 *************** *** 526,531 **** --- 526,565 ---- #endif /* + * (Univel/Novell) Unixware1 SVR4 on intel x86 processor + */ + #if defined(SYS_UNIXWARE1) + /* #define _POSIX_SOURCE */ + #undef HAVE_ATT_SETPGRP + #define USE_PROTOTYPES + #define NTP_POSIX_SOURCE + #define HAVE_ATT_NICE + #define HAVE_READKMEM + #define USE_TTY_SIGPOLL + #define USE_UDP_SIGPOLL + #define UDP_WILDCARD_DELIVERY + #undef HAVE_SIGNALED_IO + #define STREAM + #define STREAMS + #ifndef STREAMS_TLI + /*#define STREAMS_TLI*/ + #endif + /* #define USE_STREAMS_DEVICE_FOR_IF_CONFIG */ + #undef STEP_SLEW /* TWO step */ + #define LOCK_PROCESS + #define NO_SIGNED_CHAR_DECL + #undef SYSV_TIMEOFDAY + #define SIZE_RETURNED_IN_BUFFER + #define RETSIGTYPE void + #include + #include + #include + #ifndef STR_SYSTEM + #define STR_SYSTEM "UNIX/Unixware1" + #endif + #endif + + /* * DomainOS */ #if defined(SYS_DOMAINOS) *** xntpd/ntp_unixclock.c.3.3p Thu Feb 3 00:20:20 1994 --- xntpd/ntp_unixclock.c Mon Apr 11 10:33:23 1994 *************** *** 255,260 **** --- 255,277 ---- /* Define the following to be what the tick and tickadj variables are * called in your kernel. */ + #if defined(SYS_UNIXWARE1) + /* + * clock_parms - return the local clock tickadj and tick parameters + * + * The values set here were determined experimentally on a 486 system + * I'm not confident in them. - RAS + * + */ + static void + clock_parms(tickadj, tick) + U_LONG *tickadj; + U_LONG *tick; + { + *tick = 10000; /* microseconds */ + *tickadj = 80; /* microseconds */ + } + #else /* SYS_UNIXWARE1 */ #if defined(SYS_AUX3) || defined(SYS_AUX2) || defined(SYS_SVR4) || defined(SYS_PTX) #define K_TICKADJ_NAME "tickadj" *************** *** 571,573 **** --- 587,590 ---- *tick = (U_LONG)txc.tick; } #endif /* SYS_LINUX */ + #endif /* SYS_UNIXWARE1 */ *** xntpd/ntpd.c.3.3p Wed Feb 16 22:09:35 1994 --- xntpd/ntpd.c Mon Apr 11 10:33:58 1994 *************** *** 14,20 **** #include #endif ! #if defined(SYS_SVR4) #include #endif --- 14,21 ---- #include #endif ! /* Shouldn't this test for HAVE_TERMIOS - RAS */ ! #if defined(SYS_SVR4) || defined (SYS_UNIXWARE1) #include #endif