From e7009d45a002fad74c1e7b7d3c880edb60a45f97 Mon Sep 17 00:00:00 2001 From: jhb Date: Tue, 20 Nov 2001 07:13:40 +0000 Subject: Unifdef all the SGI code. It mainly added clutter while providing some specialized logging, SGI-specific priority massaging, and SCI-specific time trimming support. Also add missing $FreeBSD$'s. Inspired by: NetBSD --- usr.sbin/timed/timed/correct.c | 102 ---------------------------------- usr.sbin/timed/timed/globals.h | 8 --- usr.sbin/timed/timed/master.c | 64 --------------------- usr.sbin/timed/timed/measure.c | 6 -- usr.sbin/timed/timed/pathnames.h | 7 +-- usr.sbin/timed/timed/readmsg.c | 4 -- usr.sbin/timed/timed/slave.c | 29 ---------- usr.sbin/timed/timed/timed.c | 116 --------------------------------------- usr.sbin/timed/timedc/cmds.c | 5 -- usr.sbin/timed/timedc/timedc.h | 5 +- 10 files changed, 4 insertions(+), 342 deletions(-) (limited to 'usr.sbin/timed') diff --git a/usr.sbin/timed/timed/correct.c b/usr.sbin/timed/timed/correct.c index 1e4e2dd..a5865a8 100644 --- a/usr.sbin/timed/timed/correct.c +++ b/usr.sbin/timed/timed/correct.c @@ -43,9 +43,6 @@ static const char rcsid[] = #include #include #include -#ifdef sgi -#include -#endif /* sgi */ static void adjclock __P((struct timeval *)); @@ -176,105 +173,6 @@ adjclock(corr) if (settimeofday(&now, 0) < 0) syslog(LOG_ERR, "settimeofday: %m"); } - -#ifdef sgi - /* Accumulate the total change, and use it to adjust the basic - * clock rate. - */ - if (++passes > 2) { -#define F_USEC_PER_SEC (1000000*1.0) /* reduce typos */ -#define F_NSEC_PER_SEC (F_USEC_PER_SEC*1000.0) - - extern char *timetrim_fn; - extern char *timetrim_wpat; - extern long timetrim; - extern double tot_adj, hr_adj; /* totals in nsec */ - extern double tot_ticks, hr_ticks; - - static double nag_tick; - double cur_ticks, hr_delta_ticks, tot_delta_ticks; - double tru_tot_adj, tru_hr_adj; /* nsecs of adjustment */ - double tot_trim, hr_trim; /* nsec/sec */ - struct tms tm; - FILE *timetrim_st; - - cur_ticks = times(&tm); - tot_adj += delta*1000.0; - hr_adj += delta*1000.0; - - tot_delta_ticks = cur_ticks-tot_ticks; - if (tot_delta_ticks >= 16*SECDAY*CLK_TCK) { - tot_adj -= rint(tot_adj/16); - tot_ticks += rint(tot_delta_ticks/16); - tot_delta_ticks = cur_ticks-tot_ticks; - } - hr_delta_ticks = cur_ticks-hr_ticks; - - tru_hr_adj = hr_adj + timetrim*rint(hr_delta_ticks/CLK_TCK); - tru_tot_adj = (tot_adj - + timetrim*rint(tot_delta_ticks/CLK_TCK)); - - if (hr_delta_ticks >= SECDAY*CLK_TCK - || (tot_delta_ticks < 4*SECDAY*CLK_TCK - && hr_delta_ticks >= SECHR*CLK_TCK) - || (trace && hr_delta_ticks >= (SECHR/10)*CLK_TCK)) { - - tot_trim = rint(tru_tot_adj*CLK_TCK/tot_delta_ticks); - hr_trim = rint(tru_hr_adj*CLK_TCK/hr_delta_ticks); - - if (trace - || (abs(timetrim - hr_trim) > 100000.0 - && 0 == timetrim_fn - && ((cur_ticks - nag_tick) - >= 24*SECDAY*CLK_TCK))) { - nag_tick = cur_ticks; - syslog(LOG_NOTICE, - "%+.3f/%.2f or %+.3f/%.2f sec/hr; timetrim=%+.0f or %+.0f", - tru_tot_adj/F_NSEC_PER_SEC, - tot_delta_ticks/(SECHR*CLK_TCK*1.0), - tru_hr_adj/F_NSEC_PER_SEC, - hr_delta_ticks/(SECHR*CLK_TCK*1.0), - tot_trim, - hr_trim); - } - - if (tot_trim < -MAX_TRIM || tot_trim > MAX_TRIM) { - tot_ticks = hr_ticks; - tot_adj = hr_adj; - } else if (0 > syssgi(SGI_SETTIMETRIM, - (long)tot_trim)) { - syslog(LOG_ERR, "SETTIMETRIM(%d): %m", - (long)tot_trim); - } else { - if (0 != timetrim_fn) { - timetrim_st = fopen(timetrim_fn, "w"); - if (0 == timetrim_st) { - syslog(LOG_ERR, "fopen(%s): %m", - timetrim_fn); - } else { - if (0 > fprintf(timetrim_st, - timetrim_wpat, - (long)tot_trim, - tru_tot_adj, - tot_delta_ticks)) { - syslog(LOG_ERR, - "fprintf(%s): %m", - timetrim_fn); - } - (void)fclose(timetrim_st); - } - } - - tot_adj -= ((tot_trim - timetrim) - * rint(tot_delta_ticks/CLK_TCK)); - timetrim = tot_trim; - } - - hr_ticks = cur_ticks; - hr_adj = 0; - } - } -#endif /* sgi */ } diff --git a/usr.sbin/timed/timed/globals.h b/usr.sbin/timed/timed/globals.h index 1d621f9..6fe0bd1 100644 --- a/usr.sbin/timed/timed/globals.h +++ b/usr.sbin/timed/timed/globals.h @@ -53,16 +53,8 @@ #include #include -#ifdef sgi -#include -#include -/* use the constant HZ instead of the function CLK_TCK */ -#undef CLK_TCK -#define CLK_TCK HZ -#else #define SECHR (60*60) #define SECDAY (24*SECHR) -#endif /* sgi */ extern int sock; diff --git a/usr.sbin/timed/timed/master.c b/usr.sbin/timed/timed/master.c index c0e605b..fb5014b 100644 --- a/usr.sbin/timed/timed/master.c +++ b/usr.sbin/timed/timed/master.c @@ -44,9 +44,6 @@ static const char rcsid[] = #include #include #include -#ifdef sgi -#include -#endif /* sgi */ #include #include "pathnames.h" @@ -60,11 +57,7 @@ static int slvcount; /* slaves listening to our clock */ static void mchgdate __P((struct tsp *)); -#ifdef sgi -extern void logwtmp __P((struct timeval *, struct timeval *)); -#else extern void logwtmp __P((char *, char *, char *)); -#endif /* sgi */ /* * The main function of `master' is to periodically compute the differences @@ -177,12 +170,8 @@ loop: /* * XXX check to see it is from ourself */ -#ifdef sgi - (void)cftime(newdate, "%D %T", &msg->tsp_time.tv_sec); -#else tsp_time_sec = msg->tsp_time.tv_sec; (void)strcpy(newdate, ctime(&tsp_time_sec)); -#endif /* sgi */ if (!good_host_name(msg->tsp_name)) { syslog(LOG_NOTICE, "attempted date change by %s to %s", @@ -199,12 +188,8 @@ loop: case TSP_SETDATEREQ: if (!fromnet || fromnet->status != MASTER) break; -#ifdef sgi - (void)cftime(newdate, "%D %T", &msg->tsp_time.tv_sec); -#else tsp_time_sec = msg->tsp_time.tv_sec; (void)strcpy(newdate, ctime(&tsp_time_sec)); -#endif /* sgi */ htp = findhost(msg->tsp_name); if (htp == 0) { syslog(LOG_ERR, @@ -387,16 +372,9 @@ mchgdate(msg) dictate = 3; synch(tvtomsround(ntime)); } else { -#ifdef sgi - if (0 > settimeofday(&msg->tsp_time, 0)) { - syslog(LOG_ERR, "settimeofday(): %m"); - } - logwtmp(&otime, &msg->tsp_time); -#else logwtmp("|", "date", ""); (void)settimeofday(&tmptv, 0); logwtmp("{", "date", ""); -#endif /* sgi */ spreadtime(); } @@ -415,20 +393,11 @@ synch(mydelta) struct hosttbl *htp; int measure_status; struct timeval check, stop, wait; -#ifdef sgi - int pri; -#endif /* sgi */ if (slvcount > 0) { if (trace) fprintf(fd, "measurements starting at %s\n", date()); (void)gettimeofday(&check, 0); -#ifdef sgi - /* run fast to get good time */ - pri = schedctl(NDPRI,0,NDPHIMIN); - if (pri < 0) - syslog(LOG_ERR, "schedctl(): %m"); -#endif /* sgi */ for (htp = self.l_fwd; htp != &self; htp = htp->l_fwd) { if (htp->noanswer != 0) { measure_status = measure(500, 100, @@ -472,10 +441,6 @@ synch(mydelta) (void)gettimeofday(&check, 0); } } -#ifdef sgi - if (pri >= 0) - (void)schedctl(NDPRI,0,pri); -#endif /* sgi */ if (trace) fprintf(fd, "measurements finished at %s\n", date()); } @@ -886,32 +851,3 @@ traceoff(msg) #endif trace = OFF; } - - -#ifdef sgi -void -logwtmp(otime, ntime) - struct timeval *otime, *ntime; -{ - static struct utmp wtmp[2] = { - {"","",OTIME_MSG,0,OLD_TIME,0,0,0}, - {"","",NTIME_MSG,0,NEW_TIME,0,0,0} - }; - static char *wtmpfile = WTMP_FILE; - int f; - - wtmp[0].ut_time = otime->tv_sec + (otime->tv_usec + 500000) / 1000000; - wtmp[1].ut_time = ntime->tv_sec + (ntime->tv_usec + 500000) / 1000000; - if (wtmp[0].ut_time == wtmp[1].ut_time) - return; - - setutent(); - (void)pututline(&wtmp[0]); - (void)pututline(&wtmp[1]); - endutent(); - if ((f = open(wtmpfile, O_WRONLY|O_APPEND)) >= 0) { - (void) write(f, (char *)wtmp, sizeof(wtmp)); - (void) close(f); - } -} -#endif /* sgi */ diff --git a/usr.sbin/timed/timed/measure.c b/usr.sbin/timed/timed/measure.c index 2c4cd14..3856a34 100644 --- a/usr.sbin/timed/timed/measure.c +++ b/usr.sbin/timed/timed/measure.c @@ -131,10 +131,6 @@ measure(maxmsec, wmsec, hname, addr, print) FD_ZERO(&ready); -#ifdef sgi - sginap(1); /* start at a clock tick */ -#endif /* sgi */ - (void)gettimeofday(&tdone, 0); mstotvround(&tout, maxmsec); timevaladd(&tdone, &tout); /* when we give up */ @@ -304,13 +300,11 @@ mstotvround(res, x) struct timeval *res; long x; { -#ifndef sgi if (x < 0) x = -((-x + 3)/5); else x = (x+3)/5; x *= 5; -#endif /* sgi */ res->tv_sec = x/1000; res->tv_usec = (x-res->tv_sec*1000)*1000; if (res->tv_usec < 0) { diff --git a/usr.sbin/timed/timed/pathnames.h b/usr.sbin/timed/timed/pathnames.h index ae5e1c5..e5fdcde 100644 --- a/usr.sbin/timed/timed/pathnames.h +++ b/usr.sbin/timed/timed/pathnames.h @@ -31,14 +31,11 @@ * SUCH DAMAGE. * * @(#)pathnames.h 8.1 (Berkeley) 6/6/93 + * + * $FreeBSD$ */ #include -#ifdef sgi -#define _PATH_MASTERLOG "/usr/adm/timed.masterlog" -#define _PATH_TIMEDLOG "/usr/adm/timed.log" -#else #define _PATH_MASTERLOG "/var/log/timed.masterlog" #define _PATH_TIMEDLOG "/var/log/timed.log" -#endif diff --git a/usr.sbin/timed/timed/readmsg.c b/usr.sbin/timed/timed/readmsg.c index 3af91f5..74a6f5f 100644 --- a/usr.sbin/timed/timed/readmsg.c +++ b/usr.sbin/timed/timed/readmsg.c @@ -478,13 +478,9 @@ print(msg, addr) case TSP_SETTIME: case TSP_SETDATE: case TSP_SETDATEREQ: -#ifdef sgi - (void)cftime(tm, "%D %T", &msg->tsp_time.tv_sec); -#else tsp_time_sec = msg->tsp_time.tv_sec; strncpy(tm, ctime(&tsp_time_sec)+3+1, sizeof(tm)); tm[15] = '\0'; /* ugh */ -#endif /* sgi */ fprintf(fd, "%s %d %-6u %s %-15s %s\n", tsptype[msg->tsp_type], msg->tsp_vers, diff --git a/usr.sbin/timed/timed/slave.c b/usr.sbin/timed/timed/slave.c index 9c76d7e..db4d2dd 100644 --- a/usr.sbin/timed/timed/slave.c +++ b/usr.sbin/timed/timed/slave.c @@ -57,11 +57,7 @@ static void schgdate __P((struct tsp *, char *)); static void setmaster __P((struct tsp *)); static void answerdelay __P((void)); -#ifdef sgi -extern void logwtmp __P((struct timeval *, struct timeval *)); -#else extern void logwtmp __P((char *, char *, char *)); -#endif /* sgi */ int slave() @@ -258,10 +254,6 @@ loop: /* adjust time for residence on the queue */ (void)gettimeofday(&otime, 0); adj_msg_time(msg,&otime); -#ifdef sgi - (void)cftime(newdate, "%D %T", &msg->tsp_time.tv_sec); - (void)cftime(olddate, "%D %T", &otime.tv_sec); -#else /* * the following line is necessary due to syslog * calling ctime() which clobbers the static buffer @@ -269,7 +261,6 @@ loop: (void)strcpy(olddate, date()); tsp_time_sec = msg->tsp_time.tv_sec; (void)strcpy(newdate, ctime(&tsp_time_sec)); -#endif /* sgi */ if (!good_host_name(msg->tsp_name)) { syslog(LOG_NOTICE, @@ -289,17 +280,9 @@ loop: */ synch(tvtomsround(ntime)); } else { -#ifdef sgi - if (0 > settimeofday(&msg->tsp_time, 0)) { - syslog(LOG_ERR,"settimeofdate(): %m"); - break; - } - logwtmp(&otime, &msg->tsp_time); -#else logwtmp("|", "date", ""); (void)settimeofday(&tmptv, 0); logwtmp("{", "date", ""); -#endif /* sgi */ syslog(LOG_NOTICE, "date changed by %s from %s", msg->tsp_name, olddate); @@ -358,24 +341,16 @@ loop: break; case TSP_SETDATE: -#ifdef sgi - (void)cftime(newdate, "%D %T", &msg->tsp_time.tv_sec); -#else tsp_time_sec = msg->tsp_time.tv_sec; (void)strcpy(newdate, ctime(&tsp_time_sec)); -#endif /* sgi */ schgdate(msg, newdate); break; case TSP_SETDATEREQ: if (fromnet->status != MASTER) break; -#ifdef sgi - (void)cftime(newdate, "%D %T", &msg->tsp_time.tv_sec); -#else tsp_time_sec = msg->tsp_time.tv_sec; (void)strcpy(newdate, ctime(&tsp_time_sec)); -#endif /* sgi */ htp = findhost(msg->tsp_name); if (0 == htp) { syslog(LOG_WARNING, @@ -707,9 +682,6 @@ schgdate(msg, newdate) static void answerdelay() { -#ifdef sgi - sginap(delay1); -#else struct timeval timeout; timeout.tv_sec = 0; @@ -718,5 +690,4 @@ answerdelay() (void)select(0, (fd_set *)NULL, (fd_set *)NULL, (fd_set *)NULL, &timeout); return; -#endif /* sgi */ } diff --git a/usr.sbin/timed/timed/timed.c b/usr.sbin/timed/timed/timed.c index d376bca..2daadb1 100644 --- a/usr.sbin/timed/timed/timed.c +++ b/usr.sbin/timed/timed/timed.c @@ -55,11 +55,6 @@ static const char rcsid[] = #include #include #include -#ifdef sgi -#include -#include -#include -#endif /* sgi */ int trace = 0; int sock, sock_raw = -1; @@ -101,18 +96,6 @@ static char *goodgroup; /* net group of trusted hosts */ static void checkignorednets __P((void)); static void pickslavenet __P((struct netinfo *)); static void add_good_host __P((char *, int)); - -#ifdef sgi -char *timetrim_fn; -char *timetrim_wpat = "long timetrim = %ld;\ndouble tot_adj = %.0f;\ndouble tot_ticks = %.0f;\n/* timed version 2 */\n"; -char *timetrim_rpat = "long timetrim = %ld;\ndouble tot_adj = %lf;\ndouble tot_ticks = %lf;"; -long timetrim; -double tot_adj, hr_adj; /* totals in nsec */ -double tot_ticks, hr_ticks; - -int bufspace = 60*1024; -#endif - static void usage __P((void)); /* @@ -151,13 +134,6 @@ main(argc, argv) struct sockaddr_in server; u_short port; char c; -#ifdef sgi - FILE *timetrim_st; -#endif - -#ifdef sgi - struct tms tms; -#endif /* sgi */ #ifdef lint ntip = NULL; @@ -167,13 +143,6 @@ main(argc, argv) nflag = OFF; iflag = OFF; -#ifdef sgi - if (0 > syssgi(SGI_GETTIMETRIM, &timetrim)) { - warn("syssgi(GETTIMETRIM)"); - timetrim = 0; - } - tot_ticks = hr_ticks = times(&tms); -#endif /* sgi */ opterr = 0; while ((c = getopt(argc, argv, "Mtdn:i:F:G:P:")) != -1) { @@ -218,48 +187,6 @@ main(argc, argv) errx(1, "only one net group"); goodgroup = optarg; break; -#ifdef sgi - case 'P': - timetrim_fn = optarg; - timetrim_st = fopen(timetrim_fn, "r+"); - if (0 == timetrim_st) { - if (errno != ENOENT) { - warn("%s", timetrim_fn); - timetrim_fn = 0; - } - } else { - int i; - long trim; - double adj, ticks; - - i = fscanf(timetrim_st, timetrim_rpat, - &trim, &adj, &ticks); - if (i < 1 - || trim > MAX_TRIM - || trim < -MAX_TRIM - || i == 2 - || (i == 3 - && trim != rint(adj*CLK_TCK/ticks))) { - if (trace && i != EOF) - warn( - "unrecognized contents in %s", - timetrim_fn); - } else { - if (0 > syssgi(SGI_SETTIMETRIM, - trim)) { - warn("syssgi(SETTIMETRIM)"); - } else { - timetrim = trim; - } - if (i == 3) { - tot_adj = adj; - tot_ticks -= ticks; - } - } - (void)fclose(timetrim_st); - } - break; -#endif /* sgi */ default: usage(); @@ -307,14 +234,6 @@ main(argc, argv) warn("bind"); exit(1); } -#ifdef sgi - /* - * handle many slaves with our buffer - */ - if (0 > setsockopt(sock, SOL_SOCKET, SO_RCVBUF, (char*)&bufspace, - sizeof(bufspace))) - err(1, "setsockopt"); -#endif /* sgi */ /* choose a unique seed for random number generation */ (void)gettimeofday(&ntime, 0); @@ -322,12 +241,10 @@ main(argc, argv) sequence = random(); /* initial seq number */ -#ifndef sgi /* rounds kernel variable time to multiple of 5 ms. */ ntime.tv_sec = 0; ntime.tv_usec = -((ntime.tv_usec/1000) % 5) * 1000; (void)adjtime(&ntime, (struct timeval *)0); -#endif /* sgi */ for (nt = nets; nt; nt = nt->next) { nentp = getnetbyname(nt->name); @@ -359,11 +276,7 @@ main(argc, argv) if (ioctl(sock, SIOCGIFCONF, (char *)&ifc) < 0) err(1, "get interface configuration"); ntp = NULL; -#ifdef sgi -#define size(p) (sizeof(*ifr) - sizeof(ifr->ifr_name)) /* XXX hack. kludge */ -#else #define size(p) max((p).sa_len, sizeof(p)) -#endif cplim = buf + ifc.ifc_len; /*skip over if's with big ifr_addr's */ for (cp = buf; cp < cplim; cp += sizeof (ifr->ifr_name) + size(ifr->ifr_addr)) { @@ -440,28 +353,14 @@ main(argc, argv) if (nettab == NULL) errx(1, "no network usable"); - -#ifdef sgi - (void)schedctl(RENICE,0,10); /* run fast to get good time */ - - /* ticks to delay before responding to a broadcast */ - delay1 = casual(0, CLK_TCK/10); -#else - /* microseconds to delay before responding to a broadcast */ delay1 = casual(1, 100*1000); -#endif /* sgi */ /* election timer delay in secs. */ delay2 = casual(MINTOUT, MAXTOUT); - -#ifdef sgi - (void)_daemonize(debug ? _DF_NOFORK|_DF_NOCHDIR : 0, sock, -1, -1); -#else if (!debug) daemon(debug, 0); -#endif /* sgi */ if (trace) traceon(); @@ -540,11 +439,6 @@ main(argc, argv) static void usage() { -#ifdef sgi - fprintf(stderr, "%s\n%s\n", -"usage: timed [-dtM] [-i net|-n net] [-F host1 host2 ...]", -" [-G netgp] [-P trimfile]"); -#else #ifdef HAVENIS fprintf(stderr, "usage: timed [-dtM] [-i net|-n net] [-F host1 host2 ...] [-G netgp]\n"); @@ -552,7 +446,6 @@ usage() fprintf(stderr, "usage: timed [-dtM] [-i net|-n net] [-F host1 host2 ...]\n"); #endif /* HAVENIS */ -#endif /* sgi */ exit(1); } @@ -812,21 +705,12 @@ casual(inf, sup) char * date() { -#ifdef sgi - struct timeval tv; - static char tm[32]; - - (void)gettimeofday(&tv, (struct timezone *)0); - (void)cftime(tm, "%D %T", &tv.tv_sec); - return (tm); -#else struct timeval tv; time_t tv_sec; (void)gettimeofday(&tv, (struct timezone *)0); tv_sec = tv.tv_sec; return (ctime(&tv_sec)); -#endif /* sgi */ } void diff --git a/usr.sbin/timed/timedc/cmds.c b/usr.sbin/timed/timedc/cmds.c index b1c9c7c..950a2cf 100644 --- a/usr.sbin/timed/timedc/cmds.c +++ b/usr.sbin/timed/timedc/cmds.c @@ -54,13 +54,8 @@ static const char rcsid[] = #define TSPTYPES #include -#ifdef sgi -#include -#include -#else #define SECHR (60*60) #define SECDAY (24*SECHR) -#endif /* sgi */ # define DATE_PROTO "udp" # define DATE_PORT "time" diff --git a/usr.sbin/timed/timedc/timedc.h b/usr.sbin/timed/timedc/timedc.h index dfdc2f5..f6ee8a6 100644 --- a/usr.sbin/timed/timedc/timedc.h +++ b/usr.sbin/timed/timedc/timedc.h @@ -31,13 +31,12 @@ * SUCH DAMAGE. * * @(#)timedc.h 8.1 (Berkeley) 6/6/93 + * + * $FreeBSD$ */ #include #include -#ifdef sgi -#include -#endif #include #include #include -- cgit v1.1