diff options
Diffstat (limited to 'usr.sbin/xntpd/adjtime/adjtime.c')
-rw-r--r-- | usr.sbin/xntpd/adjtime/adjtime.c | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/usr.sbin/xntpd/adjtime/adjtime.c b/usr.sbin/xntpd/adjtime/adjtime.c deleted file mode 100644 index 5b0475e1d31b..000000000000 --- a/usr.sbin/xntpd/adjtime/adjtime.c +++ /dev/null @@ -1,101 +0,0 @@ -/*************************************************************************/ -/* (c) Copyright Tai Jin, 1988. All Rights Reserved. */ -/* Hewlett-Packard Laboratories. */ -/* */ -/* Permission is hereby granted for unlimited modification, use, and */ -/* distribution. This software is made available with no warranty of */ -/* any kind, express or implied. This copyright notice must remain */ -/* intact in all versions of this software. */ -/* */ -/* The author would appreciate it if any bug fixes and enhancements were */ -/* to be sent back to him for incorporation into future versions of this */ -/* software. Please send changes to tai@iag.hp.com or ken@sdd.hp.com. */ -/*************************************************************************/ - -#ifndef lint -static char RCSid[] = "adjtime.c,v 3.1 1993/07/06 01:04:42 jbj Exp"; -#endif - -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/msg.h> -#include <time.h> -#include <signal.h> -#include "adjtime.h" - -#define abs(x) ((x) < 0 ? -(x) : (x)) -static LONG adjthresh = 400L; -static LONG saveup; - - -_clear_adjtime() -{ - saveup = 0L; -} - - -adjtime(delta, olddelta) - register struct timeval *delta; - register struct timeval *olddelta; -{ - struct timeval newdelta; - - /* If they are giving us seconds, ignore up to current threshold saved */ - if (delta->tv_sec) { - saveup = 0L; - return(_adjtime(delta, olddelta)); - } - - /* add in, needs check for overflow ? */ - saveup += delta->tv_usec; - - /* Broke the threshold, call adjtime() */ - if (abs(saveup) > adjthresh) { - newdelta.tv_sec = 0L; - newdelta.tv_usec = saveup; - saveup = 0L; - return(_adjtime(&newdelta, olddelta)); - } - - if (olddelta) - olddelta->tv_sec = olddelta->tv_usec = 0L; - return(0); -} - - -_adjtime(delta, olddelta) - register struct timeval *delta; - register struct timeval *olddelta; -{ - register int mqid; - MsgBuf msg; - register MsgBuf *msgp = &msg; - - /* - * get the key to the adjtime message queue - * (note that we must get it every time because the queue might have been - * removed and recreated) - */ - if ((mqid = msgget(KEY, 0)) == -1) - return (-1); - - msgp->msgb.mtype = CLIENT; - msgp->msgb.tv = *delta; - - if (olddelta) - msgp->msgb.code = DELTA2; - else - msgp->msgb.code = DELTA1; - - if (msgsnd(mqid, &msgp->msgp, MSGSIZE, 0) == -1) - return (-1); - - if (olddelta) { - if (msgrcv(mqid, &msgp->msgp, MSGSIZE, SERVER, 0) == -1) - return (-1); - - *olddelta = msgp->msgb.tv; - } - - return (0); -} |