head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-11-0-RC4:1.1.1.8
	netbsd-11-0-RC3:1.1.1.8
	netbsd-11-0-RC2:1.1.1.8
	netbsd-11-0-RC1:1.1.1.8
	perseant-exfatfs-base-20250801:1.1.1.8
	netbsd-11:1.1.1.8.0.10
	netbsd-11-base:1.1.1.8
	netbsd-10-1-RELEASE:1.1.1.8
	ntp-4-2-8p18:1.1.1.8
	perseant-exfatfs-base-20240630:1.1.1.8
	perseant-exfatfs:1.1.1.8.0.8
	perseant-exfatfs-base:1.1.1.8
	netbsd-8-3-RELEASE:1.1.1.6
	netbsd-9-4-RELEASE:1.1.1.7
	netbsd-10-0-RELEASE:1.1.1.8
	netbsd-10-0-RC6:1.1.1.8
	netbsd-10-0-RC5:1.1.1.8
	netbsd-10-0-RC4:1.1.1.8
	netbsd-10-0-RC3:1.1.1.8
	netbsd-10-0-RC2:1.1.1.8
	netbsd-10-0-RC1:1.1.1.8
	netbsd-10:1.1.1.8.0.6
	netbsd-10-base:1.1.1.8
	ntp-4-2-8p15:1.1.1.8
	netbsd-9-3-RELEASE:1.1.1.7
	cjep_sun2x-base1:1.1.1.8
	cjep_sun2x:1.1.1.8.0.4
	cjep_sun2x-base:1.1.1.8
	cjep_staticlib_x-base1:1.1.1.8
	netbsd-9-2-RELEASE:1.1.1.7
	cjep_staticlib_x:1.1.1.8.0.2
	cjep_staticlib_x-base:1.1.1.8
	netbsd-9-1-RELEASE:1.1.1.7
	ntp-4-2-8p14:1.1.1.8
	phil-wifi-20200421:1.1.1.7
	phil-wifi-20200411:1.1.1.7
	is-mlppp:1.1.1.7.0.4
	is-mlppp-base:1.1.1.7
	phil-wifi-20200406:1.1.1.7
	netbsd-8-2-RELEASE:1.1.1.6
	netbsd-9-0-RELEASE:1.1.1.7
	netbsd-9-0-RC2:1.1.1.7
	netbsd-9-0-RC1:1.1.1.7
	phil-wifi-20191119:1.1.1.7
	netbsd-9:1.1.1.7.0.2
	netbsd-9-base:1.1.1.7
	phil-wifi-20190609:1.1.1.7
	netbsd-8-1-RELEASE:1.1.1.6
	netbsd-8-1-RC1:1.1.1.6
	pgoyette-compat-merge-20190127:1.1.1.6.14.1
	pgoyette-compat-20190127:1.1.1.7
	pgoyette-compat-20190118:1.1.1.7
	pgoyette-compat-1226:1.1.1.7
	pgoyette-compat-1126:1.1.1.7
	pgoyette-compat-1020:1.1.1.7
	pgoyette-compat-0930:1.1.1.7
	ntp-4-2-8p12:1.1.1.7
	pgoyette-compat-0906:1.1.1.6
	netbsd-7-2-RELEASE:1.1.1.2
	pgoyette-compat-0728:1.1.1.6
	netbsd-8-0-RELEASE:1.1.1.6
	phil-wifi:1.1.1.6.0.16
	phil-wifi-base:1.1.1.6
	pgoyette-compat-0625:1.1.1.6
	netbsd-8-0-RC2:1.1.1.6
	pgoyette-compat-0521:1.1.1.6
	pgoyette-compat-0502:1.1.1.6
	pgoyette-compat-0422:1.1.1.6
	netbsd-8-0-RC1:1.1.1.6
	pgoyette-compat-0415:1.1.1.6
	pgoyette-compat-0407:1.1.1.6
	ntp-4-2-8p11:1.1.1.6
	pgoyette-compat-0330:1.1.1.6
	pgoyette-compat-0322:1.1.1.6
	pgoyette-compat-0315:1.1.1.6
	netbsd-7-1-2-RELEASE:1.1.1.2
	pgoyette-compat:1.1.1.6.0.14
	pgoyette-compat-base:1.1.1.6
	netbsd-7-1-1-RELEASE:1.1.1.2
	matt-nb8-mediatek:1.1.1.6.0.12
	matt-nb8-mediatek-base:1.1.1.6
	perseant-stdc-iso10646:1.1.1.6.0.10
	perseant-stdc-iso10646-base:1.1.1.6
	netbsd-8:1.1.1.6.0.8
	netbsd-8-base:1.1.1.6
	prg-localcount2-base3:1.1.1.6
	prg-localcount2-base2:1.1.1.6
	prg-localcount2-base1:1.1.1.6
	prg-localcount2:1.1.1.6.0.6
	prg-localcount2-base:1.1.1.6
	pgoyette-localcount-20170426:1.1.1.6
	bouyer-socketcan-base1:1.1.1.6
	ntp-4-2-8p10:1.1.1.6
	pgoyette-localcount-20170320:1.1.1.6
	netbsd-7-1:1.1.1.2.0.16
	netbsd-7-1-RELEASE:1.1.1.2
	netbsd-7-1-RC2:1.1.1.2
	netbsd-7-nhusb-base-20170116:1.1.1.2
	bouyer-socketcan:1.1.1.6.0.4
	bouyer-socketcan-base:1.1.1.6
	pgoyette-localcount-20170107:1.1.1.6
	netbsd-7-1-RC1:1.1.1.2
	ntp-4-2-8p9:1.1.1.6
	pgoyette-localcount-20161104:1.1.1.6
	netbsd-7-0-2-RELEASE:1.1.1.2
	localcount-20160914:1.1.1.6
	netbsd-7-nhusb:1.1.1.2.0.14
	netbsd-7-nhusb-base:1.1.1.2
	pgoyette-localcount-20160806:1.1.1.6
	pgoyette-localcount-20160726:1.1.1.6
	pgoyette-localcount:1.1.1.6.0.2
	pgoyette-localcount-base:1.1.1.6
	ntp-4-2-8p8:1.1.1.6
	netbsd-7-0-1-RELEASE:1.1.1.2
	ntp-4-2-8p7:1.1.1.6
	ntp-4-2-8p5:1.1.1.6
	ntp-4-2-8p4:1.1.1.4
	netbsd-7-0:1.1.1.2.0.12
	netbsd-7-0-RELEASE:1.1.1.2
	netbsd-7-0-RC3:1.1.1.2
	netbsd-7-0-RC2:1.1.1.2
	ntp-4-2-8p3:1.1.1.4
	netbsd-7-0-RC1:1.1.1.2
	ntp-4-2-8p2:1.1.1.2
	netbsd-5-1:1.1.1.2.0.10
	netbsd-5-2:1.1.1.2.0.8
	netbsd-5:1.1.1.2.0.6
	ntp-4-2-8:1.1.1.2
	netbsd-6-0-6-RELEASE:1.1.1.1
	netbsd-6-1-5-RELEASE:1.1.1.1
	netbsd-7:1.1.1.2.0.4
	netbsd-7-base:1.1.1.2
	yamt-pagecache-base9:1.1.1.2
	yamt-pagecache-tag8:1.1.1.1
	netbsd-6-1-4-RELEASE:1.1.1.1
	netbsd-6-0-5-RELEASE:1.1.1.1
	tls-earlyentropy:1.1.1.2.0.2
	tls-earlyentropy-base:1.1.1.2
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.2
	riastradh-drm2-base3:1.1.1.2
	netbsd-6-1-3-RELEASE:1.1.1.1
	netbsd-6-0-4-RELEASE:1.1.1.1
	ntp-2-4-7p404:1.1.1.2
	netbsd-6-1-2-RELEASE:1.1.1.1
	netbsd-6-0-3-RELEASE:1.1.1.1
	netbsd-6-1-1-RELEASE:1.1.1.1
	riastradh-drm2-base2:1.1.1.1
	riastradh-drm2-base1:1.1.1.1
	riastradh-drm2:1.1.1.1.0.16
	riastradh-drm2-base:1.1.1.1
	netbsd-6-1:1.1.1.1.0.22
	netbsd-6-0-2-RELEASE:1.1.1.1
	netbsd-6-1-RELEASE:1.1.1.1
	khorben-n900:1.1.1.1.0.20
	netbsd-6-1-RC4:1.1.1.1
	netbsd-6-1-RC3:1.1.1.1
	agc-symver:1.1.1.1.0.18
	agc-symver-base:1.1.1.1
	netbsd-6-1-RC2:1.1.1.1
	netbsd-6-1-RC1:1.1.1.1
	yamt-pagecache-base8:1.1.1.1
	netbsd-6-0-1-RELEASE:1.1.1.1
	yamt-pagecache-base7:1.1.1.1
	matt-nb6-plus-nbase:1.1.1.1
	yamt-pagecache-base6:1.1.1.1
	netbsd-6-0:1.1.1.1.0.14
	netbsd-6-0-RELEASE:1.1.1.1
	netbsd-6-0-RC2:1.1.1.1
	tls-maxphys:1.1.1.1.0.12
	tls-maxphys-base:1.1.1.2
	matt-nb6-plus:1.1.1.1.0.10
	matt-nb6-plus-base:1.1.1.1
	netbsd-6-0-RC1:1.1.1.1
	yamt-pagecache-base5:1.1.1.1
	yamt-pagecache-base4:1.1.1.1
	netbsd-6:1.1.1.1.0.8
	netbsd-6-base:1.1.1.1
	ntp-4-2-6p5:1.1.1.1
	yamt-pagecache-base3:1.1.1.1
	yamt-pagecache-base2:1.1.1.1
	yamt-pagecache:1.1.1.1.0.6
	yamt-pagecache-base:1.1.1.1
	cherry-xenmp:1.1.1.1.0.4
	cherry-xenmp-base:1.1.1.1
	bouyer-quota2-nbase:1.1.1.1
	bouyer-quota2:1.1.1.1.0.2
	bouyer-quota2-base:1.1.1.1
	matt-mips64-premerge-20101231:1.1.1.1
	matt-premerge-20091211:1.1.1.1
	ntp-4-2-6:1.1.1.1
	UDEL:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2009.12.13.16.56.39;	author kardel;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2009.12.13.16.56.39;	author kardel;	state Exp;
branches
	1.1.1.1.6.1
	1.1.1.1.8.1
	1.1.1.1.12.1
	1.1.1.1.14.1
	1.1.1.1.22.1;
next	1.1.1.2;

1.1.1.2
date	2013.12.27.23.31.09;	author christos;	state Exp;
branches
	1.1.1.2.6.1
	1.1.1.2.8.1
	1.1.1.2.10.1;
next	1.1.1.3;
commitid	lUOr4MoxyTWJnPix;

1.1.1.3
date	2015.07.10.13.02.49;	author christos;	state Exp;
branches;
next	1.1.1.4;
commitid	DcE5zM5BcAizUJsy;

1.1.1.4
date	2015.07.10.13.11.08;	author christos;	state Exp;
branches;
next	1.1.1.5;
commitid	tqC60rzT6NEnXJsy;

1.1.1.5
date	2016.01.08.20.55.42;	author christos;	state Exp;
branches;
next	1.1.1.6;
commitid	6w1NfYRHunx2GaQy;

1.1.1.6
date	2016.01.08.21.21.28;	author christos;	state Exp;
branches
	1.1.1.6.14.1
	1.1.1.6.16.1;
next	1.1.1.7;
commitid	BdjBjIUK346TOaQy;

1.1.1.7
date	2018.09.29.17.28.42;	author christos;	state Exp;
branches;
next	1.1.1.8;
commitid	00bOOQ6cPjg0y1UA;

1.1.1.8
date	2020.05.25.20.40.10;	author christos;	state Exp;
branches;
next	;
commitid	yf5HSp8c1hlWbF9C;

1.1.1.1.6.1
date	2014.05.22.15.50.11;	author yamt;	state Exp;
branches;
next	;
commitid	qRWX0Nj0VOtU8yBx;

1.1.1.1.8.1
date	2014.12.25.02.34.40;	author snj;	state Exp;
branches;
next	;
commitid	JG3hF57oHA79Lm3y;

1.1.1.1.12.1
date	2014.08.19.23.51.43;	author tls;	state Exp;
branches;
next	;
commitid	jTnpym9Qu0o4R1Nx;

1.1.1.1.14.1
date	2014.12.25.02.28.12;	author snj;	state Exp;
branches;
next	;
commitid	5AhJfEA9N5i2Jm3y;

1.1.1.1.22.1
date	2014.12.25.02.13.09;	author snj;	state Exp;
branches;
next	;
commitid	YfAuzsC3wt5BDm3y;

1.1.1.2.6.1
date	2013.12.27.23.31.09;	author msaitoh;	state dead;
branches;
next	1.1.1.2.6.2;
commitid	ysuzPTeSQAKO335y;

1.1.1.2.6.2
date	2015.01.07.04.45.33;	author msaitoh;	state Exp;
branches;
next	;
commitid	ysuzPTeSQAKO335y;

1.1.1.2.8.1
date	2013.12.27.23.31.09;	author msaitoh;	state dead;
branches;
next	1.1.1.2.8.2;
commitid	d5X8VW3e9U6mR45y;

1.1.1.2.8.2
date	2015.01.07.10.10.18;	author msaitoh;	state Exp;
branches;
next	;
commitid	d5X8VW3e9U6mR45y;

1.1.1.2.10.1
date	2013.12.27.23.31.09;	author msaitoh;	state dead;
branches;
next	1.1.1.2.10.2;
commitid	cHl8i0Vq4fzxx55y;

1.1.1.2.10.2
date	2015.01.07.12.13.30;	author msaitoh;	state Exp;
branches;
next	;
commitid	cHl8i0Vq4fzxx55y;

1.1.1.6.14.1
date	2018.09.30.01.45.25;	author pgoyette;	state Exp;
branches;
next	;
commitid	SQ44grEPCeKPh4UA;

1.1.1.6.16.1
date	2019.06.10.21.51.29;	author christos;	state Exp;
branches;
next	;
commitid	jtc8rnCzWiEEHGqB;


desc
@@


1.1
log
@Initial revision
@
text
@#!/usr/bin/perl -w
;# --*-perl-*--
;#
;# /src/NTP/ntp4-dev/scripts/monitoring/ntploopwatch,v 4.7 2004/11/14 16:11:05 kardel RELEASE_20050508_A
;#
;# process loop filter statistics file and either
;#     - show statistics periodically using gnuplot
;#     - or print a single plot
;#
;#  Copyright (c) 1992-1998 
;#  Rainer Pruy, Friedrich-Alexander Universität Erlangen-Nürnberg
;#
;#
;#############################################################
$0 =~ s!^.*/([^/]+)$!$1!;
$F = ' ' x length($0);
$|=1;

$ENV{'SHELL'} = '/bin/sh'; # use bourne shell

undef($config);
undef($workdir);
undef($PrintIt);
undef($samples);
undef($StartTime);
undef($EndTime);
($a,$b) if 0;			# keep -w happy
$usage = <<"E-O-P";
usage:
  to watch statistics permanently:
     $0 [-v[<level>]] [-c <config-file>] [-d <working-dir>]
     $F [-h <hostname>]

  to get a single print out specify also
     $F -P[<printer>] [-s<samples>]
     $F               [-S <start-time>] [-E <end-time>]
     $F               [-Y <MaxOffs>] [-y <MinOffs>]

If You like long option names, You can use:
    -help
    -c    +config
    -d    +directory
    -h    +host
    -v    +verbose[=<level>]
    -P    +printer[=<printer>]
    -s    +samples[=<samples>]
    -S    +starttime
    -E    +endtime
    -Y    +maxy
    -y    +miny

If <printer> contains a '/' (slash character) output is directed to 
a file of this name instead of delivered to a printer.
E-O-P

;# add directory to look for lr.pl and timelocal.pl (in front of current list)
unshift(@@INC,".");

require "lr.pl";	# linear regresion routines

$MJD_1970 = 40587;		# from ntp.h (V3)
$RecordSize = 48;		# usually a line fits into 42 bytes
$MinClip = 1;		# clip Y scales with greater range than this

;# largest extension of Y scale from mean value, factor for standart deviation
$FuzzLow = 2.2;			# for side closer to zero
$FuzzBig = 1.8;			# for side farther from zero

require "ctime.pl";
require "timelocal.pl";
;# early distributions of ctime.pl had a bug
$ENV{'TZ'} = 'MET' unless defined $ENV{'TZ'} || $[ > 4.010;
if (defined(@@ctime'MoY))
{
  *Month=*ctime'MoY;
  *Day=*ctime'DoW;
} 					# ' re-sync emacs fontification
else
{
  @@Month = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
  @@Day   = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
}
print @@ctime'DoW if 0; # ' re-sync emacs fontification

;# max number of days per month
@@MaxNumDaysPerMonth = (31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

;# config settable parameters
$delay = 60;
$srcprefix = "./var\@@\$STATHOST/loopstats.";
$showoffs = 1;
$showfreq = 1;
$showcmpl = 0;
$showoreg = 0;
$showfreg = 0;
undef($timebase);
undef($freqbase);
undef($cmplscale);
undef($MaxY);
undef($MinY);
$deltaT  = 512; # indicate sample data gaps greater than $deltaT seconds
$verbose = 1;

while($_ = shift(@@ARGV))
{
    (/^[+-]help$/) && die($usage);
    
    (/^-c$/ || /^\+config$/) &&
	(@@ARGV || die($usage), $config = shift(@@ARGV), next);

    (/^-d$/ || /^\+directory$/) &&
	(@@ARGV || die($usage), $workdir = shift(@@ARGV), next);

    (/^-h$/ || /^\+host$/) &&
	(@@ARGV || die($usage), $STATHOST = shift, next);
    
    (/^-v(\d*)$/ || /^\+verbose=?(\d*)$/) &&
	($verbose=($1 eq "") ? 1 : $1, next);

    (/^-P(\S*)$/ || /^\+[Pp]rinter=?(\S*)$/) &&
	($PrintIt = $1, $verbose==1 && ($verbose = 0), next);

    (/^-s(\d*)$/ || /^\+samples=?(\d*)$/) &&
	(($samples = ($1 eq "") ? (shift || die($usage)): $1), next);
    
    (/^-S$/ || /^\+[Ss]tart[Tt]ime$/) &&
	(@@ARGV || die($usage), $StartTime=&date_time_spec2seconds(shift),next);

    (/^-E$/ || /^\+[Ee]nd[Tt]ime$/) &&
	(@@ARGV || die($usage), $EndTime = &date_time_spec2seconds(shift),next);
    
    (/^-Y$/ || /^\+[Mm]ax[Yy]$/) &&
	(@@ARGV || die($usage), $MaxY = shift, next);
    
    (/^-y$/ || /^\+[Mm]in[Yy]$/) &&
	(@@ARGV || die($usage), $MinY = shift, next);
    
    die("$0: unexpected argument \"$_\"\n$usage");
}

if (defined($workdir))
{
  chdir($workdir) ||
      die("$0: failed to change working dir to \"$workdir\": $!\n");
}

$PrintIt = "ps" if defined($PrintIt) && $PrintIt eq "";

if (!defined($PrintIt))
{
    defined($samples) &&
	print "WARNING: your samples value may be shadowed by config file settings\n";
    defined($StartTime) &&
	print "WARNING: your StartTime value may be shadowed by config file settings\n";
    defined($EndTime) &&
	print "WARNING: your EndTime value may be shadowed by config file settings\n";
    defined($MaxY) &&
	print "WARNING: your MaxY value may be shadowed by config file settings\n";
    defined($MinY) &&
	print "WARNING: your MinY value may be shadowed by config file settings\n";
	
    ;# check operating environment
    ;# 
    ;# gnuplot usually has X support
    ;# I vaguely remember there was one with sunview support
    ;#
    ;# If Your plotcmd can display graphics using some other method
    ;# (Tek window,..) fix the following test
    ;# (or may be, just disable it)
    ;#
    !(defined($ENV{'DISPLAY'}) || defined($ENV{'WINDOW_PARENT'})) &&
	die("Need window system to monitor statistics\n");
}

;# configuration file
$config = "loopwatch.config" unless defined($config);
($STATHOST = $config) =~ s!.*loopwatch\.config.([^/\.]*)$!$1!
    unless defined($STATHOST);
($STATTAG = $STATHOST) =~ s/^([^\.\*\s]+)\..*$/$1/;

$srcprefix =~ s/\$STATHOST/$STATHOST/g;

;# plot command 
@@plotcmd=("gnuplot",
	  '-title', "Ntp loop filter statistics $STATHOST",
	  '-name', "NtpLoopWatch_$STATTAG");
$tmpfile = "/tmp/ntpstat.$$";

;# other variables
$doplot = "";	# assembled command for @@plotcmd to display plot
undef($laststat);

;# plot value ranges
undef($mintime);
undef($maxtime);
undef($minoffs);
undef($maxoffs);
undef($minfreq);
undef($maxfreq);
undef($mincmpl);
undef($maxcmpl);
undef($miny);
undef($maxy);

;# stop operation if plot command dies
sub sigchld
{
  local($pid) = wait;
  unlink($tmpfile);
  warn(sprintf("%s: %s died: exit status: %d signal %d\n",
	      $0,
	       (defined($Plotpid) && $Plotpid == $pid)
	       ? "plotcmd" : "unknown child $pid",
	       $?>>8,$? & 0xff)) if $?;
  exit(1) if $? && defined($Plotpid) && $pid == $Plotpid;
}
&sigchld if 0;
$SIG{'CHLD'} = "sigchld";
$SIG{'CLD'} = "sigchld";

sub abort
{
  unlink($tmpfile);
  defined($Plotpid) && kill('TERM',$Plotpid);
  die("$0: received signal SIG$_[$[] - exiting\n");
}
&abort if 0;	# make -w happy - &abort IS used
$SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = $SIG{'PIPE'} = "abort";

;#
sub abs
{
  ($_[$[] < 0) ? -($_[$[]) : $_[$[];
}

sub boolval
{
  local($v) = ($_[$[]);

  return 1 if ($v eq 'yes') || ($v eq 'y');
  return 1 if ($v =~ /^[0-9]*$/) && ($v != 0);
  return 0;
}

;#####################
;# start of real work 

print "starting plot command (" . join(" ",@@plotcmd) . ")\n" if $verbose > 1;

$Plotpid = open(PLOT,"|-");
select((select(PLOT),$|=1)[$[]);	# make PLOT line bufferd

defined($Plotpid) ||
    die("$0: failed to start plot command: $!\n");

unless ($Plotpid)
{
   ;# child == plot command
   close(STDOUT);
   open(STDOUT,">&STDERR") ||
       die("$0: failed to redirect STDOUT of plot command: $!\n");
   
   print STDOUT "plot command running as $$\n";

   exec @@plotcmd;
   die("$0: failed to exec (@@plotcmd): $!\n");
   exit(1); # in case ...
}

sub read_config
{
  local($at) = (stat($config))[$[+9];
  local($_,$c,$v);

  (undef($laststat),(print("stat $config failed: $!\n")),return) if ! defined($at);
  return if (defined($laststat) && ($laststat == $at));
  $laststat = $at;

  print "reading configuration from \"$config\"\n" if $verbose;

  open(CF,"<$config") ||
      (warn("$0: failed to read \"$config\" - using old settings ($!)\n"),
       return);
  while(<CF>)
  {
    chop;
    s/^([^\#]*[^\#\s]?)\s*\#.*$//;
    next if /^\s*$/;

    s/^\s*([^=\s]*)\s*=\s*(.*\S)\s*$/$1=$2/;

    ($c,$v) = split(/=/,$_,2);
    print "processing \"$c=$v\"\n" if $verbose > 3;
    ($c eq "delay") && ($delay = $v,1) && next;
    ($c eq 'samples') && (!defined($PrintIt) || !defined($samples)) &&
	($samples = $v,1) && next;
    ($c eq 'srcprefix') && (($srcprefix=$v)=~s/\$STATHOST/$STATHOST/g,1)
	&& next;
    ($c eq 'showoffs') &&
	($showoffs = boolval($v),1) && next;
    ($c eq 'showfreq') &&
	($showfreq = boolval($v),1) && next;
    ($c eq 'showcmpl') &&
	($showcmpl = boolval($v),1) && next;
    ($c eq 'showoreg') &&
	($showoreg = boolval($v),1) && next;
    ($c eq 'showfreg') &&
	($showfreg = boolval($v),1) && next;

    ($c eq 'exit') && (unlink($tmpfile),die("$0: exit by config request\n"));

    ($c eq 'freqbase' ||
     $c eq 'cmplscale') &&
	do {
	    if (! defined($v) || $v eq "" || $v eq 'dynamic')
	    {
	      eval "undef(\$$c);";
	    }
	    else
	    {
	      eval "\$$c = \$v;";
	    }
	    next;
	};
    ($c eq 'timebase') &&
	do {
	    if (! defined($v) || $v eq "" || $v eq "dynamic")
	    {
	      undef($timebase);
	    }
	    else
	    {
	      $timebase=&date_time_spec2seconds($v);
	    }
	};
    ($c eq 'EndTime') &&
	do {
	    next if defined($EndTime) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($EndTime);
	    }
	    else
	    {
	      $EndTime=&date_time_spec2seconds($v);
	    }
	};
    ($c eq 'StartTime') &&
	do {
	    next if defined($StartTime) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($StartTime);
	    }
	    else
	    {
	      $StartTime=&date_time_spec2seconds($v);
	    }
	};

    ($c eq 'MaxY') &&
	do {
	    next if defined($MaxY) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($MaxY);
	    }
	    else
	    {
	      $MaxY=$v;
	    }
	};

    ($c eq 'MinY') &&
	do {
	    next if defined($MinY) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($MinY);
	    }
	    else
	    {
	      $MinY=$v;
	    }
	};

    ($c eq 'deltaT') &&
	do {
	    if (!defined($v) || $v eq "")
	    {
	      undef($deltaT);
	    }
	    else
	    {
	      $deltaT = $v;
	    }
	    next;
	};
    ($c eq 'verbose') && ! defined($PrintIt) &&
	do {
	     if (!defined($v) || $v == 0)
	     {
	       $verbose = 0;
	     }
	     else
	     {
	       $verbose = $v;
	     }
	     next;
	};
    ;# otherwise: silently ignore unrecognized config line
  }
  close(CF);
  ;# set show defaults when nothing selected
  $showoffs = $showfreq = $showcmpl = 1
      unless $showoffs || $showfreq || $showcmpl;
  if ($verbose > 3)
  {
    print  "new configuration:\n";
    print  "   delay\t= $delay\n";
    print  "   samples\t= $samples\n";
    print  "   srcprefix\t= $srcprefix\n";
    print  "   showoffs\t= $showoffs\n";
    print  "   showfreq\t= $showfreq\n";
    print  "   showcmpl\t= $showcmpl\n";
    print  "   showoreg\t= $showoreg\n";
    print  "   showfreg\t= $showfreg\n";
    printf "   timebase\t= %s",defined($timebase)?&ctime($timebase):"dynamic\n";
    printf "   freqbase\t= %s\n",defined($freqbase)  ?"$freqbase":"dynamic";
    printf "   cmplscale\t= %s\n",defined($cmplscale)?"$cmplscale":"dynamic";
    printf "   StartTime\t= %s",defined($StartTime)?&ctime($StartTime):"none\n";
    printf "   EndTime\t= %s",  defined($EndTime) ?  &ctime($EndTime):"none\n";
    printf "   MaxY\t= %s",defined($MaxY)? $MaxY      :"none\n";
    printf "   MinY\t= %s",defined($MinY)? $MinY      :"none\n";
    print  "   verbose\t= $verbose\n";
  }
print "configuration file read\n" if $verbose > 2;
}

sub make_doplot($$)
{
    my($lo, $lf) = @@_;
    local($c) = ("");
    local($fmt)
	= ("%s \"%s\" using 1:%d title '%s <%lf %lf> %6s' with lines");
    local($regfmt)
	= ("%s ((%lf * x) + %lf) title 'lin. approx. %s (%f t[h]) %s %f <%f> %6s' with lines");
    
    $doplot = "    set title 'NTP loopfilter statistics for $STATHOST  " .
	"(last $LastCnt samples from $srcprefix*)'\n";
    
    local($xts,$xte,$i,$t);
    
    local($s,$c) = ("");

    ;# number of integral seconds to get at least 12 tic marks on x axis
    $t = int(($maxtime - $mintime) / 12 + 0.5);
    $t = 1 unless $t;		# prevent $t to be zero
    foreach $i (30,
		60,5*60,15*60,30*60,
		60*60,2*60*60,6*60*60,12*60*60,
		24*60*60,48*60*60)
    {
	last if $t < $i;
	$t = $t - ($t % $i);
    }
    print "time label resolution: $t seconds\n" if $verbose > 1;
    
    ;# make gnuplot use wall clock time labels instead of NTP seconds
    for ($c="", $i = $mintime - ($mintime % $t);
	 $i <= $maxtime + $t;
	 $i += $t, $c=",")
    {
	$s .= $c;
	((int($i / $t) % 2) &&
	 ($s .= sprintf("'' %lf",($i - $LastTimeBase)/3600))) ||
	     (($t <= 60) &&
	      ($s .= sprintf("'%d:%02d:%02d' %lf",
			     (localtime($i))[$[+2,$[+1,$[+0],
			     ($i - $LastTimeBase)/3600))) 
		 || (($t <= 2*60*60) &&
		     ($s .= sprintf("'%d:%02d' %lf",
				    (localtime($i))[$[+2,$[+1],
				    ($i - $LastTimeBase)/3600)))
		     || (($t <= 12*60*60) &&
			 ($s .= sprintf("'%s %d:00' %lf",
					$Day[(localtime($i))[$[+6]],
					(localtime($i))[$[+2],
					($i - $LastTimeBase)/3600)))
			 || ($s .= sprintf("'%d.%d-%d:00' %lf",
					   (localtime($i))[$[+3,$[+4,$[+2],
					   ($i - $LastTimeBase)/3600));
    }
    $doplot .= "set xtics ($s)\n";
    
    chop($xts = &ctime($mintime));
    chop($xte = &ctime($maxtime));
    $doplot .= "set xlabel 'Start:  $xts    --   Time Scale   --    End:  $xte'\n";
    $doplot .= "set yrange [" ;
    $doplot .= defined($MinY) ? sprintf("%lf", $MinY) : $miny;
    $doplot .= ':';
    $doplot .= defined($MaxY) ? sprintf("%lf", $MaxY) : $maxy;
    $doplot .= "]\n";
    
    $doplot .= "   plot";
    $c = "";
    $showoffs &&
	($doplot .= sprintf($fmt,$c,$tmpfile,2,
			    "offset",
			    $minoffs,$maxoffs,
			    "[ms]"),
	 $c = ",");
    $LastCmplScale = 1 if ! defined($LastCmplScale);
    $showcmpl &&
	($doplot .= sprintf($fmt,$c,$tmpfile,4,
			    "compliance" .
			    (&abs($LastCmplScale) > 1
			     ? " / $LastCmplScale"
			     : (&abs($LastCmplScale) == 1 ? "" : " * ".(1/$LastCmplScale))),
			    $mincmpl/$LastCmplScale,$maxcmpl/$LastCmplScale,
			    ""),
	 $c = ",");
    $LastFreqBase = 0 if ! defined($LastFreqBase);
    $LastFreqBaseString = "?" if ! defined($LastFreqBaseString);
    $FreqScale = 1 if ! defined($FreqScale);
    $FreqScaleInv = 1 if ! defined($FreqScaleInv);
    $showfreq &&
	($doplot .= sprintf($fmt,$c,$tmpfile,3,
			    "frequency" .
			    ($LastFreqBase > 0
			     ? " - $LastFreqBaseString" 
			     : ($LastFreqBase == 0 ? "" : " + $LastFreqBaseString")),
			    $minfreq * $FreqScale - $LastFreqBase,
			    $maxfreq * $FreqScale - $LastFreqBase,
			    "[${FreqScaleInv}ppm]"),
	 $c = ",");
    $showoreg && $showoffs &&
	($doplot .= sprintf($regfmt, $c,
			    $lo->B(),$lo->A(),
			    "offset   ",
			    $lo->B(),
			    (($lo->A()) < 0 ? '-' : '+'),
			    &abs($lo->A()), $lo->r(),
			    "[ms]"),
	 $c = ",");
    $showfreg && $showfreq &&
	($doplot .= sprintf($regfmt, $c,
			    $lf->B() * $FreqScale,
			    ($lf->A() + $minfreq) * $FreqScale - $LastFreqBase,
			    "frequency",
			    $lf->B() * $FreqScale,
			    (($lf->A() + $minfreq) * $FreqScale - $LastFreqBase) < 0 ? '-' : '+',
			    &abs(($lf->A() + $minfreq) * $FreqScale - $LastFreqBase),
			    $lf->r(),
			    "[${FreqScaleInv}ppm]"),
	 $c = ",");
    $doplot .= "\n";
}

%F_key   = ();
%F_name  = ();
%F_size  = ();
%F_mtime = ();
%F_first = ();
%F_last  = ();

sub genfile
{
    local($cnt,$in,$out,$lo,$lf,@@fpos) = @@_;
    
    local(@@F,@@t,$t,$lastT) = ();
    local(@@break,@@time,@@offs,@@freq,@@cmpl,@@loffset,@@filekey) = ();
    local($lm,$l,@@f);
    
    local($sdir,$sname);
    
    ;# allocate some storage for the tables
    ;# otherwise realloc may get into troubles
    if (defined($StartTime) && defined($EndTime))
    {
	$l = ($EndTime-$StartTime) -$[+1 +1; # worst case: 1 sample per second
    }
    else
    {
	$l = $cnt + 10;
    }
    print "preextending arrays to $l entries\n" if $verbose > 2;
    $#break =   $l; for ($i=$[; $i<=$l;$i++) { $break[$i] = 0; }
    $#time =    $l; for ($i=$[; $i<=$l;$i++) { $time[$i] = 0; }
    $#offs =    $l; for ($i=$[; $i<=$l;$i++) { $offs[$i] = 0; }
    $#freq =    $l; for ($i=$[; $i<=$l;$i++) { $freq[$i] = 0; }
    $#cmpl =    $l; for ($i=$[; $i<=$l;$i++) { $cmpl[$i] = 0; }
    $#loffset = $l; for ($i=$[; $i<=$l;$i++) { $loffset[$i] = 0; }
    $#filekey = $l; for ($i=$[; $i<=$l;$i++) { $filekey[$i] = 0; }
    ;# now reduce size again
    $#break =   $[ - 1;
    $#time =    $[ - 1;
    $#offs =    $[ - 1;
    $#freq =    $[ - 1;
    $#cmpl =    $[ - 1;
    $#loffset = $[ - 1;
    $#filekey = $[ - 1;
    print "memory allocation ready\n" if $verbose > 2;
    sleep(3) if $verbose > 1;

    $fpos[$[] = '' if !defined($fpos[$[]);

    if (index($in,"/") < $[)
    {
	$sdir = ".";
	$sname = $in;
    }
    else
    {
	($sdir,$sname) = ($in =~ m!^(.*)/([^/]*)!);
	$sname = "" unless defined($sname);
    }
    
    $Ltime = -1 if ! defined($Ltime);
    if (!defined($Lsdir) || $Lsdir ne $sdir || $Ltime != (stat($sdir))[$[+9] ||
	grep($F_mtime{$_} != (stat($F_name{$_}))[$[+9], @@F_files))
	
    {
	print "rescanning directory \"$sdir\" for files \"$sname*\"\n"
	    if $verbose > 1;

	;# rescan directory on changes
	$Lsdir = $sdir;
	$Ltime = (stat($sdir))[$[+9];
	</X{> if 0;		# dummy line - calm down my formatter
	local(@@newfiles) = < ${in}*[0-9] >;
	local($st_dev,$st_ino,$st_mtime,$st_size,$name,$key,$modified);

	foreach $name (@@newfiles)
	{
	    ($st_dev,$st_ino,$st_size,$st_mtime) =
		(stat($name))[$[,$[+1,$[+7,$[+9];
	    $modified = 0;
	    $key = sprintf("%lx|%lu", $st_dev, $st_ino);
	    
	    print "candidate file \"$name\"",
                  (defined($st_dev) ? "" : " failed: $!"),"\n"
		      if $verbose > 2;
	    
	    if (! defined($F_key{$name}) || $F_key{$name} ne $key)
	    {
		$F_key{$name} = $key;
		$modified++;
	    }
	    if (!defined($F_name{$key}) || $F_name{$key} ne $name)
	    {
		$F_name{$key} = $name;
		$modified++;
	    }
	    if (!defined($F_size{$key}) || $F_size{$key} != $st_size)
	    {
		$F_size{$key} = $st_size;
		$modified++;
	    }
	    if (!defined($F_mtime{$key}) || $F_mtime{$key} != $st_mtime)
	    {
		$F_mtime{$key} = $st_mtime;
		$modified++;
	    }
	    if ($modified)
	    {
		print "new data \"$name\" key: $key;\n" if $verbose > 1;
	        print "             size: $st_size; mtime: $st_mtime;\n"
		    if $verbose > 1;
		$F_last{$key} = $F_first{$key} = $st_mtime;
		$F_first{$key}--; # prevent zero divide later on
		;# now compute derivated attributes
		open(IN, "<$name") ||
		    do {
			warn "$0: failed to open \"$name\": $!";
			next;
		    };

		while(<IN>)
		{
		    @@F = split;
		    next if @@F < 5;
		    next if $F[$[] eq "";
		    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
		    $t += $F[$[+1];
		    $F_first{$key} = $t;
		    print "\tfound first entry: $t ",&ctime($t)
			if $verbose > 4;
		    last;
		}
		seek(IN,
		     ($st_size > 4*$RecordSize) ? $st_size - 4*$RecordSize : 0,
		     0);
		while(<IN>)
		{
		    @@F = split;
		    next if @@F < 5;
		    next if $F[$[] eq "";
		    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
		    $t += $F[$[+1];
		    $F_last{$key} = $t;
		    $_ = <IN>;
		    print "\tfound last entry: $t ", &ctime($t)
			if $verbose > 4 && ! defined($_);
		    last unless defined($_);
		    redo;
		    ;# Ok, calm down...
		    ;# using $_ = <IN> in conjunction with redo
		    ;# is semantically equivalent to the while loop, but
		    ;# I needed a one line look ahead and this solution
		    ;# was what I thought of first
		    ;# and.. If you do not like it dont look
		}
		close(IN);
		print("             first: ",$F_first{$key},
		      " last: ",$F_last{$key},"\n") if $verbose > 1;
	    }
	}
	;# now reclaim memory used for files no longer referenced ...
	local(%Names);
	grep($Names{$_} = 1,@@newfiles);
	foreach (keys %F_key)
	{
	    next if defined($Names{$_});
	    delete $F_key{$_};
	    $verbose > 2 && print "no longer referenced: \"$_\"\n";
	}
	%Names = ();
	
	grep($Names{$_} = 1,values(%F_key));
	foreach (keys %F_name)
	{
	    next if defined($Names{$_});
	    delete $F_name{$_};
	    $verbose > 2 && print "unref name($_)= $F_name{$_}\n";
	}
	foreach (keys %F_size)
	{
	    next if defined($Names{$_});
	    delete $F_size{$_};
	    $verbose > 2 && print "unref size($_)\n";
	}
	foreach (keys %F_mtime)
	{
	    next if defined($Names{$_});
	    delete $F_mtime{$_};
	    $verbose > 2 && print "unref mtime($_)\n";
	}
	foreach (keys %F_first)
	{
	    next if defined($Names{$_});
	    delete $F_first{$_};
	    $verbose > 2 && print "unref first($_)\n";
	}
	foreach (keys %F_last)
	{
	    next if defined($Names{$_});
	    delete $F_last{$_};
	    $verbose > 2 && print "unref last($_)\n";
	}
	;# create list sorted by time
	@@F_files = sort {$F_first{$a} <=> $F_first{$b}; } keys(%F_name);
	if ($verbose > 1)
	{
	    print "Resulting file list:\n";
	    foreach (@@F_files)
	    {
		print "\t$_\t$F_name{$_}\n";
	    }
	}
    }
    
    printf("processing %s; output \"$out\" (%d input files)\n",
	   ((defined($StartTime) && defined($EndTime))
	    ? "time range"
	    : (defined($StartTime) ? "$cnt samples from StartTime" :
	      (defined($EndTime) ? "$cnt samples to EndTime" :
		 "last $cnt samples"))),
	    scalar(@@F_files))
	if $verbose > 1;
    
    ;# open output file - will be input for plotcmd
    open(OUT,">$out") || 
	do {
	    warn("$0: cannot create \"$out\": $!\n");
	};
    
    @@f = @@F_files;
    if (defined($StartTime))
    {
	while (@@f && ($F_last{$f[$[]} < $StartTime))
	{
	    print("shifting ", $F_name{$f[$[]},
		  " last: ", $F_last{$f[$[]},
		  " < StartTime: $StartTime\n")
		if $verbose > 3;
	    shift(@@f);
	}


    }
    if (defined($EndTime))
    {
	while (@@f && ($F_first{$f[$#f]} > $EndTime))
	{
	    print("popping  ", $F_name{$f[$#f]},
		  " first: ", $F_first{$f[$#f]},
		  " > EndTime: $EndTime\n")
		if $verbose > 3;
	    pop(@@f);
	}
    }
    
    if (@@f)
    {
	if (defined($StartTime))
	{
	    print "guess start according to StartTime ($StartTime)\n"
		if $verbose > 3;

	    if ($fpos[$[] eq 'start')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('start', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('start' , $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		if ($StartTime <= $F_first{$f[$[]})
		{
		    $fpos[$[+2] = 0;
		}
		else
		{
		    $fpos[$[+2] =
			int($F_size{$f[$[]} *
			    (($StartTime - $F_first{$f[$[]})/
			     ($F_last{$f[$[]} - $F_first{$f[$[]})));
		    $fpos[$[+2] = ($fpos[$[+2] <= 2 * $RecordSize)
			? 0 : $fpos[$[+2] - 2 * $RecordSize;
		    ;# anyway  as the data may contain "time holes" 
		    ;# our heuristics may baldly fail
		    ;# so just start at 0
		    $fpos[$[+2] = 0;
		}
	    }
	}
	elsif (defined($EndTime))
	{
	    print "guess starting point according to EndTime ($EndTime)\n"
		if $verbose > 3;
	    
	    if ($fpos[$[] eq 'end')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('end', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('end', $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		local(@@x) = reverse(@@f);
		local($s,$c) = (0,$cnt);
		if ($EndTime < $F_last{$x[$[]})
		{
		    ;# last file will only be used partially
		    $s = int($F_size{$x[$[]} *
			     (($EndTime - $F_first{$x[$[]}) /
			      ($F_last{$x[$[]} - $F_first{$x[$[]})));
		    $s = int($s/$RecordSize);
		    $c -= $s - 1;
		    if ($c <= 0)
		    {
			;# start is in the same file
			$fpos[$[+1] = $x[$[];
			$fpos[$[+2] = ($c >=-2) ? 0 : (-$c - 2) * $RecordSize;
			shift(@@f) while @@f && ($f[$[] ne $x[$[]);
		    }
		    else
		    {
			shift(@@x);
		    }
		}
		
		if (!defined($fpos[$[+2]))
		{
		    local($_);
		    while($_ = shift(@@x))
		    {
			$s = int($F_size{$_}/$RecordSize);
			$c -= $s - 1;
			if ($c <= 0)
			{
			    $fpos[$[+1] = $_;
			    $fpos[$[+2] = ($c>-2) ? 0 : (-$c - 2) * $RecordSize;
			    shift(@@f) while @@f && ($f[$[] ne $_);
			    last;
			}
		    }
		}
	    }
	}
	else
	{
	    print "guessing starting point according to count ($cnt)\n"
		if $verbose > 3;
	    ;# guess offset to get last available $cnt samples
	    if ($fpos[$[] eq 'cnt')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    print "old positioning applies\n" if $verbose > 3;
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('cnt', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('cnt', $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		local(@@x) = reverse(@@f);
		local($s,$c) = (0,$cnt);
		
		local($_);
		while($_ = shift(@@x))
		{
		    print "examing \"$_\" $c samples still needed\n"
			if $verbose > 4;
		    $s = int($F_size{$_}/$RecordSize);
		    $c -= $s - 1;
		    if ($c <= 0)
		    {
			$fpos[$[+1] = $_;
			$fpos[$[+2] = ($c>-2) ? 0 : (-$c - 2) * $RecordSize;
			shift(@@f) while @@f && ($f[$[] ne $_);
			last;
		    }
		}
		if (!defined($fpos[$[+2]))
		{
		    print "no starting point yet - using start of data\n"
			if $verbose > 2;
		    $fpos[$[+2] = 0;
		}
	    }
	}
    }
    print "Ooops, no suitable input file ??\n"
	if $verbose > 1 && @@f <= 0;

    printf("Starting at (%s) \"%s\" offset %ld using %d files\n",
	   $fpos[$[+1],
	   $F_name{$fpos[$[+1]},
	   $fpos[$[+2],
	   scalar(@@f))
	if $verbose > 2;

    $lm = 1;
    $l = 0;    
    foreach $key (@@f)
    {
	$file = $F_name{$key};
	print "processing file \"$file\"\n" if $verbose > 2;
	
	open(IN,"<$file") ||
	    (warn("$0: cannot read \"$file\": $!\n"), next);
	
	;# try to seek to a position nearer to the start of the interesting lines
	;# should always affect only first item in @@f
	($key eq $fpos[$[+1]) &&
	    (($verbose > 1) &&
	     print("Seeking to offset $fpos[$[+2]\n"),
		seek(IN,$fpos[$[+2],0) ||
		    warn("$0: seek(\"$F_name{$key}\" failed: $|\n"));
	
	while(<IN>)
	{
	    $l++;
	    ($verbose > 3) &&
		(($l % $lm) == 0 && print("\t$l lines read\n") &&
		 (($l ==     2) && ($lm =    10) ||
		  ($l ==   100) && ($lm =   100) ||
		  ($l ==   500) && ($lm =   500) ||
		  ($l ==  1000) && ($lm =  1000) ||
		  ($l ==  5000) && ($lm =  5000) ||
		  ($l == 10000) && ($lm = 10000)));
	    
	    @@F = split;
	    
	    next if @@F < 6;	# no valid input line is this short
	    next if $F[$[] eq "";
	    next if ($F[$[] !~ /^\d+$/);
	    ($F[$[] !~ /^\d+$/) && # A 'never should have happend' error
		die("$0: unexpected input line: >$_<\n");
	    
	    ;# modified Julian to UNIX epoch
	    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
	    $t += $F[$[+1];	# add seconds + fraction
	    
	    ;# multiply offset by 1000 to get ms - try to avoid float op
	    (($F[$[+2] =~ s/(\d*)\.(\d{3})(\d*)/$1$2.$3/) &&
	     $F[$[+2] =~ s/0+([\d\.])/($1 eq '.') ? '0.' : $1/e) # strip leading zeros
		|| ($F[$[+2] *= 1000);

	    
	    ;# skip samples out of specified time range
	    next if (defined($StartTime) && $StartTime > $t);
	    next if (defined($EndTime) && $EndTime < $t);
	    
	    next if defined($lastT) && $t < $lastT; # backward in time ??
	    
	    push(@@offs,$F[$[+2]);
	    push(@@freq,$F[$[+3] * (2**20/10**6));
	    push(@@cmpl,$F[$[+5]);
	    
	    push(@@break, (defined($lastT) && ($t - $lastT > $deltaT))); 
	    $lastT = $t;
	    push(@@time,$t);
	    push(@@loffset, tell(IN) - length($_));
	    push(@@filekey, $key);
	    
	    shift(@@break),shift(@@time),shift(@@offs),
	    shift(@@freq), shift(@@cmpl),shift(@@loffset),
	    shift(@@filekey)
		if @@time > $cnt &&
		    ! (defined($StartTime) && defined($EndTime));

	    last if @@time >= $cnt && defined($StartTime) && !defined($EndTime);
	}
	close(IN);
	last if @@time >= $cnt && defined($StartTime) && !defined($EndTime);
    }
    print "input scanned ($l lines/",scalar(@@time)," samples)\n"
	if $verbose > 1;
    
    if (@@time)
    {
	local($_,@@F);
	
	local($timebase) unless defined($timebase);
	local($freqbase) unless defined($freqbase);
	local($cmplscale) unless defined($cmplscale);
	
	undef $mintime;
	undef $maxtime;
	undef $minoffs;
	undef $maxoffs;
	undef $minfreq;
	undef $maxfreq;
	undef $mincmpl;
	undef $maxcmpl;
	undef $miny;
	undef $maxy ;
	
	print "computing ranges\n" if $verbose > 2;
	
	$LastCnt = @@time;

	;# @@time is in ascending order (;-)
	$mintime = $time[$[];
	$maxtime = $time[$#time];
	unless (defined($timebase))
	{
	    local($time,@@X) = (time);
	    @@X = localtime($time);
	    
	    ;# compute today 00:00:00
	    $timebase = $time - ((($X[$[+2]*60)+$X[$[+1])*60+$X[$[]);

	}
	$LastTimeBase = $timebase;

	if ($showoffs)
	{
	    local($i,$m,$f);
	    
	    $minoffs = &min(@@offs);
	    $maxoffs = &max(@@offs);
	    
	    ;# I know, it is not perl style using indices to access arrays,
	    ;# but I have to proccess two arrays in sync, non-destructively
	    ;# (otherwise a (shift(@@a1),shift(a2)) would do),
	    ;# I dont like to make copies of these arrays as they may be huge
	    $i = $[;
	    $lo->sample(($time[$i]-$timebase)/3600,$offs[$i]),$i++
		while $i <= $#time;

	    ($minoffs == $maxoffs) && ($minoffs -= 0.1,$maxoffs += 0.1);

	    $i = $lo->sigma();
	    $m = $lo->mean();

	    print "mean offset: $m sigma: $i\n" if $verbose > 2;

	    if (($maxoffs - $minoffs) > $MinClip)
	    {
		$f = (&abs($minoffs) < &abs($maxoffs)) ? $FuzzLow : $FuzzBig;
		$miny = (($m - $minoffs) <= ($f * $i))
		    ? $minoffs : ($m - $f * $i);
		$f = ($f == $FuzzLow) ? $FuzzBig : $FuzzLow;
		$maxy = (($maxoffs - $m) <= ($f * $i))
		    ? $maxoffs : ($m + $f * $i);
	    }
	    else
	    {
		$miny = $minoffs;
		$maxy = $maxoffs;
	    }
	    ($maxy-$miny) == 0 &&
		(($maxy,$miny)
		 = (($maxoffs - $minoffs) > 0)
		 ? ($maxoffs,$minoffs) : ($MinClip,-$MinClip));

	    $maxy = $MaxY if defined($MaxY) && $MaxY < $maxy;
	    $miny = $MinY if defined($MinY) && $MinY > $miny;

	    print  "offset min clipped from $minoffs to $miny\n"
		if $verbose > 2 && $minoffs != $miny;
	    print  "offset max clipped from $maxoffs to $maxy\n"
		if $verbose > 2 && $maxoffs != $maxy;
	}
	
	if ($showfreq)
	{
	    local($i,$m);
	    
	    $minfreq = &min(@@freq);
	    $maxfreq = &max(@@freq);
	    
	    $i = $[;
	    $lf->sample(($time[$i]-$timebase)/3600,$freq[$i]-$minfreq),
	    $i++
		while $i <= $#time;
	    
	    $i = $lf->sigma();
	    $m = $lf->mean() + $minfreq;

	    print "mean frequency: $m sigma: $i\n" if $verbose > 2;

	    if (defined($maxy))
	    {
		local($s) =
		    ($maxfreq - $minfreq)
			? ($maxy - $miny) / ($maxfreq - $minfreq) : 1;

		if (defined($freqbase))
		{
		    $FreqScale = 1;
		    $FreqScaleInv = "";
		}
		else
		{
		    $FreqScale = 1;
		    $FreqScale = 10 ** int(log($s)/log(10) - 0.9999);
		    $FreqScaleInv =
			("$FreqScale" =~ /^10(0*)$/) ? "0.${1}1" : 
			 ($FreqScale == 1 ? "" : (1/$FreqScale));
		    
		    $freqbase = ($maxfreq + $minfreq)/ 2 * $FreqScale; #$m * $FreqScale;
		    $freqbase -= ($maxy + $miny) / 2; #$lf->mean();

		    ;# round resulting freqbase
		    ;# to precision of min max difference
		    $s = -12;
		    $s = int(log(($maxfreq-$minfreq)*$FreqScale)/log(10))-1
			unless ($maxfreq-$minfreq) < 1e-12;
		    $s = 10 ** $s;
		    $freqbase = int($freqbase / $s) * $s;
		}
	    }
	    else
	    {
		$FreqScale = 1;
		$FreqScaleInv = "";
		$freqbase = $m unless defined($freqbase);
		if (($maxfreq - $minfreq) > $MinClip)
		{
		    $f = (&abs($minfreq) < &abs($maxfreq))
			? $FuzzLow : $FuzzBig;
		    $miny = (($freqbase - $minfreq) <= ($f * $i))
			? ($minfreq-$freqbase) : (- $f * $i);
		    $f = ($f == $FuzzLow) ? $FuzzBig : $FuzzLow;
		    $maxy = (($maxfreq - $freqbase) <= ($f * $i))
			? ($maxfreq-$freqbase) : ($f * $i);
		}
		else
		{
		    $miny = $minfreq - $freqbase;
		    $maxy = $maxfreq - $freqbase;
		}
		($maxy - $miny) == 0 &&
		    (($maxy,$miny) =
		     (($maxfreq - $minfreq) > 0)
		     ? ($maxfreq-$freqbase,$minfreq-$freqbase) : (0.5,-0.5));
		
		$maxy = $MaxY if defined($MaxY) && $MaxY < $maxy;
		$miny = $MinY if defined($MinY) && $MinY > $miny;

		print("frequency min clipped from ",$minfreq-$freqbase,
		      " to $miny\n")
		    if $verbose > 2 && $miny != ($minfreq - $freqbase);
		print("frequency max clipped from ",$maxfreq-$freqbase,
		      " to $maxy\n")
		    if $verbose > 2 && $maxy != ($maxfreq - $freqbase);
	    }
	    $LastFreqBaseString =
		sprintf("%g",$freqbase >= 0 ? $freqbase : -$freqbase);
	    $LastFreqBase = $freqbase;
	    print "LastFreqBaseString now \"$LastFreqBaseString\"\n"
		if $verbose > 5;
	}
	else
	{
	    $FreqScale = 1;
	    $FreqScaleInv = "";
	    $LastFreqBase = 0;
	    $LastFreqBaseString = "";
	}
		
	if ($showcmpl)
	{
	    $mincmpl = &min(@@cmpl);
	    $maxcmpl = &max(@@cmpl);

	    if (!defined($cmplscale))
	    {
		if (defined($maxy))
		{
		    local($cmp)
			= (&abs($miny) > &abs($maxy)) ? &abs($miny) : $maxy;
		    $cmplscale = $cmp == $maxy ? 1 : -1;

		    foreach (0.01, 0.02, 0.05,
			     0.1, 0.2, 0.25, 0.4, 0.5,
			     1, 2, 4, 5,
			     10, 20, 25, 50,
			     100, 200, 250, 500, 1000)
		    {
			$cmplscale *= $_, last if $maxcmpl/$_ <= $cmp;
		    }
		}
		else
		{
		    $cmplscale = 1;
		    $miny = $mincmpl ? 0 : -$MinClip;
		    $maxy = $maxcmpl+$MinClip;
		}
	    }
	    $LastCmplScale = $cmplscale;
	}
	else
	{
	    $LastCmplScale = 1;
	}
	
	print "creating plot command input file\n" if $verbose > 2;
	
	
	print OUT ("# preprocessed NTP statistics file for $STATHOST\n");
	print OUT ("#    timebase is: ",&ctime($LastTimeBase))
	    if defined($LastTimeBase);
	print OUT ("#    frequency is offset by  ",
		   ($LastFreqBase >= 0 ? "+" : "-"),
		   "$LastFreqBaseString [${FreqScaleInv}ppm]\n");
	print OUT ("#    compliance is scaled by $LastCmplScale\n");
	print OUT ("# time [h]\toffset [ms]\tfrequency [${FreqScaleInv}ppm]\tcompliance\n");
	
	printf OUT ("%s%lf\t%lf\t%lf\t%lf\n",
		    (shift(@@break) ? "\n" : ""),
		    (shift(@@time) - $LastTimeBase)/3600,
		    shift(@@offs),
		    shift(@@freq) * $FreqScale - $LastFreqBase,
		    shift(@@cmpl) / $LastCmplScale)
	    while(@@time);
    }
    else
    {
	;# prevent plotcmd from processing empty file
	print "Creating plot command dummy...\n" if $verbose > 2;
	print OUT "# dummy samples\n0 1 2 3\n1 1 2 3\n";
	$lo->sample(0,1);
	$lo->sample(1,1);
	$lf->sample(0,2);
	$lf->sample(1,2);
	@@time = (0, 1); $maxtime = 1; $mintime = 0;
	@@offs = (1, 1); $maxoffs = 1; $minoffs = 1;
	@@freq = (2, 2); $maxfreq = 2; $minfreq = 2;
	@@cmpl = (3, 3); $maxcmpl = 3; $mincmpl = 3;
	$LastCnt = 2;
	$LastFreqBase = 0;
	$LastCmplScale = 1;
	$LastTimeBase = 0;
	$miny = -$MinClip;
	$maxy = 3 + $MinClip;
    }
    close(OUT);
    
    print "plot command input file created\n"
	if $verbose > 2;
	
	
    if (($fpos[$[] eq 'cnt' && scalar(@@loffset) >= $cnt) ||
	($fpos[$[] eq 'start' && $mintime <= $StartTime) ||
	($fpos[$[] eq 'end'))
    {
	return ($fpos[$[],$filekey[$[],$loffset[$[]);
    }
    else			# found to few lines - next time start search earlier in file
    {
	if ($fpos[$[] eq 'start')
	{
	    ;# the timestamps we got for F_first and F_last guaranteed
	    ;# that no file is left out
	    ;# the only thing that could happen is:
	    ;# we guessed the starting point wrong
	    ;# compute a new guess from the first record found
	    ;# if this equals our last guess use data of first record
	    ;# otherwise try new guess
	    
	    if ($fpos[$[+1] eq $filekey[$[] && $loffset[$[] > $fpos[$[+2])
	    {
		local($noff);
		$noff = $loffset[$[] - ($cnt - @@loffset + 1) * $RecordSize;
		$noff = 0 if $noff < 0;
		
		return (@@fpos[$[,$[+1], ($noff == $fpos[$[+2]) ? $loffset[$[] : $noff);
	    }
	    return ($fpos[$[],$filekey[$[],$loffset[$[]);
	}
	elsif ($fpos[$[] eq 'end' || $fpos[$[] eq 'cnt')
	{
	    ;# try to start earlier in file
	    ;# if we already started at the beginning
	    ;# try to use previous file
	    ;# this assumes distance to better starting point is at most one file
	    ;# the primary guess at top of genfile() should usually allow this
	    ;# assumption
	    ;# if the offset of the first sample used is within 
	    ;# a different file than we guessed it must have occurred later
	    ;# in the sequence of files
	    ;# this only can happen if our starting file did not contain
	    ;# a valid sample from the starting point we guessed
	    ;# however this does not invalidate our assumption, no check needed
	    local($noff,$key);
	    if ($fpos[$[+2] > 0)
	    {
		$noff = $fpos[$[+2] - $RecordSize * ($cnt - @@loffset + 1);
		$noff = 0 if $noff < 0;
		return (@@fpos[$[,$[+1],$noff);
	    }
	    else
	    {
		if ($fpos[$[+1] eq $F_files[$[])
		{
		    ;# first file - and not enough samples
		    ;# use data of first sample
		    return ($fpos[$[], $filekey[$[], $loffset[$[]);
		}
		else
		{
		    ;# search key of previous file
		    $key = $F_files[$[];
		    @@F = reverse(@@F_files);
		    while ($_ = shift(@@F))
		    {
			if ($_ eq $fpos[$[+1])
			{
			    $key = shift(@@F) if @@F;
			    last;
			}
		    }
		    $noff = int($F_size{$key} / $RecordSize);
		    $noff -= $cnt - @@loffset;
		    $noff = 0 if $noff < 0;
		    $noff *= $RecordSize;
		    return ($fpos[$[], $key, $noff);
		}
	    }
	}
	else
	{
	    return ();
	}
	
	return 0 if @@loffset <= 1 || ($loffset[$#loffset] - $loffset[$[]) <= 1;
	
	;# EOF - 1.1 * avg(line) * $cnt
	local($val) =  $loffset[$#loffset]
	    - $cnt * 11 * (($loffset[$#loffset] - $loffset[$[]) / @@loffset) / 10;
	return ($val < 0) ? 0 : $val;
    }
}

$Ltime = -1 if ! defined($Ltime);
$LastFreqBase = 0;
$LastFreqBaseString = "??";

;# initial setup of plot
print "initialize plotting\n" if $verbose;
if (defined($PrintIt))
{
  if ($PrintIt =~ m,/,)
  {
    print "Saving plot to file $PrintIt\n";
    print PLOT "set output '$PrintIt'\n";
  }
  else
  {
    print "Printing plot on printer $PrintIt\n";
    print PLOT "set output '| lpr -P$PrintIt -h'\n";
  }
  print PLOT "set terminal postscript landscape color solid 'Helvetica' 10\n";
}
print PLOT "set grid\n";
print PLOT "set tics out\n";
print PLOT "set format y '%g '\n";
printf PLOT "set time 47\n" unless defined($PrintIt);

@@filepos =();
while(1)
{
  print &ctime(time) if $verbose;

  ;# update diplay characteristics
  &read_config;# unless defined($PrintIt);

  unlink($tmpfile);
  my $lo = lr->new();
  my $lf = lr->new();
    
  @@filepos = &genfile($samples,$srcprefix,$tmpfile,$lo,$lf,@@filepos);

  ;# make plotcmd display samples
  make_doplot($lo, $lf);
  print "Displaying plot...\n" if $verbose > 1;
  print "command for plot sub process:\n$doplot----\n" if $verbose > 3;
  print PLOT $doplot;
}
continue
{
  if (defined($PrintIt))
  {
    delete $SIG{'CHLD'};
    print PLOT "quit\n";
    close(PLOT);
    if ($PrintIt =~ m,/,)
    {
      print "Plot saved to file $PrintIt\n";
    }
    else
    {
      print "Plot spooled to printer $PrintIt\n";
    }
    unlink($tmpfile);
    exit(0);
  }
  ;# wait $delay seconds
  print "waiting $delay seconds ..." if $verbose > 2;
  sleep($delay);
  print " continuing\n" if $verbose > 2;
  undef($LastFreqBaseString);
}


sub date_time_spec2seconds
{
    local($_) = @@_;
    ;# a date_time_spec consistes of:
    ;#  YYYY-MM-DD_HH:MM:SS.ms
    ;# values can be omitted from the beginning and default than to
    ;# values of current date
    ;# values omitted from the end default to lowest possible values

    local($time) = time;
    local($sec,$min,$hour,$mday,$mon,$year)
	= localtime($time);

    local($last) = ();

    s/^\D*(.*\d)\D*/$1/;	# strip off garbage

  PARSE:
    {
	if (s/^(\d{4})(-|$)//)
	{
	    if ($1 < 1970)
	    {
		warn("$0: can not handle years before 1970 - year $1 ignored\n");
		return undef;
	    }
	    elsif ( $1 >= 2070)
	    {
		warn("$0: can not handle years past 2070 - year $1 ignored\n");
		return undef;
	    }
	    else
	    {
		$year = $1 % 100; # 0<= $year < 100
				 ;# - interpreted 70 .. 99,00 .. 69
	    }
	    $last = $[ + 5;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec: \"$_\" found after YEAR\n"),
	    return(undef)
		if $2 eq '';
	}

	if (s/^(\d{1,2})(-|$)//)
	{
	    warn("$0: implausible month $1\n"),return(undef)
		if $1 < 1 || $1 > 12;
	    $mon = $1 - 1;
	    $last = $[ + 4;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec: \"$_\" found after MONTH\n"),
	    return(undef)
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"),return(undef)
		if defined($last);
	    
	}

	if (s/^(\d{1,2})([_ ]|$)//)
	{
	    warn("$0: implausible month day $1 for month ".($mon+1)." (".
		 $MaxNumDaysPerMonth[$mon].")$mon\n"),
	    return(undef)
		if $1 < 1 || $1 > $MaxNumDaysPerMonth[$mon];
	    $mday = $1;
	    $last = $[ + 3;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec \"$_\" found after MDAY\n"),
	    return(undef)
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	;# now we face a problem:
 	;# if ! defined($last) a prefix of "07:"
	;# can be either 07:MM or 07:ss
	;# to get the second interpretation make the user add
 	;# a msec fraction part and check for this special case
	if (! defined($last) && s/^(\d{1,2}):(\d{1,2}\.\d+)//)
	{
	    warn("$0: implausible minute $1\n"), return undef
		if $1 < 0 || $1 >= 60;
	    warn("$0: implausible second $1\n"), return undef
		if $2 < 0 || $2 >= 60;
	    $min = $1;
	    $sec = $2;
	    $last = $[ + 1;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec \"$_\" after SECONDS\n");
	    return undef;
	}
	
	if (s/^(\d{1,2})(:|$)//)
	{
	    warn("$0: implausible hour $1\n"), return undef
		if $1 < 0 || $1 > 24;
	    $hour = $1;
	    $last = $[ + 2;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after HOUR\n"),
	    return undef
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	if (s/^(\d{1,2})(:|$)//)
	{
	    warn("$0: implausible minute $1\n"), return undef
		if $1 < 0 || $1 >=60;
	    $min = $1;
	    $last = $[ + 1;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after MINUTE\n"),
	    return undef
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	if (s/^(\d{1,2}(\.\d+)?)//)
	{
	    warn("$0: implausible second $1\n"), return undef
		if $1 < 0 || $1 >=60;
	    $sec = $1;
	    $last = $[;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after SECOND\n");
	    return undef;
	}
    }

    return $time unless defined($last);

    $sec  = 0 if $last > $[;
    $min  = 0 if $last > $[ + 1;
    $hour = 0 if $last > $[ + 2;
    $mday = 1 if $last > $[ + 3;
    $mon  = 0 if $last > $[ + 4;
    local($rtime) = &timelocal($sec,$min,$hour,$mday,$mon,$year, 0,0, 0);

    ;# $rtime may be off if daylight savings time is in effect at given date
    return $rtime + ($sec - int($sec))
	if $hour == (localtime($rtime))[$[+2];
    return
	&timelocal($sec,$min,$hour,$mday,$mon,$year, 0,0, 1)
	    + ($sec - int($sec));
}


sub min
{
  local($m) = shift;

  grep((($m > $_) && ($m = $_),0),@@_);
  $m;
}

sub max
{
  local($m) = shift;

  grep((($m < $_) && ($m = $_),0),@@_);
  $m;
}
@


1.1.1.1
log
@Import ntp 4.2.6
@
text
@@


1.1.1.1.8.1
log
@Apply patch (requested by christos in ticket #1221):
Update ntp to 4.2.8.
@
text
@d721 1
a721 1
	grep(Names{_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined(Names{_});
d730 1
a730 1
	grep(Names{_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined(Names{_});
d739 1
a739 1
	    next if defined(Names{_});
d745 1
a745 1
	    next if defined(Names{_});
d751 1
a751 1
	    next if defined(Names{_});
d757 1
a757 1
	    next if defined(Names{_});
@


1.1.1.1.14.1
log
@Apply patch (requested by christos in ticket #1221):
Update ntp to 4.2.8.
@
text
@d721 1
a721 1
	grep(Names{_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined(Names{_});
d730 1
a730 1
	grep(Names{_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined(Names{_});
d739 1
a739 1
	    next if defined(Names{_});
d745 1
a745 1
	    next if defined(Names{_});
d751 1
a751 1
	    next if defined(Names{_});
d757 1
a757 1
	    next if defined(Names{_});
@


1.1.1.1.22.1
log
@Apply patch (requested by christos in ticket #1221):
Update ntp to 4.2.8.
@
text
@d721 1
a721 1
	grep(Names{_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined(Names{_});
d730 1
a730 1
	grep(Names{_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined(Names{_});
d739 1
a739 1
	    next if defined(Names{_});
d745 1
a745 1
	    next if defined(Names{_});
d751 1
a751 1
	    next if defined(Names{_});
d757 1
a757 1
	    next if defined(Names{_});
@


1.1.1.1.12.1
log
@Rebase to HEAD as of a few days ago.
@
text
@d721 1
a721 1
	grep(Names{_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined(Names{_});
d730 1
a730 1
	grep(Names{_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined(Names{_});
d739 1
a739 1
	    next if defined(Names{_});
d745 1
a745 1
	    next if defined(Names{_});
d751 1
a751 1
	    next if defined(Names{_});
d757 1
a757 1
	    next if defined(Names{_});
@


1.1.1.1.6.1
log
@sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")
@
text
@d721 1
a721 1
	grep(Names{_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined(Names{_});
d730 1
a730 1
	grep(Names{_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined(Names{_});
d739 1
a739 1
	    next if defined(Names{_});
d745 1
a745 1
	    next if defined(Names{_});
d751 1
a751 1
	    next if defined(Names{_});
d757 1
a757 1
	    next if defined(Names{_});
@


1.1.1.2
log
@import devel ntpd to avoid amplification attacks.
@
text
@d721 1
a721 1
	grep(Names{_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined(Names{_});
d730 1
a730 1
	grep(Names{_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined(Names{_});
d739 1
a739 1
	    next if defined(Names{_});
d745 1
a745 1
	    next if defined(Names{_});
d751 1
a751 1
	    next if defined(Names{_});
d757 1
a757 1
	    next if defined(Names{_});
@


1.1.1.3
log
@Import ntp 4.2.8p3
@
text
@d721 1
a721 1
	grep($Names{$_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined($Names{$_});
d730 1
a730 1
	grep($Names{$_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined($Names{$_});
d739 1
a739 1
	    next if defined($Names{$_});
d745 1
a745 1
	    next if defined($Names{$_});
d751 1
a751 1
	    next if defined($Names{$_});
d757 1
a757 1
	    next if defined($Names{$_});
@


1.1.1.4
log
@Import ntp 4.2.8p3
@
text
@d721 1
a721 1
	grep(Names{_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined(Names{_});
d730 1
a730 1
	grep(Names{_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined(Names{_});
d739 1
a739 1
	    next if defined(Names{_});
d745 1
a745 1
	    next if defined(Names{_});
d751 1
a751 1
	    next if defined(Names{_});
d757 1
a757 1
	    next if defined(Names{_});
@


1.1.1.5
log
@Import ntp 4.2.8p5
@
text
@d721 1
a721 1
	grep($Names{$_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined($Names{$_});
d730 1
a730 1
	grep($Names{$_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined($Names{$_});
d739 1
a739 1
	    next if defined($Names{$_});
d745 1
a745 1
	    next if defined($Names{$_});
d751 1
a751 1
	    next if defined($Names{$_});
d757 1
a757 1
	    next if defined($Names{$_});
@


1.1.1.6
log
@Import ntp 4.2.8p5
@
text
@d721 1
a721 1
	grep(Names{_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined(Names{_});
d730 1
a730 1
	grep(Names{_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined(Names{_});
d739 1
a739 1
	    next if defined(Names{_});
d745 1
a745 1
	    next if defined(Names{_});
d751 1
a751 1
	    next if defined(Names{_});
d757 1
a757 1
	    next if defined(Names{_});
@


1.1.1.6.16.1
log
@Sync with HEAD
@
text
@d721 1
a721 1
	grep($Names{$_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined($Names{$_});
d730 1
a730 1
	grep($Names{$_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined($Names{$_});
d739 1
a739 1
	    next if defined($Names{$_});
d745 1
a745 1
	    next if defined($Names{$_});
d751 1
a751 1
	    next if defined($Names{$_});
d757 1
a757 1
	    next if defined($Names{$_});
@


1.1.1.6.14.1
log
@Ssync with HEAD
@
text
@d721 1
a721 1
	grep($Names{$_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined($Names{$_});
d730 1
a730 1
	grep($Names{$_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined($Names{$_});
d739 1
a739 1
	    next if defined($Names{$_});
d745 1
a745 1
	    next if defined($Names{$_});
d751 1
a751 1
	    next if defined($Names{$_});
d757 1
a757 1
	    next if defined($Names{$_});
@


1.1.1.7
log
@---
(4.2.8p12) 2018/08/14 Released by Harlan Stenn <stenn@@ntp.org>

* [Sec 3505] CVE-2018-12327 - Arbitrary Code Execution Vulnerability
  - fixed stack buffer overflow in the openhost() command-line call
    of NTPQ/NTPDC <perlinger@@ntp.org>
* [Sec 3012] noepeer tweaks.  <stenn@@ntp.org>
* [Bug 3521] Fix a logic bug in the INVALIDNAK checks.  <stenn@@ntp.org>
* [Bug 3509] Add support for running as non-root on FreeBSD, Darwin,
             other TrustedBSD platforms
  - applied patch by Ian Lepore <perlinger@@ntp.org>
* [Bug 3506] Service Control Manager interacts poorly with NTPD <perlinger@@ntp.org>
  - changed interaction with SCM to signal pending startup
* [Bug 3486] Buffer overflow in ntpq/ntpq.c:tstflags() <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3485] Undefined sockaddr used in error messages in ntp_config.c <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3484] ntpq response from ntpd is incorrect when REFID is null <perlinger@@ntp.org>
  - rework of ntpq 'nextvar()' key/value parsing
* [Bug 3482] Fixes for compilation warnings (ntp_io.c & ntpq-subs.c) <perlinger@@ntp.org>
  - applied patch by Gerry Garvey (with mods)
* [Bug 3480] Refclock sample filter not cleared on clock STEP <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3479] ctl_putrefid() allows unsafe characters through to ntpq <perlinger@@ntp.org>
  - applied patch by Gerry Garvey (with mods)
* [Bug 3476]ctl_putstr() sends empty unquoted string [...] <perlinger@@ntp.org>
  - applied patch by Gerry Garvey (with mods); not sure if that's bug or feature, though
* [Bug 3475] modify prettydate() to suppress output of zero time <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3474] Missing pmode in mode7 peer info response <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3471] Check for openssl/[ch]mac.h.  HStenn.
  - add #define ENABLE_CMAC support in configure.  HStenn.
* [Bug 3470] ntpd4.2.8p11 fails to compile without OpenSSL <perlinger@@ntp.org>
* [Bug 3469] Incomplete string compare [...] in is_refclk_addr <perlinger@@ntp.org>
  - patch by Stephen Friedl
* [Bug 3467] Potential memory fault in ntpq [...] <perlinger@@ntp.org>
  - fixed IO redirection and CTRL-C handling in ntq and ntpdc
* [Bug 3465] Default TTL values cannot be used <perlinger@@ntp.org>
* [Bug 3461] refclock_shm.c: clear error status on clock recovery <perlinger@@ntp.org>
  - initial patch by Hal Murray; also fixed refclock_report() trouble
* [Bug 3460] Fix typo in ntpq.texi, reported by Kenyon Ralph.  <stenn@@ntp.org>
* [Bug 3456] Use uintptr_t rather than size_t to store an integer in a pointer
  - According to Brooks Davis, there was only one location <perlinger@@ntp.org>
* [Bug 3449] ntpq - display "loop" instead of refid [...] <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3445] Symmetric peer won't sync on startup <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3442] Fixes for ntpdate as suggested by Gerry Garvey,
  with modifications
  New macro REFID_ISTEXT() which is also used in ntpd/ntp_control.c.
* [Bug 3434] ntpd clears STA_UNSYNC on start <perlinger@@ntp.org>
  - applied patch by Miroslav Lichvar
* [Bug 3426] ntpdate.html -t default is 2 seconds.  Leonid Evdokimov.
* [Bug 3121] Drop root privileges for the forked DNS worker <perlinger@@ntp.org>
  - integrated patch by  Reinhard Max
* [Bug 2821] minor build issues <perlinger@@ntp.org>
  - applied patches by Christos Zoulas, including real bug fixes
* html/authopt.html: cleanup, from <stenn@@ntp.org>
* ntpd/ntpd.c: DROPROOT cleanup.  <stenn@@ntp.org>
* Symmetric key range is 1-65535.  Update docs.  <stenn@@ntp.org>
* html/authentic.html: cleanup, from <stenn@@ntp.org>
@
text
@d721 1
a721 1
	grep($Names{$_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined($Names{$_});
d730 1
a730 1
	grep($Names{$_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined($Names{$_});
d739 1
a739 1
	    next if defined($Names{$_});
d745 1
a745 1
	    next if defined($Names{$_});
d751 1
a751 1
	    next if defined($Names{$_});
d757 1
a757 1
	    next if defined($Names{$_});
@


1.1.1.8
log
@(4.2.8p14) 2020/03/03 Released by Harlan Stenn <stenn@@ntp.org>

* [Sec 3610] process_control() should bail earlier on short packets. stenn@@
  - Reported by Philippe Antoine
* [Sec 3596] Highly predictable timestamp attack. <stenn@@ntp.org>
  - Reported by Miroslav Lichvar
* [Sec 3592] DoS attack on client ntpd <perlinger@@ntp.org>
  - Reported by Miroslav Lichvar
* [Bug 3637] Emit the version of ntpd in saveconfig.  stenn@@
* [Bug 3636] NMEA: combine time/date from multiple sentences <perlinger@@ntp.org>
* [Bug 3635] Make leapsecond file hash check optional <perlinger@@ntp.org>
* [Bug 3634] Typo in discipline.html, reported by Jason Harrison.  stenn@@
* [Bug 3628] raw DCF decoding - improve robustness with Zeller's congruence
  - implement Zeller's congruence in libparse and libntp <perlinger@@ntp.org>
* [Bug 3627] SIGSEGV on FreeBSD-12 with stack limit and stack gap <perlinger@@ntp.org>
  - integrated patch by Cy Schubert
* [Bug 3620] memory leak in ntpq sysinfo <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3619] Honour drefid setting in cooked mode and sysinfo <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3617] Add support for ACE III and Copernicus II receivers <perlinger@@ntp.org>
  - integrated patch by Richard Steedman
* [Bug 3615] accelerate refclock startup <perlinger@@ntp.org>
* [Bug 3613] Propagate noselect to mobilized pool servers <stenn@@ntp.org>
  - Reported by Martin Burnicki
* [Bug 3612] Use-of-uninitialized-value in receive function <perlinger@@ntp.org>
  - Reported by Philippe Antoine
* [Bug 3611] NMEA time interpreted incorrectly <perlinger@@ntp.org>
  - officially document new "trust date" mode bit for NMEA driver
  - restore the (previously undocumented) "trust date" feature lost with [bug 3577]
* [Bug 3609] Fixing wrong falseticker in case of non-statistic jitter <perlinger@@ntp.org>
  - mostly based on a patch by Michael Haardt, implementing 'fudge minjitter'
* [Bug 3608] libparse fails to compile on S11.4SRU13 and later <perlinger@@ntp.org>
  - removed ffs() and fls() prototypes as per Brian Utterback
* [Bug 3604] Wrong param byte order passing into record_raw_stats() in
	ntp_io.c <perlinger@@ntp.org>
  - fixed byte and paramter order as suggested by wei6410@@sina.com
* [Bug 3601] Tests fail to link on platforms with ntp_cv_gc_sections_runs=no <perlinger@@ntp.org>
* [Bug 3599] Build fails on linux-m68k due to alignment issues <perlinger@@ntp.org>
  - added padding as suggested by John Paul Adrian Glaubitz
* [Bug 3594] ntpd discards messages coming through nmead <perlinger@@ntp.org>
* [Bug 3593] ntpd discards silently nmea messages after the 5th string <perlinger@@ntp.org>
* [Bug 3590] Update refclock_oncore.c to the new GPS date API <perlinger@@ntp.org>
* [Bug 3585] Unity tests mix buffered and unbuffered output <perlinger@@ntp.org>
  - stdout+stderr are set to line buffered during test setup now
* [Bug 3583] synchronization error <perlinger@@ntp.org>
  - set clock to base date if system time is before that limit
* [Bug 3582] gpsdjson refclock fudgetime1 adjustment is doubled <perlinger@@ntp.org>
* [Bug 3580] Possible bug ntpq-subs (NULL dereference in dogetassoc) <perlinger@@ntp.org>
  - Reported by Paulo Neves
* [Bug 3577] Update refclock_zyfer.c to the new GPS date API <perlinger@@ntp.org>
  - also updates for refclock_nmea.c and refclock_jupiter.c
* [Bug 3576] New GPS date function API <perlinger@@ntp.org>
* [Bug 3573] nptdate: missleading error message <perlinger@@ntp.org>
* [Bug 3570] NMEA driver docs: talker ID not mentioned, typo <perlinger@@ntp.org>
* [Bug 3569] cleanup MOD_NANO/STA_NANO handling for 'ntpadjtimex()' <perlinger@@ntp.org>
  - sidekick: service port resolution in 'ntpdate'
* [Bug 3550] Reproducible build: Respect SOURCE_DATE_EPOCH <perlinger@@ntp.org>
  - applied patch by Douglas Royds
* [Bug 3542] ntpdc monlist parameters cannot be set <perlinger@@ntp.org>
* [Bug 3533] ntpdc peer_info ipv6 issues <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3531] make check: test-decodenetnum fails <perlinger@@ntp.org>
  - try to harden 'decodenetnum()' against 'getaddrinfo()' errors
  - fix wrong cond-compile tests in unit tests
* [Bug 3517] Reducing build noise <perlinger@@ntp.org>
* [Bug 3516] Require tooling from this decade <perlinger@@ntp.org>
  - patch by Philipp Prindeville
* [Bug 3515] Refactor ntpdmain() dispatcher loop and group common code <perlinger@@ntp.org>
  - patch by Philipp Prindeville
* [Bug 3511] Get rid of AC_LANG_SOURCE() warnings <perlinger@@ntp.org>
  - patch by Philipp Prindeville
* [Bug 3510] Flatten out the #ifdef nesting in ntpdmain() <perlinger@@ntp.org>
  - partial application of patch by Philipp Prindeville
* [Bug 3491] Signed values of LFP datatypes should always display a sign
  - applied patch by Gerry Garvey & fixed unit tests <perlinger@@ntp.org>
* [Bug 3490] Patch to support Trimble Resolution Receivers <perlinger@@ntp.org>
  - applied (modified) patch by Richard Steedman
* [Bug 3473] RefID of refclocks should always be text format <perlinger@@ntp.org>
  - applied patch by Gerry Garvey (with minor formatting changes)
* [Bug 3132] Building 4.2.8p8 with disabled local libopts fails <perlinger@@ntp.org>
  - applied patch by Miroslav Lichvar
* [Bug 3094] ntpd trying to listen for broadcasts on a completely ipv6 network
  <perlinger@@ntp.org>
* [Bug 2420] ntpd doesn't run and exits with retval 0 when invalid user
             is specified with -u <perlinger@@ntp.org>
  - monitor daemon child startup & propagate exit codes
* [Bug 1433] runtime check whether the kernel really supports capabilities
  - (modified) patch by Kurt Roeckx <perlinger@@ntp.org>
* Clean up sntp/networking.c:sendpkt() error message.  <stenn@@ntp.org>
* Provide more detail on unrecognized config file parser tokens. <stenn@@ntp.org>
* Startup log improvements. <stenn@@ntp.org>
* Update the copyright year.
* html/confopt.html: cleanup. <stenn@@ntp.org>

---
(4.2.8p13) 2019/03/07 Released by Harlan Stenn <stenn@@ntp.org>

* [Sec 3565] Crafted null dereference attack in authenticated
	     mode 6 packet <perlinger@@ntp.org>
  - reported by Magnus Stubman
* [Bug 3560] Fix build when HAVE_DROPROOT is not defined <perlinger@@ntp.org>
  - applied patch by Ian Lepore
* [Bug 3558] Crash and integer size bug <perlinger@@ntp.org>
  - isolate and fix linux/windows specific code issue
* [Bug 3556] ntp_loopfilter.c snprintf compilation warnings <perlinger@@ntp.org>
  - provide better function for incremental string formatting
* [Bug 3555] Tidy up print alignment of debug output from ntpdate <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3554] config revoke stores incorrect value <perlinger@@ntp.org>
  - original finding by Gerry Garvey, additional cleanup needed
* [Bug 3549] Spurious initgroups() error message <perlinger@@ntp.org>
  - patch by Christous Zoulas
* [Bug 3548] Signature not verified on windows system <perlinger@@ntp.org>
  - finding by Chen Jiabin, plus another one by me
* [Bug 3541] patch to fix STA_NANO struct timex units <perlinger@@ntp.org>
  - applied patch by Maciej Szmigiero
* [Bug 3540] Cannot set minsane to 0 anymore <perlinger@@ntp.org>
  - applied patch by Andre Charbonneau
* [Bug 3539] work_fork build fails when droproot is not supported <perlinger@@ntp.org>
  - applied patch by Baruch Siach
* [Bug 3538] Build fails for no-MMU targets <perlinger@@ntp.org>
  - applied patch by Baruch Siach
* [Bug 3535] libparse won't handle GPS week rollover <perlinger@@ntp.org>
  - refactored handling of GPS era based on 'tos basedate' for
    parse (TSIP) and JUPITER clocks
* [Bug 3529] Build failures on Mac OS X 10.13 (High Sierra) <perlinger@@ntp.org>
  - patch by Daniel J. Luke; this does not fix a potential linker
    regression issue on MacOS.
* [Bug 3527 - Backward Incompatible] mode7 clockinfo fudgeval2 packet
  anomaly <perlinger@@ntp.org>, reported by GGarvey.
  - --enable-bug3527-fix support by HStenn
* [Bug 3526] Incorrect poll interval in packet <perlinger@@ntp.org>
  - applied patch by Gerry Garvey
* [Bug 3471] Check for openssl/[ch]mac.h.  <perlinger@@ntp.org>
  - added missing check, reported by Reinhard Max <perlinger@@ntp.org>
* [Bug 1674] runtime crashes and sync problems affecting both x86 and x86_64
  - this is a variant of [bug 3558] and should be fixed with it
* Implement --disable-signalled-io
@
text
@d721 1
a721 1
	grep(Names{_} = 1,@@newfiles);
d724 1
a724 1
	    next if defined(Names{_});
d730 1
a730 1
	grep(Names{_} = 1,values(%F_key));
d733 1
a733 1
	    next if defined(Names{_});
d739 1
a739 1
	    next if defined(Names{_});
d745 1
a745 1
	    next if defined(Names{_});
d751 1
a751 1
	    next if defined(Names{_});
d757 1
a757 1
	    next if defined(Names{_});
@


1.1.1.2.10.1
log
@file ntploopwatch was added on branch netbsd-5-1 on 2015-01-07 12:13:30 +0000
@
text
@d1 1667
@


1.1.1.2.10.2
log
@Pullup the following revision (requested by he in ticket #1938):

dist/ntp/COPYRIGHT						delete
dist/ntp/ChangeLog						delete
dist/ntp/CommitLog						delete
dist/ntp/CommitLog-4.1.0					delete
dist/ntp/INSTALL						delete
dist/ntp/Makefile.am						delete
dist/ntp/Makefile.in						delete
dist/ntp/NEWS							delete
dist/ntp/NOTES.y2kfixes						delete
dist/ntp/README							delete
dist/ntp/README.bk						delete
dist/ntp/README.hackers						delete
dist/ntp/README.patches						delete
dist/ntp/README.refclocks					delete
dist/ntp/README.versions					delete
dist/ntp/TODO							delete
dist/ntp/WHERE-TO-START						delete
dist/ntp/aclocal.m4						delete
dist/ntp/bincheck.mf						delete
dist/ntp/bootstrap						delete
dist/ntp/build							delete
dist/ntp/compile						delete
dist/ntp/config.guess						delete
dist/ntp/config.h.in						delete
dist/ntp/config.sub						delete
dist/ntp/configure						delete
dist/ntp/configure.ac						delete
dist/ntp/depcomp						delete
dist/ntp/dot.emacs						delete
dist/ntp/excludes						delete
dist/ntp/flock-build						delete
dist/ntp/install-sh						delete
dist/ntp/ltmain.sh						delete
dist/ntp/missing						delete
dist/ntp/ntp-html2mdoc.pl					delete
dist/ntp/ntp2netbsd						delete
dist/ntp/packageinfo.sh						delete
dist/ntp/readme.y2kfixes					delete
dist/ntp/results.y2kfixes					delete
dist/ntp/version						delete
dist/ntp/version.m4						delete
dist/ntp/ElectricFence/CHANGES					delete
dist/ntp/ElectricFence/COPYING					delete
dist/ntp/ElectricFence/Makefile.am				delete
dist/ntp/ElectricFence/Makefile.in				delete
dist/ntp/ElectricFence/README					delete
dist/ntp/ElectricFence/efence.c					delete
dist/ntp/ElectricFence/efence.h					delete
dist/ntp/ElectricFence/eftest.c					delete
dist/ntp/ElectricFence/libefence.3				delete
dist/ntp/ElectricFence/page.c					delete
dist/ntp/ElectricFence/print.c					delete
dist/ntp/ElectricFence/tstheap.c				delete
dist/ntp/adjtimed/Makefile.am					delete
dist/ntp/adjtimed/Makefile.in					delete
dist/ntp/adjtimed/README					delete
dist/ntp/adjtimed/adjtimed.c					delete
dist/ntp/arlib/COPYING						delete
dist/ntp/arlib/INSTALL						delete
dist/ntp/arlib/Makefile.am					delete
dist/ntp/arlib/Makefile.in					delete
dist/ntp/arlib/README						delete
dist/ntp/arlib/UNSHAR.HDR					delete
dist/ntp/arlib/aclocal.m4					delete
dist/ntp/arlib/arlib.3						delete
dist/ntp/arlib/arlib.c						delete
dist/ntp/arlib/arlib.h						delete
dist/ntp/arlib/arplib.h						delete
dist/ntp/arlib/configure					delete
dist/ntp/arlib/configure.in					delete
dist/ntp/arlib/depcomp						delete
dist/ntp/arlib/install-sh					delete
dist/ntp/arlib/missing						delete
dist/ntp/arlib/sample.c						delete
dist/ntp/clockstuff/Makefile.am					delete
dist/ntp/clockstuff/Makefile.in					delete
dist/ntp/clockstuff/README					delete
dist/ntp/clockstuff/chutest.c					delete
dist/ntp/clockstuff/clktest.c					delete
dist/ntp/clockstuff/propdelay.c					delete
dist/ntp/conf/README						delete
dist/ntp/conf/baldwin.conf					delete
dist/ntp/conf/beauregard.conf					delete
dist/ntp/conf/grundoon.conf					delete
dist/ntp/conf/malarky.conf					delete
dist/ntp/conf/pogo.conf						delete
dist/ntp/conf/rackety.conf					delete
dist/ntp/html/accopt.html					delete
dist/ntp/html/assoc.html					delete
dist/ntp/html/audio.html					delete
dist/ntp/html/authopt.html					delete
dist/ntp/html/clockopt.html					delete
dist/ntp/html/confopt.html					delete
dist/ntp/html/copyright.html					delete
dist/ntp/html/debug.html					delete
dist/ntp/html/extern.html					delete
dist/ntp/html/gadget.html					delete
dist/ntp/html/groups.html					delete
dist/ntp/html/howto.html					delete
dist/ntp/html/index.html					delete
dist/ntp/html/kern.html						delete
dist/ntp/html/keygen.html					delete
dist/ntp/html/ldisc.html					delete
dist/ntp/html/manyopt.html					delete
dist/ntp/html/measure.html					delete
dist/ntp/html/miscopt.html					delete
dist/ntp/html/monopt.html					delete
dist/ntp/html/msyslog.html					delete
dist/ntp/html/mx4200data.html					delete
dist/ntp/html/notes.html					delete
dist/ntp/html/ntp_conf.html					delete
dist/ntp/html/ntpd.html						delete
dist/ntp/html/ntpdate.html					delete
dist/ntp/html/ntpdc.html					delete
dist/ntp/html/ntpdsim.html					delete
dist/ntp/html/ntpdsim_new.html					delete
dist/ntp/html/ntpq.html						delete
dist/ntp/html/ntptime.html					delete
dist/ntp/html/ntptrace.html					delete
dist/ntp/html/parsedata.html					delete
dist/ntp/html/parsenew.html					delete
dist/ntp/html/pps.html						delete
dist/ntp/html/prefer.html					delete
dist/ntp/html/rdebug.html					delete
dist/ntp/html/refclock.html					delete
dist/ntp/html/release.html					delete
dist/ntp/html/sntp.html						delete
dist/ntp/html/tickadj.html					delete
dist/ntp/html/build/build.html					delete
dist/ntp/html/build/config.html					delete
dist/ntp/html/build/hints.html					delete
dist/ntp/html/build/patches.html				delete
dist/ntp/html/build/porting.html				delete
dist/ntp/html/build/quick.html					delete
dist/ntp/html/build/hints/a-ux					delete
dist/ntp/html/build/hints/aix					delete
dist/ntp/html/build/hints/bsdi					delete
dist/ntp/html/build/hints/changes				delete
dist/ntp/html/build/hints/decosf1				delete
dist/ntp/html/build/hints/decosf2				delete
dist/ntp/html/build/hints/freebsd				delete
dist/ntp/html/build/hints/hpux					delete
dist/ntp/html/build/hints/linux					delete
dist/ntp/html/build/hints/mpeix					delete
dist/ntp/html/build/hints/netbsd				delete
dist/ntp/html/build/hints/notes-xntp-v3				delete
dist/ntp/html/build/hints/parse					delete
dist/ntp/html/build/hints/refclocks				delete
dist/ntp/html/build/hints/rs6000				delete
dist/ntp/html/build/hints/sco.html				delete
dist/ntp/html/build/hints/sgi					delete
dist/ntp/html/build/hints/solaris-dosynctodr.html		delete
dist/ntp/html/build/hints/solaris.html				delete
dist/ntp/html/build/hints/solaris.xtra.4023118			delete
dist/ntp/html/build/hints/solaris.xtra.4095849			delete
dist/ntp/html/build/hints/solaris.xtra.S99ntpd			delete
dist/ntp/html/build/hints/solaris.xtra.patchfreq		delete
dist/ntp/html/build/hints/sun4					delete
dist/ntp/html/build/hints/svr4-dell				delete
dist/ntp/html/build/hints/svr4_package				delete
dist/ntp/html/build/hints/todo					delete
dist/ntp/html/build/hints/vxworks.html				delete
dist/ntp/html/build/hints/winnt.html				delete
dist/ntp/html/build/scripts/footer.txt				delete
dist/ntp/html/build/scripts/links10.txt				delete
dist/ntp/html/build/scripts/links11.txt				delete
dist/ntp/html/build/scripts/links12.txt				delete
dist/ntp/html/build/scripts/links7.txt				delete
dist/ntp/html/build/scripts/links8.txt				delete
dist/ntp/html/build/scripts/links9.txt				delete
dist/ntp/html/build/scripts/style.css				delete
dist/ntp/html/drivers/driver1.html				delete
dist/ntp/html/drivers/driver10.html				delete
dist/ntp/html/drivers/driver11.html				delete
dist/ntp/html/drivers/driver12.html				delete
dist/ntp/html/drivers/driver16.html				delete
dist/ntp/html/drivers/driver18.html				delete
dist/ntp/html/drivers/driver19.html				delete
dist/ntp/html/drivers/driver2.html				delete
dist/ntp/html/drivers/driver20.html				delete
dist/ntp/html/drivers/driver22.html				delete
dist/ntp/html/drivers/driver26.html				delete
dist/ntp/html/drivers/driver27.html				delete
dist/ntp/html/drivers/driver28.html				delete
dist/ntp/html/drivers/driver29.html				delete
dist/ntp/html/drivers/driver3.html				delete
dist/ntp/html/drivers/driver30.html				delete
dist/ntp/html/drivers/driver31.html				delete
dist/ntp/html/drivers/driver32.html				delete
dist/ntp/html/drivers/driver33.html				delete
dist/ntp/html/drivers/driver34.html				delete
dist/ntp/html/drivers/driver35.html				delete
dist/ntp/html/drivers/driver36.html				delete
dist/ntp/html/drivers/driver37.html				delete
dist/ntp/html/drivers/driver38.html				delete
dist/ntp/html/drivers/driver39.html				delete
dist/ntp/html/drivers/driver4.html				delete
dist/ntp/html/drivers/driver40.html				delete
dist/ntp/html/drivers/driver42.html				delete
dist/ntp/html/drivers/driver43.html				delete
dist/ntp/html/drivers/driver44.html				delete
dist/ntp/html/drivers/driver5.html				delete
dist/ntp/html/drivers/driver6.html				delete
dist/ntp/html/drivers/driver7.html				delete
dist/ntp/html/drivers/driver8.html				delete
dist/ntp/html/drivers/driver9.html				delete
dist/ntp/html/drivers/oncore-shmem.html				delete
dist/ntp/html/drivers/tf582_4.html				delete
dist/ntp/html/drivers/icons/home.gif				delete
dist/ntp/html/drivers/icons/mail2.gif				delete
dist/ntp/html/drivers/scripts/footer.txt			delete
dist/ntp/html/drivers/scripts/style.css				delete
dist/ntp/html/icons/home.gif					delete
dist/ntp/html/icons/mail2.gif					delete
dist/ntp/html/scripts/footer.txt				delete
dist/ntp/html/scripts/links10.txt				delete
dist/ntp/html/scripts/links11.txt				delete
dist/ntp/html/scripts/links12.txt				delete
dist/ntp/html/scripts/links7.txt				delete
dist/ntp/html/scripts/links8.txt				delete
dist/ntp/html/scripts/links9.txt				delete
dist/ntp/html/scripts/style.css					delete
dist/ntp/include/Makefile.am					delete
dist/ntp/include/Makefile.in					delete
dist/ntp/include/README						delete
dist/ntp/include/adjtime.h					delete
dist/ntp/include/ascii.h					delete
dist/ntp/include/audio.h					delete
dist/ntp/include/autogen-version.def				delete
dist/ntp/include/binio.h					delete
dist/ntp/include/copyright.def					delete
dist/ntp/include/debug-opt.def					delete
dist/ntp/include/global.h					delete
dist/ntp/include/gps.h						delete
dist/ntp/include/homerc.def					delete
dist/ntp/include/hopf6039.h					delete
dist/ntp/include/icom.h						delete
dist/ntp/include/ieee754io.h					delete
dist/ntp/include/iosignal.h					delete
dist/ntp/include/l_stdlib.h					delete
dist/ntp/include/mbg_gps166.h					delete
dist/ntp/include/mx4200.h					delete
dist/ntp/include/ntif.h						delete
dist/ntp/include/ntp.h						delete
dist/ntp/include/ntp_calendar.h					delete
dist/ntp/include/ntp_cmdargs.h					delete
dist/ntp/include/ntp_config.h					delete
dist/ntp/include/ntp_control.h					delete
dist/ntp/include/ntp_crypto.h					delete
dist/ntp/include/ntp_datum.h					delete
dist/ntp/include/ntp_debug.h					delete
dist/ntp/include/ntp_filegen.h					delete
dist/ntp/include/ntp_fp.h					delete
dist/ntp/include/ntp_if.h					delete
dist/ntp/include/ntp_io.h					delete
dist/ntp/include/ntp_machine.h					delete
dist/ntp/include/ntp_malloc.h					delete
dist/ntp/include/ntp_md5.h					delete
dist/ntp/include/ntp_proto.h					delete
dist/ntp/include/ntp_random.h					delete
dist/ntp/include/ntp_refclock.h					delete
dist/ntp/include/ntp_request.h					delete
dist/ntp/include/ntp_rfc2553.h					delete
dist/ntp/include/ntp_select.h					delete
dist/ntp/include/ntp_sprintf.h					delete
dist/ntp/include/ntp_stdlib.h					delete
dist/ntp/include/ntp_string.h					delete
dist/ntp/include/ntp_syscall.h					delete
dist/ntp/include/ntp_syslog.h					delete
dist/ntp/include/ntp_tty.h					delete
dist/ntp/include/ntp_types.h					delete
dist/ntp/include/ntp_unixtime.h					delete
dist/ntp/include/ntpd.h						delete
dist/ntp/include/ntpsim.h					delete
dist/ntp/include/parse.h					delete
dist/ntp/include/parse_conf.h					delete
dist/ntp/include/recvbuff.h					delete
dist/ntp/include/rsa_md5.h					delete
dist/ntp/include/timepps-SCO.h					delete
dist/ntp/include/timepps-Solaris.h				delete
dist/ntp/include/timepps-SunOS.h				delete
dist/ntp/include/trimble.h					delete
dist/ntp/include/version.def					delete
dist/ntp/include/isc/Makefile.am				delete
dist/ntp/include/isc/Makefile.in				delete
dist/ntp/include/isc/app.h					delete
dist/ntp/include/isc/assertions.h				delete
dist/ntp/include/isc/boolean.h					delete
dist/ntp/include/isc/buffer.h					delete
dist/ntp/include/isc/error.h					delete
dist/ntp/include/isc/formatcheck.h				delete
dist/ntp/include/isc/int.h					delete
dist/ntp/include/isc/interfaceiter.h				delete
dist/ntp/include/isc/ipv6.h					delete
dist/ntp/include/isc/lang.h					delete
dist/ntp/include/isc/lib.h					delete
dist/ntp/include/isc/list.h					delete
dist/ntp/include/isc/magic.h					delete
dist/ntp/include/isc/mem.h					delete
dist/ntp/include/isc/msgcat.h					delete
dist/ntp/include/isc/msgs.h					delete
dist/ntp/include/isc/mutex.h					delete
dist/ntp/include/isc/net.h					delete
dist/ntp/include/isc/netaddr.h					delete
dist/ntp/include/isc/netscope.h					delete
dist/ntp/include/isc/offset.h					delete
dist/ntp/include/isc/once.h					delete
dist/ntp/include/isc/platform.h					delete
dist/ntp/include/isc/print.h					delete
dist/ntp/include/isc/region.h					delete
dist/ntp/include/isc/result.h					delete
dist/ntp/include/isc/sockaddr.h					delete
dist/ntp/include/isc/strerror.h					delete
dist/ntp/include/isc/string.h					delete
dist/ntp/include/isc/types.h					delete
dist/ntp/include/isc/util.h					delete
dist/ntp/kernel/Makefile.am					delete
dist/ntp/kernel/Makefile.in					delete
dist/ntp/kernel/README						delete
dist/ntp/kernel/chuinit.c					delete
dist/ntp/kernel/clkinit.c					delete
dist/ntp/kernel/tty_chu.c					delete
dist/ntp/kernel/tty_chu_STREAMS.c				delete
dist/ntp/kernel/tty_clk.c					delete
dist/ntp/kernel/tty_clk_STREAMS.c				delete
dist/ntp/kernel/sys/Makefile.am					delete
dist/ntp/kernel/sys/Makefile.in					delete
dist/ntp/kernel/sys/README					delete
dist/ntp/kernel/sys/bsd_audioirig.h				delete
dist/ntp/kernel/sys/chudefs.h					delete
dist/ntp/kernel/sys/clkdefs.h					delete
dist/ntp/kernel/sys/i8253.h					delete
dist/ntp/kernel/sys/parsestreams.h				delete
dist/ntp/kernel/sys/pcl720.h					delete
dist/ntp/kernel/sys/ppsclock.h					delete
dist/ntp/kernel/sys/timex.h					delete
dist/ntp/kernel/sys/tpro.h					delete
dist/ntp/kernel/sys/tt560_api.h					delete
dist/ntp/libisc/assertions.c					delete
dist/ntp/libisc/error.c						delete
dist/ntp/libisc/ifiter_getifaddrs.c				delete
dist/ntp/libisc/ifiter_ioctl.c					delete
dist/ntp/libisc/ifiter_sysctl.c					delete
dist/ntp/libisc/inet_aton.c					delete
dist/ntp/libisc/inet_ntop.c					delete
dist/ntp/libisc/inet_pton.c					delete
dist/ntp/libisc/interfaceiter.c					delete
dist/ntp/libisc/isc_strerror.c					delete
dist/ntp/libisc/lib.c						delete
dist/ntp/libisc/mem.c						delete
dist/ntp/libisc/msgcat.c					delete
dist/ntp/libisc/net.c						delete
dist/ntp/libisc/netaddr.c					delete
dist/ntp/libisc/netscope.c					delete
dist/ntp/libisc/sockaddr.c					delete
dist/ntp/libisc/strerror.c					delete
dist/ntp/libntp/Makefile.am					delete
dist/ntp/libntp/Makefile.in					delete
dist/ntp/libntp/README						delete
dist/ntp/libntp/a_md5encrypt.c					delete
dist/ntp/libntp/adjtime.c					delete
dist/ntp/libntp/adjtimex.c					delete
dist/ntp/libntp/atoint.c					delete
dist/ntp/libntp/atolfp.c					delete
dist/ntp/libntp/atouint.c					delete
dist/ntp/libntp/audio.c						delete
dist/ntp/libntp/authkeys.c					delete
dist/ntp/libntp/authreadkeys.c					delete
dist/ntp/libntp/authusekey.c					delete
dist/ntp/libntp/buftvtots.c					delete
dist/ntp/libntp/caljulian.c					delete
dist/ntp/libntp/caltontp.c					delete
dist/ntp/libntp/calyearstart.c					delete
dist/ntp/libntp/clocktime.c					delete
dist/ntp/libntp/clocktypes.c					delete
dist/ntp/libntp/decodenetnum.c					delete
dist/ntp/libntp/dofptoa.c					delete
dist/ntp/libntp/dolfptoa.c					delete
dist/ntp/libntp/emalloc.c					delete
dist/ntp/libntp/findconfig.c					delete
dist/ntp/libntp/fptoa.c						delete
dist/ntp/libntp/fptoms.c					delete
dist/ntp/libntp/getopt.c					delete
dist/ntp/libntp/hextoint.c					delete
dist/ntp/libntp/hextolfp.c					delete
dist/ntp/libntp/humandate.c					delete
dist/ntp/libntp/icom.c						delete
dist/ntp/libntp/inttoa.c					delete
dist/ntp/libntp/iosignal.c					delete
dist/ntp/libntp/lib_strbuf.c					delete
dist/ntp/libntp/lib_strbuf.h					delete
dist/ntp/libntp/machines.c					delete
dist/ntp/libntp/md5c.c						delete
dist/ntp/libntp/memmove.c					delete
dist/ntp/libntp/mfptoa.c					delete
dist/ntp/libntp/mfptoms.c					delete
dist/ntp/libntp/mktime.c					delete
dist/ntp/libntp/modetoa.c					delete
dist/ntp/libntp/mstolfp.c					delete
dist/ntp/libntp/msutotsf.c					delete
dist/ntp/libntp/msyslog.c					delete
dist/ntp/libntp/netof.c						delete
dist/ntp/libntp/ntp_random.c					delete
dist/ntp/libntp/ntp_rfc2553.c					delete
dist/ntp/libntp/numtoa.c					delete
dist/ntp/libntp/numtohost.c					delete
dist/ntp/libntp/octtoint.c					delete
dist/ntp/libntp/prettydate.c					delete
dist/ntp/libntp/recvbuff.c					delete
dist/ntp/libntp/refnumtoa.c					delete
dist/ntp/libntp/snprintf.c					delete
dist/ntp/libntp/socktoa.c					delete
dist/ntp/libntp/socktohost.c					delete
dist/ntp/libntp/statestr.c					delete
dist/ntp/libntp/strdup.c					delete
dist/ntp/libntp/strerror.c					delete
dist/ntp/libntp/strstr.c					delete
dist/ntp/libntp/syssignal.c					delete
dist/ntp/libntp/systime.c					delete
dist/ntp/libntp/systime_s.c					delete
dist/ntp/libntp/tsftomsu.c					delete
dist/ntp/libntp/tstotv.c					delete
dist/ntp/libntp/tvtoa.c						delete
dist/ntp/libntp/tvtots.c					delete
dist/ntp/libntp/uglydate.c					delete
dist/ntp/libntp/uinttoa.c					delete
dist/ntp/libntp/utvtoa.c					delete
dist/ntp/libntp/ymd2yd.c					delete
dist/ntp/libopts/COPYING.lgpl					delete
dist/ntp/libopts/COPYING.mbsd					delete
dist/ntp/libopts/MakeDefs.inc					delete
dist/ntp/libopts/Makefile.am					delete
dist/ntp/libopts/Makefile.in					delete
dist/ntp/libopts/README						delete
dist/ntp/libopts/autoopts.c					delete
dist/ntp/libopts/autoopts.h					delete
dist/ntp/libopts/boolean.c					delete
dist/ntp/libopts/configfile.c					delete
dist/ntp/libopts/cook.c						delete
dist/ntp/libopts/enumeration.c					delete
dist/ntp/libopts/environment.c					delete
dist/ntp/libopts/genshell.c					delete
dist/ntp/libopts/genshell.h					delete
dist/ntp/libopts/libopts.c					delete
dist/ntp/libopts/load.c						delete
dist/ntp/libopts/makeshell.c					delete
dist/ntp/libopts/nested.c					delete
dist/ntp/libopts/numeric.c					delete
dist/ntp/libopts/pgusage.c					delete
dist/ntp/libopts/proto.h					delete
dist/ntp/libopts/putshell.c					delete
dist/ntp/libopts/restore.c					delete
dist/ntp/libopts/save.c						delete
dist/ntp/libopts/sort.c						delete
dist/ntp/libopts/stack.c					delete
dist/ntp/libopts/streqvcmp.c					delete
dist/ntp/libopts/text_mmap.c					delete
dist/ntp/libopts/tokenize.c					delete
dist/ntp/libopts/usage.c					delete
dist/ntp/libopts/version.c					delete
dist/ntp/libopts/autoopts/options.h				delete
dist/ntp/libopts/autoopts/usage-txt.h				delete
dist/ntp/libopts/compat/compat.h				delete
dist/ntp/libopts/compat/pathfind.c				delete
dist/ntp/libopts/compat/snprintf.c				delete
dist/ntp/libopts/compat/strchr.c				delete
dist/ntp/libopts/compat/strdup.c				delete
dist/ntp/libopts/compat/windows-config.h			delete
dist/ntp/libopts/m4/libopts.m4					delete
dist/ntp/libopts/m4/liboptschk.m4				delete
dist/ntp/libparse/Makefile.am					delete
dist/ntp/libparse/Makefile.in					delete
dist/ntp/libparse/README					delete
dist/ntp/libparse/binio.c					delete
dist/ntp/libparse/clk_computime.c				delete
dist/ntp/libparse/clk_dcf7000.c					delete
dist/ntp/libparse/clk_hopf6021.c				delete
dist/ntp/libparse/clk_meinberg.c				delete
dist/ntp/libparse/clk_rawdcf.c					delete
dist/ntp/libparse/clk_rcc8000.c					delete
dist/ntp/libparse/clk_schmid.c					delete
dist/ntp/libparse/clk_trimtaip.c				delete
dist/ntp/libparse/clk_trimtsip.c				delete
dist/ntp/libparse/clk_varitext.c				delete
dist/ntp/libparse/clk_wharton.c					delete
dist/ntp/libparse/data_mbg.c					delete
dist/ntp/libparse/gpstolfp.c					delete
dist/ntp/libparse/ieee754io.c					delete
dist/ntp/libparse/info_trimble.c				delete
dist/ntp/libparse/mfp_mul.c					delete
dist/ntp/libparse/mkinfo_rcmd.sed				delete
dist/ntp/libparse/mkinfo_scmd.sed				delete
dist/ntp/libparse/parse.c					delete
dist/ntp/libparse/parse_conf.c					delete
dist/ntp/libparse/parsesolaris.c				delete
dist/ntp/libparse/parsestreams.c				delete
dist/ntp/libparse/trim_info.c					delete
dist/ntp/m4/define_dir.m4					delete
dist/ntp/m4/hs_ulong_const.m4					delete
dist/ntp/m4/os_cflags.m4					delete
dist/ntp/ntpd/Makefile.am					delete
dist/ntp/ntpd/Makefile.in					delete
dist/ntp/ntpd/check_y2k.c					delete
dist/ntp/ntpd/cmd_args.c					delete
dist/ntp/ntpd/jupiter.h						delete
dist/ntp/ntpd/ntp_config.c					delete
dist/ntp/ntpd/ntp_control.c					delete
dist/ntp/ntpd/ntp_crypto.c					delete
dist/ntp/ntpd/ntp_filegen.c					delete
dist/ntp/ntpd/ntp_intres.c					delete
dist/ntp/ntpd/ntp_io.c						delete
dist/ntp/ntpd/ntp_loopfilter.c					delete
dist/ntp/ntpd/ntp_monitor.c					delete
dist/ntp/ntpd/ntp_peer.c					delete
dist/ntp/ntpd/ntp_proto.c					delete
dist/ntp/ntpd/ntp_refclock.c					delete
dist/ntp/ntpd/ntp_request.c					delete
dist/ntp/ntpd/ntp_restrict.c					delete
dist/ntp/ntpd/ntp_timer.c					delete
dist/ntp/ntpd/ntp_util.c					delete
dist/ntp/ntpd/ntpd-opts.c					delete
dist/ntp/ntpd/ntpd-opts.def					delete
dist/ntp/ntpd/ntpd-opts.h					delete
dist/ntp/ntpd/ntpd-opts.menu					delete
dist/ntp/ntpd/ntpd-opts.texi					delete
dist/ntp/ntpd/ntpd.1						delete
dist/ntp/ntpd/ntpd.c						delete
dist/ntp/ntpd/ntpdbase-opts.def					delete
dist/ntp/ntpd/ntpdsim-opts.c					delete
dist/ntp/ntpd/ntpdsim-opts.def					delete
dist/ntp/ntpd/ntpdsim-opts.h					delete
dist/ntp/ntpd/ntpdsim-opts.menu					delete
dist/ntp/ntpd/ntpdsim-opts.texi					delete
dist/ntp/ntpd/ntpdsim.1						delete
dist/ntp/ntpd/ntpsim.c						delete
dist/ntp/ntpd/ppsapi_timepps.h					delete
dist/ntp/ntpd/refclock_acts.c					delete
dist/ntp/ntpd/refclock_arbiter.c				delete
dist/ntp/ntpd/refclock_arc.c					delete
dist/ntp/ntpd/refclock_as2201.c					delete
dist/ntp/ntpd/refclock_atom.c					delete
dist/ntp/ntpd/refclock_bancomm.c				delete
dist/ntp/ntpd/refclock_chronolog.c				delete
dist/ntp/ntpd/refclock_chu.c					delete
dist/ntp/ntpd/refclock_conf.c					delete
dist/ntp/ntpd/refclock_datum.c					delete
dist/ntp/ntpd/refclock_dumbclock.c				delete
dist/ntp/ntpd/refclock_fg.c					delete
dist/ntp/ntpd/refclock_gpsvme.c					delete
dist/ntp/ntpd/refclock_heath.c					delete
dist/ntp/ntpd/refclock_hopfpci.c				delete
dist/ntp/ntpd/refclock_hopfser.c				delete
dist/ntp/ntpd/refclock_hpgps.c					delete
dist/ntp/ntpd/refclock_irig.c					delete
dist/ntp/ntpd/refclock_jjy.c					delete
dist/ntp/ntpd/refclock_jupiter.c				delete
dist/ntp/ntpd/refclock_leitch.c					delete
dist/ntp/ntpd/refclock_local.c					delete
dist/ntp/ntpd/refclock_msfees.c					delete
dist/ntp/ntpd/refclock_mx4200.c					delete
dist/ntp/ntpd/refclock_neoclock4x.c				delete
dist/ntp/ntpd/refclock_nmea.c					delete
dist/ntp/ntpd/refclock_oncore.c					delete
dist/ntp/ntpd/refclock_palisade.c				delete
dist/ntp/ntpd/refclock_palisade.h				delete
dist/ntp/ntpd/refclock_parse.c					delete
dist/ntp/ntpd/refclock_pcf.c					delete
dist/ntp/ntpd/refclock_pst.c					delete
dist/ntp/ntpd/refclock_ripencc.c				delete
dist/ntp/ntpd/refclock_shm.c					delete
dist/ntp/ntpd/refclock_tpro.c					delete
dist/ntp/ntpd/refclock_trak.c					delete
dist/ntp/ntpd/refclock_true.c					delete
dist/ntp/ntpd/refclock_tt560.c					delete
dist/ntp/ntpd/refclock_ulink.c					delete
dist/ntp/ntpd/refclock_wwv.c					delete
dist/ntp/ntpd/refclock_wwvb.c					delete
dist/ntp/ntpd/refclock_zyfer.c					delete
dist/ntp/ntpdate/Makefile.am					delete
dist/ntp/ntpdate/Makefile.in					delete
dist/ntp/ntpdate/README						delete
dist/ntp/ntpdate/ntpdate.c					delete
dist/ntp/ntpdate/ntpdate.h					delete
dist/ntp/ntpdate/ntptime_config.c				delete
dist/ntp/ntpdate/ntptimeset.c					delete
dist/ntp/ntpdc/Makefile.am					delete
dist/ntp/ntpdc/Makefile.in					delete
dist/ntp/ntpdc/README						delete
dist/ntp/ntpdc/layout.std					delete
dist/ntp/ntpdc/nl.pl						delete
dist/ntp/ntpdc/nl.pl.in						delete
dist/ntp/ntpdc/nl_in.c						delete
dist/ntp/ntpdc/ntpdc-layout.c					delete
dist/ntp/ntpdc/ntpdc-opts.c					delete
dist/ntp/ntpdc/ntpdc-opts.def					delete
dist/ntp/ntpdc/ntpdc-opts.h					delete
dist/ntp/ntpdc/ntpdc-opts.menu					delete
dist/ntp/ntpdc/ntpdc-opts.texi					delete
dist/ntp/ntpdc/ntpdc.1						delete
dist/ntp/ntpdc/ntpdc.c						delete
dist/ntp/ntpdc/ntpdc.h						delete
dist/ntp/ntpdc/ntpdc_ops.c					delete
dist/ntp/ntpq/Makefile.am					delete
dist/ntp/ntpq/Makefile.in					delete
dist/ntp/ntpq/README						delete
dist/ntp/ntpq/ntpq-opts.c					delete
dist/ntp/ntpq/ntpq-opts.def					delete
dist/ntp/ntpq/ntpq-opts.h					delete
dist/ntp/ntpq/ntpq-opts.menu					delete
dist/ntp/ntpq/ntpq-opts.texi					delete
dist/ntp/ntpq/ntpq-subs.c					delete
dist/ntp/ntpq/ntpq.1						delete
dist/ntp/ntpq/ntpq.c						delete
dist/ntp/ntpq/ntpq.h						delete
dist/ntp/parseutil/Makefile.am					delete
dist/ntp/parseutil/Makefile.in					delete
dist/ntp/parseutil/README					delete
dist/ntp/parseutil/dcfd.c					delete
dist/ntp/parseutil/testdcf.c					delete
dist/ntp/scripts/Makefile.am					delete
dist/ntp/scripts/Makefile.in					delete
dist/ntp/scripts/README						delete
dist/ntp/scripts/VersionName					delete
dist/ntp/scripts/calc_tickadj.in				delete
dist/ntp/scripts/checktime.in					delete
dist/ntp/scripts/fixautomakedepsmagic				delete
dist/ntp/scripts/freq_adj.in					delete
dist/ntp/scripts/genCommitLog					delete
dist/ntp/scripts/genver						delete
dist/ntp/scripts/hpadjtime.sh					delete
dist/ntp/scripts/html2man.in					delete
dist/ntp/scripts/mkver.in					delete
dist/ntp/scripts/ntp-close					delete
dist/ntp/scripts/ntp-groper					delete
dist/ntp/scripts/ntp-restart					delete
dist/ntp/scripts/ntp-status					delete
dist/ntp/scripts/ntp-wait.in					delete
dist/ntp/scripts/ntpsweep.in					delete
dist/ntp/scripts/ntptrace.in					delete
dist/ntp/scripts/ntpver.in					delete
dist/ntp/scripts/plot_summary.in				delete
dist/ntp/scripts/summary.in					delete
dist/ntp/scripts/monitoring/README				delete
dist/ntp/scripts/monitoring/loopwatch.config.SAMPLE		delete
dist/ntp/scripts/monitoring/lr.pl				delete
dist/ntp/scripts/monitoring/ntp.pl				delete
dist/ntp/scripts/monitoring/ntploopstat				delete
dist/ntp/scripts/monitoring/ntploopwatch			delete
dist/ntp/scripts/monitoring/ntptrap				delete
dist/ntp/scripts/monitoring/timelocal.pl			delete
dist/ntp/scripts/rc1/postinstall				delete
dist/ntp/scripts/rc1/preinstall					delete
dist/ntp/scripts/rc1/preremove					delete
dist/ntp/scripts/rc1/prototype					delete
dist/ntp/scripts/rc1/xntp					delete
dist/ntp/scripts/rc2/local.ntpd					delete
dist/ntp/scripts/stats/README					delete
dist/ntp/scripts/stats/README.stats				delete
dist/ntp/scripts/stats/README.timecodes				delete
dist/ntp/scripts/stats/clock.awk				delete
dist/ntp/scripts/stats/dupe.awk					delete
dist/ntp/scripts/stats/ensemble.S				delete
dist/ntp/scripts/stats/ensemble.awk				delete
dist/ntp/scripts/stats/etf.S					delete
dist/ntp/scripts/stats/etf.awk					delete
dist/ntp/scripts/stats/itf.S					delete
dist/ntp/scripts/stats/itf.awk					delete
dist/ntp/scripts/stats/loop.S					delete
dist/ntp/scripts/stats/loop.awk					delete
dist/ntp/scripts/stats/loop_summary				delete
dist/ntp/scripts/stats/peer.awk					delete
dist/ntp/scripts/stats/psummary.awk				delete
dist/ntp/scripts/stats/summary.sh				delete
dist/ntp/scripts/stats/tdata.S					delete
dist/ntp/scripts/stats/tdata.awk				delete
dist/ntp/sntp/COPYRIGHT						delete
dist/ntp/sntp/Makefile.am					delete
dist/ntp/sntp/Makefile.in					delete
dist/ntp/sntp/README						delete
dist/ntp/sntp/aclocal.m4					delete
dist/ntp/sntp/autogen-version.def				delete
dist/ntp/sntp/bincheck.mf					delete
dist/ntp/sntp/compile						delete
dist/ntp/sntp/config.guess					delete
dist/ntp/sntp/config.h.in					delete
dist/ntp/sntp/config.sub					delete
dist/ntp/sntp/configure						delete
dist/ntp/sntp/configure.ac					delete
dist/ntp/sntp/depcomp						delete
dist/ntp/sntp/header.h						delete
dist/ntp/sntp/install-sh					delete
dist/ntp/sntp/internet.c					delete
dist/ntp/sntp/internet.h					delete
dist/ntp/sntp/kludges.h						delete
dist/ntp/sntp/ltmain.sh						delete
dist/ntp/sntp/main.c						delete
dist/ntp/sntp/missing						delete
dist/ntp/sntp/sntp-opts.c					delete
dist/ntp/sntp/sntp-opts.def					delete
dist/ntp/sntp/sntp-opts.h					delete
dist/ntp/sntp/sntp-opts.menu					delete
dist/ntp/sntp/sntp-opts.texi					delete
dist/ntp/sntp/sntp.1						delete
dist/ntp/sntp/socket.c						delete
dist/ntp/sntp/timing.c						delete
dist/ntp/sntp/unix.c						delete
dist/ntp/sntp/version.def					delete
dist/ntp/sntp/libopts/COPYING.lgpl				delete
dist/ntp/sntp/libopts/COPYING.mbsd				delete
dist/ntp/sntp/libopts/MakeDefs.inc				delete
dist/ntp/sntp/libopts/Makefile.am				delete
dist/ntp/sntp/libopts/Makefile.in				delete
dist/ntp/sntp/libopts/README					delete
dist/ntp/sntp/libopts/autoopts.c				delete
dist/ntp/sntp/libopts/autoopts.h				delete
dist/ntp/sntp/libopts/boolean.c					delete
dist/ntp/sntp/libopts/configfile.c				delete
dist/ntp/sntp/libopts/cook.c					delete
dist/ntp/sntp/libopts/enumeration.c				delete
dist/ntp/sntp/libopts/environment.c				delete
dist/ntp/sntp/libopts/genshell.c				delete
dist/ntp/sntp/libopts/genshell.h				delete
dist/ntp/sntp/libopts/libopts.c					delete
dist/ntp/sntp/libopts/load.c					delete
dist/ntp/sntp/libopts/makeshell.c				delete
dist/ntp/sntp/libopts/nested.c					delete
dist/ntp/sntp/libopts/numeric.c					delete
dist/ntp/sntp/libopts/pgusage.c					delete
dist/ntp/sntp/libopts/proto.h					delete
dist/ntp/sntp/libopts/putshell.c				delete
dist/ntp/sntp/libopts/restore.c					delete
dist/ntp/sntp/libopts/save.c					delete
dist/ntp/sntp/libopts/sort.c					delete
dist/ntp/sntp/libopts/stack.c					delete
dist/ntp/sntp/libopts/streqvcmp.c				delete
dist/ntp/sntp/libopts/text_mmap.c				delete
dist/ntp/sntp/libopts/tokenize.c				delete
dist/ntp/sntp/libopts/usage.c					delete
dist/ntp/sntp/libopts/version.c					delete
dist/ntp/sntp/libopts/autoopts/options.h			delete
dist/ntp/sntp/libopts/autoopts/usage-txt.h			delete
dist/ntp/sntp/libopts/compat/compat.h				delete
dist/ntp/sntp/libopts/compat/pathfind.c				delete
dist/ntp/sntp/libopts/compat/snprintf.c				delete
dist/ntp/sntp/libopts/compat/strchr.c				delete
dist/ntp/sntp/libopts/compat/strdup.c				delete
dist/ntp/sntp/libopts/compat/windows-config.h			delete
dist/ntp/sntp/libopts/m4/libopts.m4				delete
dist/ntp/sntp/libopts/m4/liboptschk.m4				delete
dist/ntp/util/Makefile.am					delete
dist/ntp/util/Makefile.in					delete
dist/ntp/util/README						delete
dist/ntp/util/ansi2knr.1					delete
dist/ntp/util/ansi2knr.c					delete
dist/ntp/util/audio-pcm.c					delete
dist/ntp/util/byteorder.c					delete
dist/ntp/util/hist.c						delete
dist/ntp/util/jitter.c						delete
dist/ntp/util/jitter.h						delete
dist/ntp/util/kern.c						delete
dist/ntp/util/longsize.c					delete
dist/ntp/util/ntp-keygen-opts.c					delete
dist/ntp/util/ntp-keygen-opts.def				delete
dist/ntp/util/ntp-keygen-opts.h					delete
dist/ntp/util/ntp-keygen-opts.menu				delete
dist/ntp/util/ntp-keygen-opts.texi				delete
dist/ntp/util/ntp-keygen.1					delete
dist/ntp/util/ntp-keygen.c					delete
dist/ntp/util/ntptime.c						delete
dist/ntp/util/pps-api.c						delete
dist/ntp/util/precision.c					delete
dist/ntp/util/sht.c						delete
dist/ntp/util/testrs6000.c					delete
dist/ntp/util/tg.c						delete
dist/ntp/util/tickadj.c						delete
dist/ntp/util/timetrim.c					delete
distrib/sets/lists/man/mi					patch
distrib/sets/lists/misc/mi					patch
external/bsd/Makefile						patch
external/bsd/ntp/Makefile					new
external/bsd/ntp/Makefile.inc					new
external/bsd/ntp/importdate					new
external/bsd/ntp/ntp2netbsd					new
external/bsd/ntp/bin/Makefile					new
external/bsd/ntp/bin/Makefile.inc				new
external/bsd/ntp/bin/ntp-keygen/Makefile			new
external/bsd/ntp/bin/ntp-keygen/ntp-keygen.8			new
external/bsd/ntp/bin/ntpd/Makefile				new
external/bsd/ntp/bin/ntpd/ntp.conf.5				new
external/bsd/ntp/bin/ntpd/ntp.keys.5				new
external/bsd/ntp/bin/ntpd/ntpd.8				new
external/bsd/ntp/bin/ntpdate/Makefile				new
external/bsd/ntp/bin/ntpdate/ntpdate.8				new
external/bsd/ntp/bin/ntpdc/Makefile				new
external/bsd/ntp/bin/ntpdc/ntpdc.8				new
external/bsd/ntp/bin/ntpq/Makefile				new
external/bsd/ntp/bin/ntpq/ntpq.8				new
external/bsd/ntp/bin/ntptime/Makefile				new
external/bsd/ntp/bin/ntptime/ntptime.8				new
external/bsd/ntp/bin/ntptrace/Makefile				new
external/bsd/ntp/bin/ntptrace/ntptrace.8			new
external/bsd/ntp/bin/ntptrace/ntptrace.awk			new
external/bsd/ntp/bin/sntp/Makefile				new
external/bsd/ntp/bin/sntp/sntp.1				new
external/bsd/ntp/dist/COPYRIGHT					new
external/bsd/ntp/dist/ChangeLog					new
external/bsd/ntp/dist/CommitLog					new
external/bsd/ntp/dist/CommitLog-4.1.0				new
external/bsd/ntp/dist/INSTALL					new
external/bsd/ntp/dist/Makefile.am				new
external/bsd/ntp/dist/Makefile.in				new
external/bsd/ntp/dist/NEWS					new
external/bsd/ntp/dist/NOTES.y2kfixes				new
external/bsd/ntp/dist/README					new
external/bsd/ntp/dist/README.bk					new
external/bsd/ntp/dist/README.hackers				new
external/bsd/ntp/dist/README.patches				new
external/bsd/ntp/dist/README.refclocks				new
external/bsd/ntp/dist/README.versions				new
external/bsd/ntp/dist/TODO					new
external/bsd/ntp/dist/WHERE-TO-START				new
external/bsd/ntp/dist/aclocal.m4				new
external/bsd/ntp/dist/bincheck.mf				new
external/bsd/ntp/dist/bootstrap					new
external/bsd/ntp/dist/build					new
external/bsd/ntp/dist/check-libopts.mf				new
external/bsd/ntp/dist/config.h.in				new
external/bsd/ntp/dist/configure					new
external/bsd/ntp/dist/configure.ac				new
external/bsd/ntp/dist/deps-ver					new
external/bsd/ntp/dist/depsver.mf				new
external/bsd/ntp/dist/dot.emacs					new
external/bsd/ntp/dist/flock-build				new
external/bsd/ntp/dist/includes.mf				new
external/bsd/ntp/dist/install-sh				new
external/bsd/ntp/dist/packageinfo.sh				new
external/bsd/ntp/dist/readme.y2kfixes				new
external/bsd/ntp/dist/results.y2kfixes				new
external/bsd/ntp/dist/adjtimed/Makefile.am			new
external/bsd/ntp/dist/adjtimed/Makefile.in			new
external/bsd/ntp/dist/adjtimed/README				new
external/bsd/ntp/dist/adjtimed/adjtimed.c			new
external/bsd/ntp/dist/clockstuff/Makefile.am			new
external/bsd/ntp/dist/clockstuff/Makefile.in			new
external/bsd/ntp/dist/clockstuff/README				new
external/bsd/ntp/dist/clockstuff/chutest.c			new
external/bsd/ntp/dist/clockstuff/propdelay.c			new
external/bsd/ntp/dist/conf/README				new
external/bsd/ntp/dist/conf/baldwin.conf				new
external/bsd/ntp/dist/conf/beauregard.conf			new
external/bsd/ntp/dist/conf/grundoon.conf			new
external/bsd/ntp/dist/conf/malarky.conf				new
external/bsd/ntp/dist/conf/pogo.conf				new
external/bsd/ntp/dist/conf/rackety.conf				new
external/bsd/ntp/dist/html/access.html				new
external/bsd/ntp/dist/html/accopt.html				new
external/bsd/ntp/dist/html/assoc.html				new
external/bsd/ntp/dist/html/audio.html				new
external/bsd/ntp/dist/html/authentic.html			new
external/bsd/ntp/dist/html/authopt.html				new
external/bsd/ntp/dist/html/autokey.html				new
external/bsd/ntp/dist/html/bugs.html				new
external/bsd/ntp/dist/html/build.html				new
external/bsd/ntp/dist/html/clock.html				new
external/bsd/ntp/dist/html/clockopt.html			new
external/bsd/ntp/dist/html/cluster.html				new
external/bsd/ntp/dist/html/comdex.html				new
external/bsd/ntp/dist/html/config.html				new
external/bsd/ntp/dist/html/confopt.html				new
external/bsd/ntp/dist/html/copyright.html			new
external/bsd/ntp/dist/html/debug.html				new
external/bsd/ntp/dist/html/decode.html				new
external/bsd/ntp/dist/html/discipline.html			new
external/bsd/ntp/dist/html/discover.html			new
external/bsd/ntp/dist/html/extern.html				new
external/bsd/ntp/dist/html/filter.html				new
external/bsd/ntp/dist/html/hints.html				new
external/bsd/ntp/dist/html/history.html				new
external/bsd/ntp/dist/html/howto.html				new
external/bsd/ntp/dist/html/huffpuff.html			new
external/bsd/ntp/dist/html/index.html				new
external/bsd/ntp/dist/html/kern.html				new
external/bsd/ntp/dist/html/kernpps.html				new
external/bsd/ntp/dist/html/keygen.html				new
external/bsd/ntp/dist/html/leap.html				new
external/bsd/ntp/dist/html/miscopt.html				new
external/bsd/ntp/dist/html/monopt.html				new
external/bsd/ntp/dist/html/msyslog.html				new
external/bsd/ntp/dist/html/ntp-wait.html			new
external/bsd/ntp/dist/html/ntp_conf.html			new
external/bsd/ntp/dist/html/ntpd.html				new
external/bsd/ntp/dist/html/ntpdate.html				new
external/bsd/ntp/dist/html/ntpdc.html				new
external/bsd/ntp/dist/html/ntpdsim.html				new
external/bsd/ntp/dist/html/ntpdsim_new.html			new
external/bsd/ntp/dist/html/ntpq.html				new
external/bsd/ntp/dist/html/ntptime.html				new
external/bsd/ntp/dist/html/ntptrace.html			new
external/bsd/ntp/dist/html/orphan.html				new
external/bsd/ntp/dist/html/parsedata.html			new
external/bsd/ntp/dist/html/parsenew.html			new
external/bsd/ntp/dist/html/poll.html				new
external/bsd/ntp/dist/html/pps.html				new
external/bsd/ntp/dist/html/prefer.html				new
external/bsd/ntp/dist/html/quick.html				new
external/bsd/ntp/dist/html/rate.html				new
external/bsd/ntp/dist/html/rdebug.html				new
external/bsd/ntp/dist/html/refclock.html			new
external/bsd/ntp/dist/html/release.html				new
external/bsd/ntp/dist/html/select.html				new
external/bsd/ntp/dist/html/sitemap.html				new
external/bsd/ntp/dist/html/sntp.html				new
external/bsd/ntp/dist/html/stats.html				new
external/bsd/ntp/dist/html/tickadj.html				new
external/bsd/ntp/dist/html/warp.html				new
external/bsd/ntp/dist/html/xleave.html				new
external/bsd/ntp/dist/html/drivers/driver1.html			new
external/bsd/ntp/dist/html/drivers/driver10.html		new
external/bsd/ntp/dist/html/drivers/driver11.html		new
external/bsd/ntp/dist/html/drivers/driver12.html		new
external/bsd/ntp/dist/html/drivers/driver16.html		new
external/bsd/ntp/dist/html/drivers/driver18.html		new
external/bsd/ntp/dist/html/drivers/driver19.html		new
external/bsd/ntp/dist/html/drivers/driver20.html		new
external/bsd/ntp/dist/html/drivers/driver22.html		new
external/bsd/ntp/dist/html/drivers/driver26.html		new
external/bsd/ntp/dist/html/drivers/driver27.html		new
external/bsd/ntp/dist/html/drivers/driver28.html		new
external/bsd/ntp/dist/html/drivers/driver29.html		new
external/bsd/ntp/dist/html/drivers/driver3.html			new
external/bsd/ntp/dist/html/drivers/driver30.html		new
external/bsd/ntp/dist/html/drivers/driver31.html		new
external/bsd/ntp/dist/html/drivers/driver32.html		new
external/bsd/ntp/dist/html/drivers/driver33.html		new
external/bsd/ntp/dist/html/drivers/driver34.html		new
external/bsd/ntp/dist/html/drivers/driver35.html		new
external/bsd/ntp/dist/html/drivers/driver36.html		new
external/bsd/ntp/dist/html/drivers/driver37.html		new
external/bsd/ntp/dist/html/drivers/driver38.html		new
external/bsd/ntp/dist/html/drivers/driver39.html		new
external/bsd/ntp/dist/html/drivers/driver4.html			new
external/bsd/ntp/dist/html/drivers/driver40.html		new
external/bsd/ntp/dist/html/drivers/driver42.html		new
external/bsd/ntp/dist/html/drivers/driver43.html		new
external/bsd/ntp/dist/html/drivers/driver44.html		new
external/bsd/ntp/dist/html/drivers/driver45.html		new
external/bsd/ntp/dist/html/drivers/driver46.html		new
external/bsd/ntp/dist/html/drivers/driver5.html			new
external/bsd/ntp/dist/html/drivers/driver6.html			new
external/bsd/ntp/dist/html/drivers/driver7.html			new
external/bsd/ntp/dist/html/drivers/driver8.html			new
external/bsd/ntp/dist/html/drivers/driver9.html			new
external/bsd/ntp/dist/html/drivers/mx4200data.html		new
external/bsd/ntp/dist/html/drivers/oncore-shmem.html		new
external/bsd/ntp/dist/html/drivers/tf582_4.html			new
external/bsd/ntp/dist/html/drivers/icons/home.gif		new
external/bsd/ntp/dist/html/drivers/icons/mail2.gif		new
external/bsd/ntp/dist/html/drivers/scripts/footer.txt		new
external/bsd/ntp/dist/html/drivers/scripts/style.css		new
external/bsd/ntp/dist/html/hints/a-ux				new
external/bsd/ntp/dist/html/hints/aix				new
external/bsd/ntp/dist/html/hints/bsdi				new
external/bsd/ntp/dist/html/hints/changes			new
external/bsd/ntp/dist/html/hints/decosf1			new
external/bsd/ntp/dist/html/hints/decosf2			new
external/bsd/ntp/dist/html/hints/freebsd			new
external/bsd/ntp/dist/html/hints/hpux				new
external/bsd/ntp/dist/html/hints/linux				new
external/bsd/ntp/dist/html/hints/mpeix				new
external/bsd/ntp/dist/html/hints/notes-xntp-v3			new
external/bsd/ntp/dist/html/hints/parse				new
external/bsd/ntp/dist/html/hints/refclocks			new
external/bsd/ntp/dist/html/hints/rs6000				new
external/bsd/ntp/dist/html/hints/sco.html			new
external/bsd/ntp/dist/html/hints/sgi				new
external/bsd/ntp/dist/html/hints/solaris-dosynctodr.html	new
external/bsd/ntp/dist/html/hints/solaris.html			new
external/bsd/ntp/dist/html/hints/solaris.xtra.4023118		new
external/bsd/ntp/dist/html/hints/solaris.xtra.4095849		new
external/bsd/ntp/dist/html/hints/solaris.xtra.S99ntpd		new
external/bsd/ntp/dist/html/hints/solaris.xtra.patchfreq		new
external/bsd/ntp/dist/html/hints/sun4				new
external/bsd/ntp/dist/html/hints/svr4-dell			new
external/bsd/ntp/dist/html/hints/svr4_package			new
external/bsd/ntp/dist/html/hints/todo				new
external/bsd/ntp/dist/html/hints/vxworks.html			new
external/bsd/ntp/dist/html/hints/winnt.html			new
external/bsd/ntp/dist/html/icons/home.gif			new
external/bsd/ntp/dist/html/icons/mail2.gif			new
external/bsd/ntp/dist/html/icons/sitemap.png			new
external/bsd/ntp/dist/html/scripts/accopt.txt			new
external/bsd/ntp/dist/html/scripts/audio.txt			new
external/bsd/ntp/dist/html/scripts/authopt.txt			new
external/bsd/ntp/dist/html/scripts/clockopt.txt			new
external/bsd/ntp/dist/html/scripts/command.txt			new
external/bsd/ntp/dist/html/scripts/config.txt			new
external/bsd/ntp/dist/html/scripts/confopt.txt			new
external/bsd/ntp/dist/html/scripts/external.txt			new
external/bsd/ntp/dist/html/scripts/footer.txt			new
external/bsd/ntp/dist/html/scripts/hand.txt			new
external/bsd/ntp/dist/html/scripts/install.txt			new
external/bsd/ntp/dist/html/scripts/manual.txt			new
external/bsd/ntp/dist/html/scripts/misc.txt			new
external/bsd/ntp/dist/html/scripts/miscopt.txt			new
external/bsd/ntp/dist/html/scripts/monopt.txt			new
external/bsd/ntp/dist/html/scripts/refclock.txt			new
external/bsd/ntp/dist/html/scripts/special.txt			new
external/bsd/ntp/dist/html/scripts/style.css			new
external/bsd/ntp/dist/include/Makefile.am			new
external/bsd/ntp/dist/include/Makefile.in			new
external/bsd/ntp/dist/include/README				new
external/bsd/ntp/dist/include/adjtime.h				new
external/bsd/ntp/dist/include/ascii.h				new
external/bsd/ntp/dist/include/audio.h				new
external/bsd/ntp/dist/include/binio.h				new
external/bsd/ntp/dist/include/declcond.h			new
external/bsd/ntp/dist/include/gps.h				new
external/bsd/ntp/dist/include/hopf6039.h			new
external/bsd/ntp/dist/include/icom.h				new
external/bsd/ntp/dist/include/ieee754io.h			new
external/bsd/ntp/dist/include/intreswork.h			new
external/bsd/ntp/dist/include/iosignal.h			new
external/bsd/ntp/dist/include/l_stdlib.h			new
external/bsd/ntp/dist/include/lib_strbuf.h			new
external/bsd/ntp/dist/include/libntp.h				new
external/bsd/ntp/dist/include/mbg_gps166.h			new
external/bsd/ntp/dist/include/mx4200.h				new
external/bsd/ntp/dist/include/ntif.h				new
external/bsd/ntp/dist/include/ntp.h				new
external/bsd/ntp/dist/include/ntp_assert.h			new
external/bsd/ntp/dist/include/ntp_calendar.h			new
external/bsd/ntp/dist/include/ntp_cmdargs.h			new
external/bsd/ntp/dist/include/ntp_config.h			new
external/bsd/ntp/dist/include/ntp_control.h			new
external/bsd/ntp/dist/include/ntp_crypto.h			new
external/bsd/ntp/dist/include/ntp_datum.h			new
external/bsd/ntp/dist/include/ntp_debug.h			new
external/bsd/ntp/dist/include/ntp_filegen.h			new
external/bsd/ntp/dist/include/ntp_fp.h				new
external/bsd/ntp/dist/include/ntp_if.h				new
external/bsd/ntp/dist/include/ntp_intres.h			new
external/bsd/ntp/dist/include/ntp_io.h				new
external/bsd/ntp/dist/include/ntp_libopts.h			new
external/bsd/ntp/dist/include/ntp_lineedit.h			new
external/bsd/ntp/dist/include/ntp_lists.h			new
external/bsd/ntp/dist/include/ntp_machine.h			new
external/bsd/ntp/dist/include/ntp_malloc.h			new
external/bsd/ntp/dist/include/ntp_md5.h				new
external/bsd/ntp/dist/include/ntp_net.h				new
external/bsd/ntp/dist/include/ntp_prio_q.h			new
external/bsd/ntp/dist/include/ntp_proto.h			new
external/bsd/ntp/dist/include/ntp_random.h			new
external/bsd/ntp/dist/include/ntp_refclock.h			new
external/bsd/ntp/dist/include/ntp_request.h			new
external/bsd/ntp/dist/include/ntp_rfc2553.h			new
external/bsd/ntp/dist/include/ntp_select.h			new
external/bsd/ntp/dist/include/ntp_stdlib.h			new
external/bsd/ntp/dist/include/ntp_string.h			new
external/bsd/ntp/dist/include/ntp_syscall.h			new
external/bsd/ntp/dist/include/ntp_syslog.h			new
external/bsd/ntp/dist/include/ntp_tty.h				new
external/bsd/ntp/dist/include/ntp_types.h			new
external/bsd/ntp/dist/include/ntp_unixtime.h			new
external/bsd/ntp/dist/include/ntp_worker.h			new
external/bsd/ntp/dist/include/ntp_workimpl.h			new
external/bsd/ntp/dist/include/ntpd.h				new
external/bsd/ntp/dist/include/ntpsim.h				new
external/bsd/ntp/dist/include/parse.h				new
external/bsd/ntp/dist/include/parse_conf.h			new
external/bsd/ntp/dist/include/recvbuff.h			new
external/bsd/ntp/dist/include/refclock_atom.h			new
external/bsd/ntp/dist/include/ssl_applink.c			new
external/bsd/ntp/dist/include/timepps-SCO.h			new
external/bsd/ntp/dist/include/timepps-Solaris.h			new
external/bsd/ntp/dist/include/timepps-SunOS.h			new
external/bsd/ntp/dist/include/timespecops.h			new
external/bsd/ntp/dist/include/timetoa.h				new
external/bsd/ntp/dist/include/timevalops.h			new
external/bsd/ntp/dist/include/trimble.h				new
external/bsd/ntp/dist/include/vint64ops.h			new
external/bsd/ntp/dist/include/isc/Makefile.am			new
external/bsd/ntp/dist/include/isc/Makefile.in			new
external/bsd/ntp/dist/include/isc/mem.h				new
external/bsd/ntp/dist/kernel/Makefile.am			new
external/bsd/ntp/dist/kernel/Makefile.in			new
external/bsd/ntp/dist/kernel/sys/Makefile.am			new
external/bsd/ntp/dist/kernel/sys/Makefile.in			new
external/bsd/ntp/dist/kernel/sys/README				new
external/bsd/ntp/dist/kernel/sys/bsd_audioirig.h		new
external/bsd/ntp/dist/kernel/sys/i8253.h			new
external/bsd/ntp/dist/kernel/sys/parsestreams.h			new
external/bsd/ntp/dist/kernel/sys/pcl720.h			new
external/bsd/ntp/dist/kernel/sys/ppsclock.h			new
external/bsd/ntp/dist/kernel/sys/timex.h			new
external/bsd/ntp/dist/kernel/sys/tpro.h				new
external/bsd/ntp/dist/kernel/sys/tt560_api.h			new
external/bsd/ntp/dist/lib/isc/Atffile				new
external/bsd/ntp/dist/lib/isc/api				new
external/bsd/ntp/dist/lib/isc/app_api.c				new
external/bsd/ntp/dist/lib/isc/assertions.c			new
external/bsd/ntp/dist/lib/isc/backtrace-emptytbl.c		new
external/bsd/ntp/dist/lib/isc/backtrace.c			new
external/bsd/ntp/dist/lib/isc/base32.c				new
external/bsd/ntp/dist/lib/isc/base64.c				new
external/bsd/ntp/dist/lib/isc/bitstring.c			new
external/bsd/ntp/dist/lib/isc/buffer.c				new
external/bsd/ntp/dist/lib/isc/bufferlist.c			new
external/bsd/ntp/dist/lib/isc/commandline.c			new
external/bsd/ntp/dist/lib/isc/entropy.c				new
external/bsd/ntp/dist/lib/isc/error.c				new
external/bsd/ntp/dist/lib/isc/event.c				new
external/bsd/ntp/dist/lib/isc/fsaccess.c			new
external/bsd/ntp/dist/lib/isc/hash.c				new
external/bsd/ntp/dist/lib/isc/heap.c				new
external/bsd/ntp/dist/lib/isc/hex.c				new
external/bsd/ntp/dist/lib/isc/hmacmd5.c				new
external/bsd/ntp/dist/lib/isc/hmacsha.c				new
external/bsd/ntp/dist/lib/isc/httpd.c				new
external/bsd/ntp/dist/lib/isc/inet_aton.c			new
external/bsd/ntp/dist/lib/isc/inet_ntop.c			new
external/bsd/ntp/dist/lib/isc/inet_pton.c			new
external/bsd/ntp/dist/lib/isc/iterated_hash.c			new
external/bsd/ntp/dist/lib/isc/lex.c				new
external/bsd/ntp/dist/lib/isc/lfsr.c				new
external/bsd/ntp/dist/lib/isc/lib.c				new
external/bsd/ntp/dist/lib/isc/log.c				new
external/bsd/ntp/dist/lib/isc/md5.c				new
external/bsd/ntp/dist/lib/isc/mem.c				new
external/bsd/ntp/dist/lib/isc/mem_api.c				new
external/bsd/ntp/dist/lib/isc/mutexblock.c			new
external/bsd/ntp/dist/lib/isc/netaddr.c				new
external/bsd/ntp/dist/lib/isc/netscope.c			new
external/bsd/ntp/dist/lib/isc/ondestroy.c			new
external/bsd/ntp/dist/lib/isc/parseint.c			new
external/bsd/ntp/dist/lib/isc/portset.c				new
external/bsd/ntp/dist/lib/isc/print.c				new
external/bsd/ntp/dist/lib/isc/quota.c				new
external/bsd/ntp/dist/lib/isc/radix.c				new
external/bsd/ntp/dist/lib/isc/random.c				new
external/bsd/ntp/dist/lib/isc/ratelimiter.c			new
external/bsd/ntp/dist/lib/isc/refcount.c			new
external/bsd/ntp/dist/lib/isc/region.c				new
external/bsd/ntp/dist/lib/isc/result.c				new
external/bsd/ntp/dist/lib/isc/rwlock.c				new
external/bsd/ntp/dist/lib/isc/serial.c				new
external/bsd/ntp/dist/lib/isc/sha1.c				new
external/bsd/ntp/dist/lib/isc/sha2.c				new
external/bsd/ntp/dist/lib/isc/sockaddr.c			new
external/bsd/ntp/dist/lib/isc/socket_api.c			new
external/bsd/ntp/dist/lib/isc/stats.c				new
external/bsd/ntp/dist/lib/isc/string.c				new
external/bsd/ntp/dist/lib/isc/strtoul.c				new
external/bsd/ntp/dist/lib/isc/symtab.c				new
external/bsd/ntp/dist/lib/isc/task.c				new
external/bsd/ntp/dist/lib/isc/task_api.c			new
external/bsd/ntp/dist/lib/isc/task_p.h				new
external/bsd/ntp/dist/lib/isc/taskpool.c			new
external/bsd/ntp/dist/lib/isc/timer.c				new
external/bsd/ntp/dist/lib/isc/timer_api.c			new
external/bsd/ntp/dist/lib/isc/timer_p.h				new
external/bsd/ntp/dist/lib/isc/version.c				new
external/bsd/ntp/dist/lib/isc/alpha/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/ia64/include/isc/atomic.h		new
external/bsd/ntp/dist/lib/isc/include/isc/app.h			new
external/bsd/ntp/dist/lib/isc/include/isc/assertions.h		new
external/bsd/ntp/dist/lib/isc/include/isc/backtrace.h		new
external/bsd/ntp/dist/lib/isc/include/isc/base32.h		new
external/bsd/ntp/dist/lib/isc/include/isc/base64.h		new
external/bsd/ntp/dist/lib/isc/include/isc/bind9.h		new
external/bsd/ntp/dist/lib/isc/include/isc/bitstring.h		new
external/bsd/ntp/dist/lib/isc/include/isc/boolean.h		new
external/bsd/ntp/dist/lib/isc/include/isc/buffer.h		new
external/bsd/ntp/dist/lib/isc/include/isc/bufferlist.h		new
external/bsd/ntp/dist/lib/isc/include/isc/commandline.h		new
external/bsd/ntp/dist/lib/isc/include/isc/entropy.h		new
external/bsd/ntp/dist/lib/isc/include/isc/error.h		new
external/bsd/ntp/dist/lib/isc/include/isc/event.h		new
external/bsd/ntp/dist/lib/isc/include/isc/eventclass.h		new
external/bsd/ntp/dist/lib/isc/include/isc/file.h		new
external/bsd/ntp/dist/lib/isc/include/isc/formatcheck.h		new
external/bsd/ntp/dist/lib/isc/include/isc/fsaccess.h		new
external/bsd/ntp/dist/lib/isc/include/isc/hash.h		new
external/bsd/ntp/dist/lib/isc/include/isc/heap.h		new
external/bsd/ntp/dist/lib/isc/include/isc/hex.h			new
external/bsd/ntp/dist/lib/isc/include/isc/hmacmd5.h		new
external/bsd/ntp/dist/lib/isc/include/isc/hmacsha.h		new
external/bsd/ntp/dist/lib/isc/include/isc/httpd.h		new
external/bsd/ntp/dist/lib/isc/include/isc/interfaceiter.h	new
external/bsd/ntp/dist/lib/isc/include/isc/ipv6.h		new
external/bsd/ntp/dist/lib/isc/include/isc/iterated_hash.h	new
external/bsd/ntp/dist/lib/isc/include/isc/lang.h		new
external/bsd/ntp/dist/lib/isc/include/isc/lex.h			new
external/bsd/ntp/dist/lib/isc/include/isc/lfsr.h		new
external/bsd/ntp/dist/lib/isc/include/isc/lib.h			new
external/bsd/ntp/dist/lib/isc/include/isc/list.h		new
external/bsd/ntp/dist/lib/isc/include/isc/log.h			new
external/bsd/ntp/dist/lib/isc/include/isc/magic.h		new
external/bsd/ntp/dist/lib/isc/include/isc/md5.h			new
external/bsd/ntp/dist/lib/isc/include/isc/mem.h			new
external/bsd/ntp/dist/lib/isc/include/isc/msgcat.h		new
external/bsd/ntp/dist/lib/isc/include/isc/msgs.h		new
external/bsd/ntp/dist/lib/isc/include/isc/mutexblock.h		new
external/bsd/ntp/dist/lib/isc/include/isc/namespace.h		new
external/bsd/ntp/dist/lib/isc/include/isc/netaddr.h		new
external/bsd/ntp/dist/lib/isc/include/isc/netscope.h		new
external/bsd/ntp/dist/lib/isc/include/isc/ondestroy.h		new
external/bsd/ntp/dist/lib/isc/include/isc/os.h			new
external/bsd/ntp/dist/lib/isc/include/isc/parseint.h		new
external/bsd/ntp/dist/lib/isc/include/isc/platform.h		new
external/bsd/ntp/dist/lib/isc/include/isc/platform.h.in		new
external/bsd/ntp/dist/lib/isc/include/isc/portset.h		new
external/bsd/ntp/dist/lib/isc/include/isc/print.h		new
external/bsd/ntp/dist/lib/isc/include/isc/queue.h		new
external/bsd/ntp/dist/lib/isc/include/isc/quota.h		new
external/bsd/ntp/dist/lib/isc/include/isc/radix.h		new
external/bsd/ntp/dist/lib/isc/include/isc/random.h		new
external/bsd/ntp/dist/lib/isc/include/isc/ratelimiter.h		new
external/bsd/ntp/dist/lib/isc/include/isc/refcount.h		new
external/bsd/ntp/dist/lib/isc/include/isc/region.h		new
external/bsd/ntp/dist/lib/isc/include/isc/resource.h		new
external/bsd/ntp/dist/lib/isc/include/isc/result.h		new
external/bsd/ntp/dist/lib/isc/include/isc/resultclass.h		new
external/bsd/ntp/dist/lib/isc/include/isc/rwlock.h		new
external/bsd/ntp/dist/lib/isc/include/isc/serial.h		new
external/bsd/ntp/dist/lib/isc/include/isc/sha1.h		new
external/bsd/ntp/dist/lib/isc/include/isc/sha2.h		new
external/bsd/ntp/dist/lib/isc/include/isc/sockaddr.h		new
external/bsd/ntp/dist/lib/isc/include/isc/socket.h		new
external/bsd/ntp/dist/lib/isc/include/isc/stats.h		new
external/bsd/ntp/dist/lib/isc/include/isc/stdio.h		new
external/bsd/ntp/dist/lib/isc/include/isc/stdlib.h		new
external/bsd/ntp/dist/lib/isc/include/isc/string.h		new
external/bsd/ntp/dist/lib/isc/include/isc/symtab.h		new
external/bsd/ntp/dist/lib/isc/include/isc/task.h		new
external/bsd/ntp/dist/lib/isc/include/isc/taskpool.h		new
external/bsd/ntp/dist/lib/isc/include/isc/timer.h		new
external/bsd/ntp/dist/lib/isc/include/isc/types.h		new
external/bsd/ntp/dist/lib/isc/include/isc/util.h		new
external/bsd/ntp/dist/lib/isc/include/isc/version.h		new
external/bsd/ntp/dist/lib/isc/include/isc/xml.h			new
external/bsd/ntp/dist/lib/isc/mips/include/isc/atomic.h		new
external/bsd/ntp/dist/lib/isc/nls/msgcat.c			new
external/bsd/ntp/dist/lib/isc/noatomic/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/nothreads/condition.c		new
external/bsd/ntp/dist/lib/isc/nothreads/mutex.c			new
external/bsd/ntp/dist/lib/isc/nothreads/thread.c		new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/condition.h	new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/mutex.h	new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/once.h	new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/thread.h	new
external/bsd/ntp/dist/lib/isc/powerpc/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/pthreads/condition.c		new
external/bsd/ntp/dist/lib/isc/pthreads/mutex.c			new
external/bsd/ntp/dist/lib/isc/pthreads/thread.c			new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/condition.h	new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/mutex.h	new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/once.h	new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/thread.h	new
external/bsd/ntp/dist/lib/isc/sparc64/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/tests/Atffile			new
external/bsd/ntp/dist/lib/isc/tests/hash_test.c			new
external/bsd/ntp/dist/lib/isc/tests/isctest.c			new
external/bsd/ntp/dist/lib/isc/tests/isctest.h			new
external/bsd/ntp/dist/lib/isc/tests/queue_test.c		new
external/bsd/ntp/dist/lib/isc/tests/socket_test.c		new
external/bsd/ntp/dist/lib/isc/tests/symtab_test.c		new
external/bsd/ntp/dist/lib/isc/tests/task_test.c			new
external/bsd/ntp/dist/lib/isc/tests/taskpool_test.c		new
external/bsd/ntp/dist/lib/isc/unix/app.c			new
external/bsd/ntp/dist/lib/isc/unix/dir.c			new
external/bsd/ntp/dist/lib/isc/unix/entropy.c			new
external/bsd/ntp/dist/lib/isc/unix/errno2result.c		new
external/bsd/ntp/dist/lib/isc/unix/errno2result.h		new
external/bsd/ntp/dist/lib/isc/unix/file.c			new
external/bsd/ntp/dist/lib/isc/unix/fsaccess.c			new
external/bsd/ntp/dist/lib/isc/unix/ifiter_getifaddrs.c		new
external/bsd/ntp/dist/lib/isc/unix/ifiter_ioctl.c		new
external/bsd/ntp/dist/lib/isc/unix/ifiter_sysctl.c		new
external/bsd/ntp/dist/lib/isc/unix/interfaceiter.c		new
external/bsd/ntp/dist/lib/isc/unix/ipv6.c			new
external/bsd/ntp/dist/lib/isc/unix/keyboard.c			new
external/bsd/ntp/dist/lib/isc/unix/net.c			new
external/bsd/ntp/dist/lib/isc/unix/os.c				new
external/bsd/ntp/dist/lib/isc/unix/resource.c			new
external/bsd/ntp/dist/lib/isc/unix/socket.c			new
external/bsd/ntp/dist/lib/isc/unix/socket_p.h			new
external/bsd/ntp/dist/lib/isc/unix/stdio.c			new
external/bsd/ntp/dist/lib/isc/unix/stdtime.c			new
external/bsd/ntp/dist/lib/isc/unix/strerror.c			new
external/bsd/ntp/dist/lib/isc/unix/syslog.c			new
external/bsd/ntp/dist/lib/isc/unix/time.c			new
external/bsd/ntp/dist/lib/isc/unix/include/isc/dir.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/int.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/keyboard.h	new
external/bsd/ntp/dist/lib/isc/unix/include/isc/net.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/netdb.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/offset.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/stat.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/stdtime.h	new
external/bsd/ntp/dist/lib/isc/unix/include/isc/strerror.h	new
external/bsd/ntp/dist/lib/isc/unix/include/isc/syslog.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/time.h		new
external/bsd/ntp/dist/lib/isc/win32/DLLMain.c			new
external/bsd/ntp/dist/lib/isc/win32/app.c			new
external/bsd/ntp/dist/lib/isc/win32/condition.c			new
external/bsd/ntp/dist/lib/isc/win32/dir.c			new
external/bsd/ntp/dist/lib/isc/win32/entropy.c			new
external/bsd/ntp/dist/lib/isc/win32/errno2result.c		new
external/bsd/ntp/dist/lib/isc/win32/errno2result.h		new
external/bsd/ntp/dist/lib/isc/win32/file.c			new
external/bsd/ntp/dist/lib/isc/win32/fsaccess.c			new
external/bsd/ntp/dist/lib/isc/win32/interfaceiter.c		new
external/bsd/ntp/dist/lib/isc/win32/ipv6.c			new
external/bsd/ntp/dist/lib/isc/win32/keyboard.c			new
external/bsd/ntp/dist/lib/isc/win32/libgen.h			new
external/bsd/ntp/dist/lib/isc/win32/libisc.def			new
external/bsd/ntp/dist/lib/isc/win32/libisc.dsp			new
external/bsd/ntp/dist/lib/isc/win32/libisc.dsw			new
external/bsd/ntp/dist/lib/isc/win32/libisc.mak			new
external/bsd/ntp/dist/lib/isc/win32/net.c			new
external/bsd/ntp/dist/lib/isc/win32/netdb.h			new
external/bsd/ntp/dist/lib/isc/win32/ntgroups.c			new
external/bsd/ntp/dist/lib/isc/win32/ntpaths.c			new
external/bsd/ntp/dist/lib/isc/win32/once.c			new
external/bsd/ntp/dist/lib/isc/win32/os.c			new
external/bsd/ntp/dist/lib/isc/win32/resource.c			new
external/bsd/ntp/dist/lib/isc/win32/socket.c			new
external/bsd/ntp/dist/lib/isc/win32/stdio.c			new
external/bsd/ntp/dist/lib/isc/win32/stdtime.c			new
external/bsd/ntp/dist/lib/isc/win32/strerror.c			new
external/bsd/ntp/dist/lib/isc/win32/syslog.c			new
external/bsd/ntp/dist/lib/isc/win32/syslog.h			new
external/bsd/ntp/dist/lib/isc/win32/thread.c			new
external/bsd/ntp/dist/lib/isc/win32/time.c			new
external/bsd/ntp/dist/lib/isc/win32/unistd.h			new
external/bsd/ntp/dist/lib/isc/win32/version.c			new
external/bsd/ntp/dist/lib/isc/win32/win32os.c			new
external/bsd/ntp/dist/lib/isc/win32/include/isc/bind_registry.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/bindevt.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/condition.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/dir.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/int.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/ipv6.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/keyboard.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/mutex.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/net.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/netdb.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/ntgroups.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/ntpaths.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/offset.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/once.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/platform.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/stat.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/stdtime.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/strerror.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/syslog.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/thread.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/time.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/win32os.h	new
external/bsd/ntp/dist/lib/isc/x86_32/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/x86_64/include/isc/atomic.h	new
external/bsd/ntp/dist/libjsmn/LICENSE				new
external/bsd/ntp/dist/libjsmn/Makefile				new
external/bsd/ntp/dist/libjsmn/README.md				new
external/bsd/ntp/dist/libjsmn/jsmn.c				new
external/bsd/ntp/dist/libjsmn/jsmn.h				new
external/bsd/ntp/dist/libjsmn/jsmn_test.c			new
external/bsd/ntp/dist/libntp/Makefile.am			new
external/bsd/ntp/dist/libntp/Makefile.in			new
external/bsd/ntp/dist/libntp/README				new
external/bsd/ntp/dist/libntp/a_md5encrypt.c			new
external/bsd/ntp/dist/libntp/adjtime.c				new
external/bsd/ntp/dist/libntp/adjtimex.c				new
external/bsd/ntp/dist/libntp/atoint.c				new
external/bsd/ntp/dist/libntp/atolfp.c				new
external/bsd/ntp/dist/libntp/atouint.c				new
external/bsd/ntp/dist/libntp/audio.c				new
external/bsd/ntp/dist/libntp/authkeys.c				new
external/bsd/ntp/dist/libntp/authreadkeys.c			new
external/bsd/ntp/dist/libntp/authusekey.c			new
external/bsd/ntp/dist/libntp/bsd_strerror.c			new
external/bsd/ntp/dist/libntp/buftvtots.c			new
external/bsd/ntp/dist/libntp/caljulian.c			new
external/bsd/ntp/dist/libntp/caltontp.c				new
external/bsd/ntp/dist/libntp/calyearstart.c			new
external/bsd/ntp/dist/libntp/clocktime.c			new
external/bsd/ntp/dist/libntp/clocktypes.c			new
external/bsd/ntp/dist/libntp/decodenetnum.c			new
external/bsd/ntp/dist/libntp/dofptoa.c				new
external/bsd/ntp/dist/libntp/dolfptoa.c				new
external/bsd/ntp/dist/libntp/emalloc.c				new
external/bsd/ntp/dist/libntp/findconfig.c			new
external/bsd/ntp/dist/libntp/getopt.c				new
external/bsd/ntp/dist/libntp/hextoint.c				new
external/bsd/ntp/dist/libntp/hextolfp.c				new
external/bsd/ntp/dist/libntp/humandate.c			new
external/bsd/ntp/dist/libntp/icom.c				new
external/bsd/ntp/dist/libntp/iosignal.c				new
external/bsd/ntp/dist/libntp/lib_strbuf.c			new
external/bsd/ntp/dist/libntp/machines.c				new
external/bsd/ntp/dist/libntp/mktime.c				new
external/bsd/ntp/dist/libntp/modetoa.c				new
external/bsd/ntp/dist/libntp/mstolfp.c				new
external/bsd/ntp/dist/libntp/msyslog.c				new
external/bsd/ntp/dist/libntp/netof.c				new
external/bsd/ntp/dist/libntp/ntp_calendar.c			new
external/bsd/ntp/dist/libntp/ntp_crypto_rnd.c			new
external/bsd/ntp/dist/libntp/ntp_intres.c			new
external/bsd/ntp/dist/libntp/ntp_libopts.c			new
external/bsd/ntp/dist/libntp/ntp_lineedit.c			new
external/bsd/ntp/dist/libntp/ntp_random.c			new
external/bsd/ntp/dist/libntp/ntp_rfc2553.c			new
external/bsd/ntp/dist/libntp/ntp_worker.c			new
external/bsd/ntp/dist/libntp/numtoa.c				new
external/bsd/ntp/dist/libntp/numtohost.c			new
external/bsd/ntp/dist/libntp/octtoint.c				new
external/bsd/ntp/dist/libntp/prettydate.c			new
external/bsd/ntp/dist/libntp/recvbuff.c				new
external/bsd/ntp/dist/libntp/refnumtoa.c			new
external/bsd/ntp/dist/libntp/snprintf.c				new
external/bsd/ntp/dist/libntp/socket.c				new
external/bsd/ntp/dist/libntp/socktoa.c				new
external/bsd/ntp/dist/libntp/socktohost.c			new
external/bsd/ntp/dist/libntp/ssl_init.c				new
external/bsd/ntp/dist/libntp/statestr.c				new
external/bsd/ntp/dist/libntp/strdup.c				new
external/bsd/ntp/dist/libntp/strl_obsd.c			new
external/bsd/ntp/dist/libntp/syssignal.c			new
external/bsd/ntp/dist/libntp/systime.c				new
external/bsd/ntp/dist/libntp/systime_s.c			new
external/bsd/ntp/dist/libntp/timetoa.c				new
external/bsd/ntp/dist/libntp/timevalops.c			new
external/bsd/ntp/dist/libntp/uglydate.c				new
external/bsd/ntp/dist/libntp/vint64ops.c			new
external/bsd/ntp/dist/libntp/work_fork.c			new
external/bsd/ntp/dist/libntp/work_thread.c			new
external/bsd/ntp/dist/libntp/ymd2yd.c				new
external/bsd/ntp/dist/libparse/Makefile.am			new
external/bsd/ntp/dist/libparse/Makefile.in			new
external/bsd/ntp/dist/libparse/README				new
external/bsd/ntp/dist/libparse/binio.c				new
external/bsd/ntp/dist/libparse/clk_computime.c			new
external/bsd/ntp/dist/libparse/clk_dcf7000.c			new
external/bsd/ntp/dist/libparse/clk_hopf6021.c			new
external/bsd/ntp/dist/libparse/clk_meinberg.c			new
external/bsd/ntp/dist/libparse/clk_rawdcf.c			new
external/bsd/ntp/dist/libparse/clk_rcc8000.c			new
external/bsd/ntp/dist/libparse/clk_schmid.c			new
external/bsd/ntp/dist/libparse/clk_sel240x.c			new
external/bsd/ntp/dist/libparse/clk_trimtaip.c			new
external/bsd/ntp/dist/libparse/clk_trimtsip.c			new
external/bsd/ntp/dist/libparse/clk_varitext.c			new
external/bsd/ntp/dist/libparse/clk_wharton.c			new
external/bsd/ntp/dist/libparse/data_mbg.c			new
external/bsd/ntp/dist/libparse/gpstolfp.c			new
external/bsd/ntp/dist/libparse/ieee754io.c			new
external/bsd/ntp/dist/libparse/info_trimble.c			new
external/bsd/ntp/dist/libparse/mfp_mul.c			new
external/bsd/ntp/dist/libparse/mkinfo_rcmd.sed			new
external/bsd/ntp/dist/libparse/mkinfo_scmd.sed			new
external/bsd/ntp/dist/libparse/parse.c				new
external/bsd/ntp/dist/libparse/parse_conf.c			new
external/bsd/ntp/dist/libparse/parsesolaris.c			new
external/bsd/ntp/dist/libparse/parsestreams.c			new
external/bsd/ntp/dist/libparse/trim_info.c			new
external/bsd/ntp/dist/ntpd/Makefile.am				new
external/bsd/ntp/dist/ntpd/Makefile.in				new
external/bsd/ntp/dist/ntpd/check_y2k.c				new
external/bsd/ntp/dist/ntpd/cmd_args.c				new
external/bsd/ntp/dist/ntpd/complete.conf.in			new
external/bsd/ntp/dist/ntpd/declcond.h				new
external/bsd/ntp/dist/ntpd/invoke-ntp.conf.menu			new
external/bsd/ntp/dist/ntpd/invoke-ntp.conf.texi			new
external/bsd/ntp/dist/ntpd/invoke-ntp.keys.menu			new
external/bsd/ntp/dist/ntpd/invoke-ntp.keys.texi			new
external/bsd/ntp/dist/ntpd/invoke-ntpd.menu			new
external/bsd/ntp/dist/ntpd/invoke-ntpd.texi			new
external/bsd/ntp/dist/ntpd/jupiter.h				new
external/bsd/ntp/dist/ntpd/keyword-gen-utd			new
external/bsd/ntp/dist/ntpd/keyword-gen.c			new
external/bsd/ntp/dist/ntpd/ntp.conf.5man			new
external/bsd/ntp/dist/ntpd/ntp.conf.5mdoc			new
external/bsd/ntp/dist/ntpd/ntp.conf.def				new
external/bsd/ntp/dist/ntpd/ntp.conf.html			new
external/bsd/ntp/dist/ntpd/ntp.conf.man.in			new
external/bsd/ntp/dist/ntpd/ntp.conf.mdoc.in			new
external/bsd/ntp/dist/ntpd/ntp.conf.texi			new
external/bsd/ntp/dist/ntpd/ntp.keys.5man			new
external/bsd/ntp/dist/ntpd/ntp.keys.5mdoc			new
external/bsd/ntp/dist/ntpd/ntp.keys.def				new
external/bsd/ntp/dist/ntpd/ntp.keys.html			new
external/bsd/ntp/dist/ntpd/ntp.keys.man.in			new
external/bsd/ntp/dist/ntpd/ntp.keys.mdoc.in			new
external/bsd/ntp/dist/ntpd/ntp.keys.texi			new
external/bsd/ntp/dist/ntpd/ntp_config.c				new
external/bsd/ntp/dist/ntpd/ntp_control.c			new
external/bsd/ntp/dist/ntpd/ntp_crypto.c				new
external/bsd/ntp/dist/ntpd/ntp_filegen.c			new
external/bsd/ntp/dist/ntpd/ntp_io.c				new
external/bsd/ntp/dist/ntpd/ntp_keyword.h			new
external/bsd/ntp/dist/ntpd/ntp_leapsec.c			new
external/bsd/ntp/dist/ntpd/ntp_leapsec.h			new
external/bsd/ntp/dist/ntpd/ntp_loopfilter.c			new
external/bsd/ntp/dist/ntpd/ntp_monitor.c			new
external/bsd/ntp/dist/ntpd/ntp_parser.c				new
external/bsd/ntp/dist/ntpd/ntp_parser.h				new
external/bsd/ntp/dist/ntpd/ntp_parser.y				new
external/bsd/ntp/dist/ntpd/ntp_peer.c				new
external/bsd/ntp/dist/ntpd/ntp_prio_q.c				new
external/bsd/ntp/dist/ntpd/ntp_proto.c				new
external/bsd/ntp/dist/ntpd/ntp_refclock.c			new
external/bsd/ntp/dist/ntpd/ntp_request.c			new
external/bsd/ntp/dist/ntpd/ntp_restrict.c			new
external/bsd/ntp/dist/ntpd/ntp_scanner.c			new
external/bsd/ntp/dist/ntpd/ntp_scanner.h			new
external/bsd/ntp/dist/ntpd/ntp_signd.c				new
external/bsd/ntp/dist/ntpd/ntp_timer.c				new
external/bsd/ntp/dist/ntpd/ntp_util.c				new
external/bsd/ntp/dist/ntpd/ntpd-opts.c				new
external/bsd/ntp/dist/ntpd/ntpd-opts.def			new
external/bsd/ntp/dist/ntpd/ntpd-opts.h				new
external/bsd/ntp/dist/ntpd/ntpd.1ntpdman			new
external/bsd/ntp/dist/ntpd/ntpd.1ntpdmdoc			new
external/bsd/ntp/dist/ntpd/ntpd.c				new
external/bsd/ntp/dist/ntpd/ntpd.html				new
external/bsd/ntp/dist/ntpd/ntpd.man.in				new
external/bsd/ntp/dist/ntpd/ntpd.mdoc.in				new
external/bsd/ntp/dist/ntpd/ntpd.texi				new
external/bsd/ntp/dist/ntpd/ntpdbase-opts.def			new
external/bsd/ntp/dist/ntpd/ntpsim.c				new
external/bsd/ntp/dist/ntpd/ppsapi_timepps.h			new
external/bsd/ntp/dist/ntpd/refclock_acts.c			new
external/bsd/ntp/dist/ntpd/refclock_arbiter.c			new
external/bsd/ntp/dist/ntpd/refclock_arc.c			new
external/bsd/ntp/dist/ntpd/refclock_as2201.c			new
external/bsd/ntp/dist/ntpd/refclock_atom.c			new
external/bsd/ntp/dist/ntpd/refclock_bancomm.c			new
external/bsd/ntp/dist/ntpd/refclock_chronolog.c			new
external/bsd/ntp/dist/ntpd/refclock_chu.c			new
external/bsd/ntp/dist/ntpd/refclock_conf.c			new
external/bsd/ntp/dist/ntpd/refclock_datum.c			new
external/bsd/ntp/dist/ntpd/refclock_dumbclock.c			new
external/bsd/ntp/dist/ntpd/refclock_fg.c			new
external/bsd/ntp/dist/ntpd/refclock_gpsdjson.c			new
external/bsd/ntp/dist/ntpd/refclock_gpsvme.c			new
external/bsd/ntp/dist/ntpd/refclock_heath.c			new
external/bsd/ntp/dist/ntpd/refclock_hopfpci.c			new
external/bsd/ntp/dist/ntpd/refclock_hopfser.c			new
external/bsd/ntp/dist/ntpd/refclock_hpgps.c			new
external/bsd/ntp/dist/ntpd/refclock_irig.c			new
external/bsd/ntp/dist/ntpd/refclock_jjy.c			new
external/bsd/ntp/dist/ntpd/refclock_jupiter.c			new
external/bsd/ntp/dist/ntpd/refclock_leitch.c			new
external/bsd/ntp/dist/ntpd/refclock_local.c			new
external/bsd/ntp/dist/ntpd/refclock_msfees.c			new
external/bsd/ntp/dist/ntpd/refclock_mx4200.c			new
external/bsd/ntp/dist/ntpd/refclock_neoclock4x.c		new
external/bsd/ntp/dist/ntpd/refclock_nmea.c			new
external/bsd/ntp/dist/ntpd/refclock_oncore.c			new
external/bsd/ntp/dist/ntpd/refclock_palisade.c			new
external/bsd/ntp/dist/ntpd/refclock_palisade.h			new
external/bsd/ntp/dist/ntpd/refclock_parse.c			new
external/bsd/ntp/dist/ntpd/refclock_pcf.c			new
external/bsd/ntp/dist/ntpd/refclock_pst.c			new
external/bsd/ntp/dist/ntpd/refclock_ripencc.c			new
external/bsd/ntp/dist/ntpd/refclock_shm.c			new
external/bsd/ntp/dist/ntpd/refclock_tpro.c			new
external/bsd/ntp/dist/ntpd/refclock_true.c			new
external/bsd/ntp/dist/ntpd/refclock_tsyncpci.c			new
external/bsd/ntp/dist/ntpd/refclock_tt560.c			new
external/bsd/ntp/dist/ntpd/refclock_ulink.c			new
external/bsd/ntp/dist/ntpd/refclock_wwv.c			new
external/bsd/ntp/dist/ntpd/refclock_wwvb.c			new
external/bsd/ntp/dist/ntpd/refclock_zyfer.c			new
external/bsd/ntp/dist/ntpdate/Makefile.am			new
external/bsd/ntp/dist/ntpdate/Makefile.in			new
external/bsd/ntp/dist/ntpdate/README				new
external/bsd/ntp/dist/ntpdate/ntpdate.c				new
external/bsd/ntp/dist/ntpdate/ntpdate.h				new
external/bsd/ntp/dist/ntpdc/Makefile.am				new
external/bsd/ntp/dist/ntpdc/Makefile.in				new
external/bsd/ntp/dist/ntpdc/README				new
external/bsd/ntp/dist/ntpdc/invoke-ntpdc.menu			new
external/bsd/ntp/dist/ntpdc/invoke-ntpdc.texi			new
external/bsd/ntp/dist/ntpdc/layout.std				new
external/bsd/ntp/dist/ntpdc/nl.pl				new
external/bsd/ntp/dist/ntpdc/nl.pl.in				new
external/bsd/ntp/dist/ntpdc/nl_in.c				new
external/bsd/ntp/dist/ntpdc/ntpdc-layout.c			new
external/bsd/ntp/dist/ntpdc/ntpdc-opts.c			new
external/bsd/ntp/dist/ntpdc/ntpdc-opts.def			new
external/bsd/ntp/dist/ntpdc/ntpdc-opts.h			new
external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcman			new
external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc			new
external/bsd/ntp/dist/ntpdc/ntpdc.c				new
external/bsd/ntp/dist/ntpdc/ntpdc.h				new
external/bsd/ntp/dist/ntpdc/ntpdc.html				new
external/bsd/ntp/dist/ntpdc/ntpdc.man.in			new
external/bsd/ntp/dist/ntpdc/ntpdc.mdoc.in			new
external/bsd/ntp/dist/ntpdc/ntpdc.texi				new
external/bsd/ntp/dist/ntpdc/ntpdc_ops.c				new
external/bsd/ntp/dist/ntpq/Makefile.am				new
external/bsd/ntp/dist/ntpq/Makefile.in				new
external/bsd/ntp/dist/ntpq/README				new
external/bsd/ntp/dist/ntpq/invoke-ntpq.menu			new
external/bsd/ntp/dist/ntpq/invoke-ntpq.texi			new
external/bsd/ntp/dist/ntpq/libntpq.c				new
external/bsd/ntp/dist/ntpq/libntpq.h				new
external/bsd/ntp/dist/ntpq/libntpq_subs.c			new
external/bsd/ntp/dist/ntpq/ntpq-opts.c				new
external/bsd/ntp/dist/ntpq/ntpq-opts.def			new
external/bsd/ntp/dist/ntpq/ntpq-opts.h				new
external/bsd/ntp/dist/ntpq/ntpq-subs.c				new
external/bsd/ntp/dist/ntpq/ntpq.1ntpqman			new
external/bsd/ntp/dist/ntpq/ntpq.1ntpqmdoc			new
external/bsd/ntp/dist/ntpq/ntpq.c				new
external/bsd/ntp/dist/ntpq/ntpq.h				new
external/bsd/ntp/dist/ntpq/ntpq.html				new
external/bsd/ntp/dist/ntpq/ntpq.man.in				new
external/bsd/ntp/dist/ntpq/ntpq.mdoc.in				new
external/bsd/ntp/dist/ntpq/ntpq.texi				new
external/bsd/ntp/dist/ntpsnmpd/Makefile.am			new
external/bsd/ntp/dist/ntpsnmpd/Makefile.in			new
external/bsd/ntp/dist/ntpsnmpd/README				new
external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.menu		new
external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi		new
external/bsd/ntp/dist/ntpsnmpd/netsnmp_daemonize.c		new
external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.c		new
external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.h		new
external/bsd/ntp/dist/ntpsnmpd/ntp_snmp.h			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.def		new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman		new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc		new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.c			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.html			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.man.in			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.texi			new
external/bsd/ntp/dist/ntpsnmpd/ntpv4-mib.mib			new
external/bsd/ntp/dist/parseutil/Makefile.am			new
external/bsd/ntp/dist/parseutil/Makefile.in			new
external/bsd/ntp/dist/parseutil/README				new
external/bsd/ntp/dist/parseutil/dcfd.c				new
external/bsd/ntp/dist/parseutil/testdcf.c			new
external/bsd/ntp/dist/scripts/Makefile.am			new
external/bsd/ntp/dist/scripts/Makefile.in			new
external/bsd/ntp/dist/scripts/README				new
external/bsd/ntp/dist/scripts/invoke-plot_summary.menu		new
external/bsd/ntp/dist/scripts/invoke-plot_summary.texi		new
external/bsd/ntp/dist/scripts/invoke-summary.menu		new
external/bsd/ntp/dist/scripts/invoke-summary.texi		new
external/bsd/ntp/dist/scripts/ntpver.in				new
external/bsd/ntp/dist/scripts/plot_summary-opts			new
external/bsd/ntp/dist/scripts/plot_summary-opts.def		new
external/bsd/ntp/dist/scripts/plot_summary.1plot_summaryman	new
external/bsd/ntp/dist/scripts/plot_summary.1plot_summarymdoc	new
external/bsd/ntp/dist/scripts/plot_summary.html			new
external/bsd/ntp/dist/scripts/plot_summary.in			new
external/bsd/ntp/dist/scripts/plot_summary.man.in		new
external/bsd/ntp/dist/scripts/plot_summary.mdoc.in		new
external/bsd/ntp/dist/scripts/plot_summary.texi			new
external/bsd/ntp/dist/scripts/summary-opts			new
external/bsd/ntp/dist/scripts/summary-opts.def			new
external/bsd/ntp/dist/scripts/summary.1summaryman		new
external/bsd/ntp/dist/scripts/summary.1summarymdoc		new
external/bsd/ntp/dist/scripts/summary.html			new
external/bsd/ntp/dist/scripts/summary.in			new
external/bsd/ntp/dist/scripts/summary.man.in			new
external/bsd/ntp/dist/scripts/summary.mdoc.in			new
external/bsd/ntp/dist/scripts/summary.texi			new
external/bsd/ntp/dist/scripts/build/Makefile.am			new
external/bsd/ntp/dist/scripts/build/Makefile.in			new
external/bsd/ntp/dist/scripts/build/UpdatePoint			new
external/bsd/ntp/dist/scripts/build/VersionName			new
external/bsd/ntp/dist/scripts/build/check--help			new
external/bsd/ntp/dist/scripts/build/checkChangeLog		new
external/bsd/ntp/dist/scripts/build/checkHtmlFileDates		new
external/bsd/ntp/dist/scripts/build/fixautomakedepsmagic	new
external/bsd/ntp/dist/scripts/build/genCommitLog		new
external/bsd/ntp/dist/scripts/build/genver			new
external/bsd/ntp/dist/scripts/build/mkver.in			new
external/bsd/ntp/dist/scripts/build/updateBEDate		new
external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.am		new
external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.in		new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts.def new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmannew
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.html	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.in	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.texi	new
external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.menu new
external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi new
external/bsd/ntp/dist/scripts/deprecated/freq_adj.in		new
external/bsd/ntp/dist/scripts/deprecated/hpadjtime.sh		new
external/bsd/ntp/dist/scripts/deprecated/html2man.in		new
external/bsd/ntp/dist/scripts/deprecated/ntp-close		new
external/bsd/ntp/dist/scripts/deprecated/ntp-groper		new
external/bsd/ntp/dist/scripts/deprecated/ntp-restart		new
external/bsd/ntp/dist/scripts/deprecated/ntp-status		new
external/bsd/ntp/dist/scripts/lib/Makefile.am			new
external/bsd/ntp/dist/scripts/lib/Makefile.in			new
external/bsd/ntp/dist/scripts/lib/NTP/Util.pm			new
external/bsd/ntp/dist/scripts/monitoring/README			new
external/bsd/ntp/dist/scripts/monitoring/loopwatch.config.SAMPLE new
external/bsd/ntp/dist/scripts/monitoring/lr.pl			new
external/bsd/ntp/dist/scripts/monitoring/ntp.pl			new
external/bsd/ntp/dist/scripts/monitoring/ntploopstat		new
external/bsd/ntp/dist/scripts/monitoring/ntploopwatch		new
external/bsd/ntp/dist/scripts/monitoring/ntptrap		new
external/bsd/ntp/dist/scripts/monitoring/timelocal.pl		new
external/bsd/ntp/dist/scripts/ntp-wait/Makefile.am		new
external/bsd/ntp/dist/scripts/ntp-wait/Makefile.in		new
external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.menu	new
external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts.def	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.html		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.in		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.man.in		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.texi		new
external/bsd/ntp/dist/scripts/ntpsweep/Makefile.am		new
external/bsd/ntp/dist/scripts/ntpsweep/Makefile.in		new
external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.menu	new
external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts.def	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.html		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.in		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.man.in		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.texi		new
external/bsd/ntp/dist/scripts/ntptrace/Makefile.am		new
external/bsd/ntp/dist/scripts/ntptrace/Makefile.in		new
external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.menu	new
external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts.def	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.html		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.in		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.man.in		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.texi		new
external/bsd/ntp/dist/scripts/rc/README				new
external/bsd/ntp/dist/scripts/rc/ntpd				new
external/bsd/ntp/dist/scripts/rc/ntpwait			new
external/bsd/ntp/dist/scripts/rc/rc.d/TIMESYNC			new
external/bsd/ntp/dist/scripts/rc/rc.d/ntpd			new
external/bsd/ntp/dist/scripts/rc/rc.d/ntpwait			new
external/bsd/ntp/dist/scripts/stats/README			new
external/bsd/ntp/dist/scripts/stats/README.stats		new
external/bsd/ntp/dist/scripts/stats/README.timecodes		new
external/bsd/ntp/dist/scripts/stats/clock.awk			new
external/bsd/ntp/dist/scripts/stats/dupe.awk			new
external/bsd/ntp/dist/scripts/stats/ensemble.S			new
external/bsd/ntp/dist/scripts/stats/ensemble.awk		new
external/bsd/ntp/dist/scripts/stats/etf.S			new
external/bsd/ntp/dist/scripts/stats/etf.awk			new
external/bsd/ntp/dist/scripts/stats/itf.S			new
external/bsd/ntp/dist/scripts/stats/itf.awk			new
external/bsd/ntp/dist/scripts/stats/loop.S			new
external/bsd/ntp/dist/scripts/stats/loop.awk			new
external/bsd/ntp/dist/scripts/stats/loop_summary		new
external/bsd/ntp/dist/scripts/stats/peer.awk			new
external/bsd/ntp/dist/scripts/stats/psummary.awk		new
external/bsd/ntp/dist/scripts/stats/summary.sh			new
external/bsd/ntp/dist/scripts/stats/tdata.S			new
external/bsd/ntp/dist/scripts/stats/tdata.awk			new
external/bsd/ntp/dist/sntp/COPYRIGHT				new
external/bsd/ntp/dist/sntp/Makefile.am				new
external/bsd/ntp/dist/sntp/Makefile.in				new
external/bsd/ntp/dist/sntp/aclocal.m4				new
external/bsd/ntp/dist/sntp/bincheck.mf				new
external/bsd/ntp/dist/sntp/check-libntp.mf			new
external/bsd/ntp/dist/sntp/check-libopts.mf			new
external/bsd/ntp/dist/sntp/config.h.in				new
external/bsd/ntp/dist/sntp/configure				new
external/bsd/ntp/dist/sntp/configure.ac				new
external/bsd/ntp/dist/sntp/crypto.c				new
external/bsd/ntp/dist/sntp/crypto.h				new
external/bsd/ntp/dist/sntp/data_formats.h			new
external/bsd/ntp/dist/sntp/deps-ver				new
external/bsd/ntp/dist/sntp/depsver.mf				new
external/bsd/ntp/dist/sntp/evlog.c				new
external/bsd/ntp/dist/sntp/includes.mf				new
external/bsd/ntp/dist/sntp/install-sh				new
external/bsd/ntp/dist/sntp/invoke-sntp.menu			new
external/bsd/ntp/dist/sntp/invoke-sntp.texi			new
external/bsd/ntp/dist/sntp/kod_management.c			new
external/bsd/ntp/dist/sntp/kod_management.h			new
external/bsd/ntp/dist/sntp/log.c				new
external/bsd/ntp/dist/sntp/log.h				new
external/bsd/ntp/dist/sntp/main.c				new
external/bsd/ntp/dist/sntp/main.h				new
external/bsd/ntp/dist/sntp/networking.c				new
external/bsd/ntp/dist/sntp/networking.h				new
external/bsd/ntp/dist/sntp/scm-rev				new
external/bsd/ntp/dist/sntp/sntp-opts.c				new
external/bsd/ntp/dist/sntp/sntp-opts.def			new
external/bsd/ntp/dist/sntp/sntp-opts.h				new
external/bsd/ntp/dist/sntp/sntp.1sntpman			new
external/bsd/ntp/dist/sntp/sntp.1sntpmdoc			new
external/bsd/ntp/dist/sntp/sntp.c				new
external/bsd/ntp/dist/sntp/sntp.html				new
external/bsd/ntp/dist/sntp/sntp.man.in				new
external/bsd/ntp/dist/sntp/sntp.mdoc.in				new
external/bsd/ntp/dist/sntp/sntp.texi				new
external/bsd/ntp/dist/sntp/tests_main.cpp			new
external/bsd/ntp/dist/sntp/tests_main.h				new
external/bsd/ntp/dist/sntp/utilities.c				new
external/bsd/ntp/dist/sntp/utilities.h				new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/Mdoc.pm			new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/agman-cmd.tpl		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/agmdoc-cmd.tpl		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/cmd-doc.tlib		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc-synopsis.tlib	new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2man		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2texi		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/perlopt.tpl		new
external/bsd/ntp/dist/sntp/event2/event-config.h		new
external/bsd/ntp/dist/sntp/include/Makefile.am			new
external/bsd/ntp/dist/sntp/include/Makefile.in			new
external/bsd/ntp/dist/sntp/include/autogen-version.def		new
external/bsd/ntp/dist/sntp/include/copyright.def		new
external/bsd/ntp/dist/sntp/include/debug-opt.def		new
external/bsd/ntp/dist/sntp/include/homerc.def			new
external/bsd/ntp/dist/sntp/include/ntp.lic			new
external/bsd/ntp/dist/sntp/include/version.def			new
external/bsd/ntp/dist/sntp/include/version.texi			new
external/bsd/ntp/dist/sntp/libevent/ChangeLog			new
external/bsd/ntp/dist/sntp/libevent/ChangeLog-1.4		new
external/bsd/ntp/dist/sntp/libevent/ChangeLog-2.0		new
external/bsd/ntp/dist/sntp/libevent/Doxyfile			new
external/bsd/ntp/dist/sntp/libevent/LICENSE			new
external/bsd/ntp/dist/sntp/libevent/Makefile.am			new
external/bsd/ntp/dist/sntp/libevent/Makefile.in			new
external/bsd/ntp/dist/sntp/libevent/Makefile.nmake		new
external/bsd/ntp/dist/sntp/libevent/README			new
external/bsd/ntp/dist/sntp/libevent/aclocal.m4			new
external/bsd/ntp/dist/sntp/libevent/arc4random.c		new
external/bsd/ntp/dist/sntp/libevent/autogen.sh			new
external/bsd/ntp/dist/sntp/libevent/buffer.c			new
external/bsd/ntp/dist/sntp/libevent/buffer_iocp.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent-internal.h	new
external/bsd/ntp/dist/sntp/libevent/bufferevent.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent_async.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent_filter.c	new
external/bsd/ntp/dist/sntp/libevent/bufferevent_openssl.c	new
external/bsd/ntp/dist/sntp/libevent/bufferevent_pair.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent_ratelim.c	new
external/bsd/ntp/dist/sntp/libevent/bufferevent_sock.c		new
external/bsd/ntp/dist/sntp/libevent/changelist-internal.h	new
external/bsd/ntp/dist/sntp/libevent/config.h.in			new
external/bsd/ntp/dist/sntp/libevent/configure			new
external/bsd/ntp/dist/sntp/libevent/configure.ac		new
external/bsd/ntp/dist/sntp/libevent/defer-internal.h		new
external/bsd/ntp/dist/sntp/libevent/devpoll.c			new
external/bsd/ntp/dist/sntp/libevent/epoll.c			new
external/bsd/ntp/dist/sntp/libevent/epoll_sub.c			new
external/bsd/ntp/dist/sntp/libevent/epolltable-internal.h	new
external/bsd/ntp/dist/sntp/libevent/evbuffer-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evconfig-private.h		new
external/bsd/ntp/dist/sntp/libevent/evconfig-private.h.in	new
external/bsd/ntp/dist/sntp/libevent/evdns.c			new
external/bsd/ntp/dist/sntp/libevent/event-internal.h		new
external/bsd/ntp/dist/sntp/libevent/event.c			new
external/bsd/ntp/dist/sntp/libevent/event_iocp.c		new
external/bsd/ntp/dist/sntp/libevent/event_rpcgen.py		new
external/bsd/ntp/dist/sntp/libevent/event_tagging.c		new
external/bsd/ntp/dist/sntp/libevent/evmap-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evmap.c			new
external/bsd/ntp/dist/sntp/libevent/evport.c			new
external/bsd/ntp/dist/sntp/libevent/evrpc-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evrpc.c			new
external/bsd/ntp/dist/sntp/libevent/evsignal-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evthread-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evthread.c			new
external/bsd/ntp/dist/sntp/libevent/evthread_pthread.c		new
external/bsd/ntp/dist/sntp/libevent/evthread_win32.c		new
external/bsd/ntp/dist/sntp/libevent/evutil.c			new
external/bsd/ntp/dist/sntp/libevent/evutil_rand.c		new
external/bsd/ntp/dist/sntp/libevent/evutil_time.c		new
external/bsd/ntp/dist/sntp/libevent/ht-internal.h		new
external/bsd/ntp/dist/sntp/libevent/http-internal.h		new
external/bsd/ntp/dist/sntp/libevent/http.c			new
external/bsd/ntp/dist/sntp/libevent/iocp-internal.h		new
external/bsd/ntp/dist/sntp/libevent/ipv6-internal.h		new
external/bsd/ntp/dist/sntp/libevent/kqueue-internal.h		new
external/bsd/ntp/dist/sntp/libevent/kqueue.c			new
external/bsd/ntp/dist/sntp/libevent/libevent.pc.in		new
external/bsd/ntp/dist/sntp/libevent/libevent_openssl.pc.in	new
external/bsd/ntp/dist/sntp/libevent/libevent_pthreads.pc.in	new
external/bsd/ntp/dist/sntp/libevent/listener.c			new
external/bsd/ntp/dist/sntp/libevent/log-internal.h		new
external/bsd/ntp/dist/sntp/libevent/log.c			new
external/bsd/ntp/dist/sntp/libevent/make-event-config.sed	new
external/bsd/ntp/dist/sntp/libevent/minheap-internal.h		new
external/bsd/ntp/dist/sntp/libevent/mm-internal.h		new
external/bsd/ntp/dist/sntp/libevent/poll.c			new
external/bsd/ntp/dist/sntp/libevent/ratelim-internal.h		new
external/bsd/ntp/dist/sntp/libevent/select.c			new
external/bsd/ntp/dist/sntp/libevent/signal.c			new
external/bsd/ntp/dist/sntp/libevent/strlcpy-internal.h		new
external/bsd/ntp/dist/sntp/libevent/strlcpy.c			new
external/bsd/ntp/dist/sntp/libevent/time-internal.h		new
external/bsd/ntp/dist/sntp/libevent/util-internal.h		new
external/bsd/ntp/dist/sntp/libevent/whatsnew-2.0.txt		new
external/bsd/ntp/dist/sntp/libevent/whatsnew-2.1.txt		new
external/bsd/ntp/dist/sntp/libevent/win32select.c		new
external/bsd/ntp/dist/sntp/libevent/WIN32-Code/tree.h		new
external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/evconfig-private.h new
external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/event2/event-config.h new
external/bsd/ntp/dist/sntp/libevent/build-aux/compile		new
external/bsd/ntp/dist/sntp/libevent/build-aux/config.guess	new
external/bsd/ntp/dist/sntp/libevent/build-aux/config.sub	new
external/bsd/ntp/dist/sntp/libevent/build-aux/depcomp		new
external/bsd/ntp/dist/sntp/libevent/build-aux/install-sh	new
external/bsd/ntp/dist/sntp/libevent/build-aux/ltmain.sh		new
external/bsd/ntp/dist/sntp/libevent/build-aux/missing		new
external/bsd/ntp/dist/sntp/libevent/build-aux/ylwrap		new
external/bsd/ntp/dist/sntp/libevent/compat/sys/queue.h		new
external/bsd/ntp/dist/sntp/libevent/include/evdns.h		new
external/bsd/ntp/dist/sntp/libevent/include/event.h		new
external/bsd/ntp/dist/sntp/libevent/include/evhttp.h		new
external/bsd/ntp/dist/sntp/libevent/include/evrpc.h		new
external/bsd/ntp/dist/sntp/libevent/include/evutil.h		new
external/bsd/ntp/dist/sntp/libevent/include/include.am		new
external/bsd/ntp/dist/sntp/libevent/include/event2/buffer.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/buffer_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_ssl.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/dns.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/dns_compat.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/dns_struct.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/event.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/event_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/event_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/http.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/http_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/http_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/keyvalq_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/listener.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/rpc.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_compat.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_struct.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/tag.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/tag_compat.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/thread.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/util.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/visibility.h	new
external/bsd/ntp/dist/sntp/libevent/m4/ac_backport_259_ssizet.m4 new
external/bsd/ntp/dist/sntp/libevent/m4/libevent_openssl.m4	new
external/bsd/ntp/dist/sntp/libevent/m4/libtool.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ltoptions.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ltsugar.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ltversion.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/lt~obsolete.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ntp_pkg_config.m4	new
external/bsd/ntp/dist/sntp/libevent/m4/openldap-thread-check.m4	new
external/bsd/ntp/dist/sntp/libevent/m4/openldap.m4		new
external/bsd/ntp/dist/sntp/libevent/sample/dns-example.c	new
external/bsd/ntp/dist/sntp/libevent/sample/event-read-fifo.c	new
external/bsd/ntp/dist/sntp/libevent/sample/hello-world.c	new
external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.c		new
external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.h		new
external/bsd/ntp/dist/sntp/libevent/sample/http-server.c	new
external/bsd/ntp/dist/sntp/libevent/sample/https-client.c	new
external/bsd/ntp/dist/sntp/libevent/sample/include.am		new
external/bsd/ntp/dist/sntp/libevent/sample/le-proxy.c		new
external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.c new
external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.h new
external/bsd/ntp/dist/sntp/libevent/sample/signal-test.c	new
external/bsd/ntp/dist/sntp/libevent/sample/time-test.c		new
external/bsd/ntp/dist/sntp/libevent/test/Makefile.nmake		new
external/bsd/ntp/dist/sntp/libevent/test/bench.c		new
external/bsd/ntp/dist/sntp/libevent/test/bench_cascade.c	new
external/bsd/ntp/dist/sntp/libevent/test/bench_http.c		new
external/bsd/ntp/dist/sntp/libevent/test/bench_httpclient.c	new
external/bsd/ntp/dist/sntp/libevent/test/check-dumpevents.py	new
external/bsd/ntp/dist/sntp/libevent/test/include.am		new
external/bsd/ntp/dist/sntp/libevent/test/regress.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress.gen.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress.gen.h		new
external/bsd/ntp/dist/sntp/libevent/test/regress.h		new
external/bsd/ntp/dist/sntp/libevent/test/regress.rpc		new
external/bsd/ntp/dist/sntp/libevent/test/regress_buffer.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_bufferevent.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_dns.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_et.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_finalize.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_http.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_iocp.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_listener.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_main.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_minheap.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_rpc.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_ssl.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.h	new
external/bsd/ntp/dist/sntp/libevent/test/regress_thread.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_thread.h	new
external/bsd/ntp/dist/sntp/libevent/test/regress_util.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_zlib.c		new
external/bsd/ntp/dist/sntp/libevent/test/rpcgen_wrapper.sh	new
external/bsd/ntp/dist/sntp/libevent/test/test-changelist.c	new
external/bsd/ntp/dist/sntp/libevent/test/test-closed.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-dumpevents.c	new
external/bsd/ntp/dist/sntp/libevent/test/test-eof.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-fdleak.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-init.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-time.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-weof.c		new
external/bsd/ntp/dist/sntp/libevent/test/test.sh		new
external/bsd/ntp/dist/sntp/libevent/test/tinytest.c		new
external/bsd/ntp/dist/sntp/libevent/test/tinytest.h		new
external/bsd/ntp/dist/sntp/libevent/test/tinytest_local.h	new
external/bsd/ntp/dist/sntp/libevent/test/tinytest_macros.h	new
external/bsd/ntp/dist/sntp/libopts/COPYING.gplv3		new
external/bsd/ntp/dist/sntp/libopts/COPYING.lgplv3		new
external/bsd/ntp/dist/sntp/libopts/COPYING.mbsd			new
external/bsd/ntp/dist/sntp/libopts/MakeDefs.inc			new
external/bsd/ntp/dist/sntp/libopts/Makefile.am			new
external/bsd/ntp/dist/sntp/libopts/Makefile.in			new
external/bsd/ntp/dist/sntp/libopts/README			new
external/bsd/ntp/dist/sntp/libopts/ag-char-map.h		new
external/bsd/ntp/dist/sntp/libopts/alias.c			new
external/bsd/ntp/dist/sntp/libopts/ao-strs.c			new
external/bsd/ntp/dist/sntp/libopts/ao-strs.h			new
external/bsd/ntp/dist/sntp/libopts/autoopts.c			new
external/bsd/ntp/dist/sntp/libopts/autoopts.h			new
external/bsd/ntp/dist/sntp/libopts/boolean.c			new
external/bsd/ntp/dist/sntp/libopts/check.c			new
external/bsd/ntp/dist/sntp/libopts/configfile.c			new
external/bsd/ntp/dist/sntp/libopts/cook.c			new
external/bsd/ntp/dist/sntp/libopts/enum.c			new
external/bsd/ntp/dist/sntp/libopts/env.c			new
external/bsd/ntp/dist/sntp/libopts/file.c			new
external/bsd/ntp/dist/sntp/libopts/find.c			new
external/bsd/ntp/dist/sntp/libopts/genshell.c			new
external/bsd/ntp/dist/sntp/libopts/genshell.h			new
external/bsd/ntp/dist/sntp/libopts/gettext.h			new
external/bsd/ntp/dist/sntp/libopts/init.c			new
external/bsd/ntp/dist/sntp/libopts/intprops.h			new
external/bsd/ntp/dist/sntp/libopts/libopts.c			new
external/bsd/ntp/dist/sntp/libopts/load.c			new
external/bsd/ntp/dist/sntp/libopts/makeshell.c			new
external/bsd/ntp/dist/sntp/libopts/nested.c			new
external/bsd/ntp/dist/sntp/libopts/numeric.c			new
external/bsd/ntp/dist/sntp/libopts/option-value-type.c		new
external/bsd/ntp/dist/sntp/libopts/option-value-type.h		new
external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.c	new
external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.h	new
external/bsd/ntp/dist/sntp/libopts/parse-duration.c		new
external/bsd/ntp/dist/sntp/libopts/parse-duration.h		new
external/bsd/ntp/dist/sntp/libopts/pgusage.c			new
external/bsd/ntp/dist/sntp/libopts/proto.h			new
external/bsd/ntp/dist/sntp/libopts/putshell.c			new
external/bsd/ntp/dist/sntp/libopts/reset.c			new
external/bsd/ntp/dist/sntp/libopts/restore.c			new
external/bsd/ntp/dist/sntp/libopts/save.c			new
external/bsd/ntp/dist/sntp/libopts/sort.c			new
external/bsd/ntp/dist/sntp/libopts/stack.c			new
external/bsd/ntp/dist/sntp/libopts/stdnoreturn.in.h		new
external/bsd/ntp/dist/sntp/libopts/streqvcmp.c			new
external/bsd/ntp/dist/sntp/libopts/text_mmap.c			new
external/bsd/ntp/dist/sntp/libopts/time.c			new
external/bsd/ntp/dist/sntp/libopts/tokenize.c			new
external/bsd/ntp/dist/sntp/libopts/usage.c			new
external/bsd/ntp/dist/sntp/libopts/version.c			new
external/bsd/ntp/dist/sntp/libopts/autoopts/options.h		new
external/bsd/ntp/dist/sntp/libopts/autoopts/project.h		new
external/bsd/ntp/dist/sntp/libopts/autoopts/usage-txt.h		new
external/bsd/ntp/dist/sntp/libopts/compat/_Noreturn.h		new
external/bsd/ntp/dist/sntp/libopts/compat/compat.h		new
external/bsd/ntp/dist/sntp/libopts/compat/pathfind.c		new
external/bsd/ntp/dist/sntp/libopts/compat/snprintf.c		new
external/bsd/ntp/dist/sntp/libopts/compat/strchr.c		new
external/bsd/ntp/dist/sntp/libopts/compat/strdup.c		new
external/bsd/ntp/dist/sntp/libopts/compat/windows-config.h	new
external/bsd/ntp/dist/sntp/libopts/m4/libopts.m4		new
external/bsd/ntp/dist/sntp/libopts/m4/liboptschk.m4		new
external/bsd/ntp/dist/sntp/libopts/m4/stdnoreturn.m4		new
external/bsd/ntp/dist/sntp/loc/README				new
external/bsd/ntp/dist/sntp/loc/darwin				new
external/bsd/ntp/dist/sntp/loc/debian				new
external/bsd/ntp/dist/sntp/loc/freebsd				new
external/bsd/ntp/dist/sntp/loc/legacy				new
external/bsd/ntp/dist/sntp/loc/netbsd				new
external/bsd/ntp/dist/sntp/loc/redhat				new
external/bsd/ntp/dist/sntp/loc/solaris				new
external/bsd/ntp/dist/sntp/m4/define_dir.m4			new
external/bsd/ntp/dist/sntp/m4/hms_search_lib.m4			new
external/bsd/ntp/dist/sntp/m4/libtool.m4			new
external/bsd/ntp/dist/sntp/m4/ltoptions.m4			new
external/bsd/ntp/dist/sntp/m4/ltsugar.m4			new
external/bsd/ntp/dist/sntp/m4/ltversion.m4			new
external/bsd/ntp/dist/sntp/m4/lt~obsolete.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_cacheversion.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_compiler.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_crosscompile.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_crypto_rand.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_debug.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_dir_sep.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_facilitynames.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_googletest.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_ipv6.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_lib_m.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_libevent.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_libntp.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_lineeditlibs.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_locinfo.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_openssl.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_pkg_config.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_prog_cc.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_rlimit.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_sntp.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_sysexits.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_ver_suffix.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_vpathhack.m4			new
external/bsd/ntp/dist/sntp/m4/os_cflags.m4			new
external/bsd/ntp/dist/sntp/m4/snprintf.m4			new
external/bsd/ntp/dist/sntp/m4/version.m4			new
external/bsd/ntp/dist/sntp/scripts/Makefile.am			new
external/bsd/ntp/dist/sntp/scripts/Makefile.in			new
external/bsd/ntp/dist/sntp/scripts/cvo.sh			new
external/bsd/ntp/dist/sntp/scripts/genLocInfo			new
external/bsd/ntp/dist/sntp/scripts/mansec2subst.sed		new
external/bsd/ntp/dist/sntp/tests/Makefile.am			new
external/bsd/ntp/dist/sntp/tests/Makefile.in			new
external/bsd/ntp/dist/sntp/tests/crypto.cpp			new
external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h		new
external/bsd/ntp/dist/sntp/tests/keyFile.cpp			new
external/bsd/ntp/dist/sntp/tests/kodDatabase.cpp		new
external/bsd/ntp/dist/sntp/tests/kodFile.cpp			new
external/bsd/ntp/dist/sntp/tests/networking.cpp			new
external/bsd/ntp/dist/sntp/tests/packetHandling.cpp		new
external/bsd/ntp/dist/sntp/tests/packetProcessing.cpp		new
external/bsd/ntp/dist/sntp/tests/sntptest.h			new
external/bsd/ntp/dist/sntp/tests/tests-runner			new
external/bsd/ntp/dist/sntp/tests/utilities.cpp			new
external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-bin	new
external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-dec	new
external/bsd/ntp/dist/sntp/tests/data/debug-input-pkt		new
external/bsd/ntp/dist/sntp/tests/data/key-test-ascii		new
external/bsd/ntp/dist/sntp/tests/data/key-test-comments		new
external/bsd/ntp/dist/sntp/tests/data/key-test-empty		new
external/bsd/ntp/dist/sntp/tests/data/key-test-hex		new
external/bsd/ntp/dist/sntp/tests/data/key-test-invalid-hex	new
external/bsd/ntp/dist/sntp/tests/data/kod-expected-multiple	new
external/bsd/ntp/dist/sntp/tests/data/kod-expected-single	new
external/bsd/ntp/dist/sntp/tests/data/kod-test-blanks		new
external/bsd/ntp/dist/sntp/tests/data/kod-test-correct		new
external/bsd/ntp/dist/sntp/tests/data/kod-test-empty		new
external/bsd/ntp/dist/tests/Makefile.am				new
external/bsd/ntp/dist/tests/Makefile.in				new
external/bsd/ntp/dist/tests/libntp/Makefile.am			new
external/bsd/ntp/dist/tests/libntp/Makefile.in			new
external/bsd/ntp/dist/tests/libntp/a_md5encrypt.cpp		new
external/bsd/ntp/dist/tests/libntp/atoint.cpp			new
external/bsd/ntp/dist/tests/libntp/atouint.cpp			new
external/bsd/ntp/dist/tests/libntp/authkeys.cpp			new
external/bsd/ntp/dist/tests/libntp/buftvtots.cpp		new
external/bsd/ntp/dist/tests/libntp/calendar.cpp			new
external/bsd/ntp/dist/tests/libntp/caljulian.cpp		new
external/bsd/ntp/dist/tests/libntp/caltontp.cpp			new
external/bsd/ntp/dist/tests/libntp/calyearstart.cpp		new
external/bsd/ntp/dist/tests/libntp/clocktime.cpp		new
external/bsd/ntp/dist/tests/libntp/decodenetnum.cpp		new
external/bsd/ntp/dist/tests/libntp/hextoint.cpp			new
external/bsd/ntp/dist/tests/libntp/hextolfp.cpp			new
external/bsd/ntp/dist/tests/libntp/humandate.cpp		new
external/bsd/ntp/dist/tests/libntp/lfpfunc.cpp			new
external/bsd/ntp/dist/tests/libntp/lfptest.h			new
external/bsd/ntp/dist/tests/libntp/lfptostr.cpp			new
external/bsd/ntp/dist/tests/libntp/libntptest.cpp		new
external/bsd/ntp/dist/tests/libntp/libntptest.h			new
external/bsd/ntp/dist/tests/libntp/modetoa.cpp			new
external/bsd/ntp/dist/tests/libntp/msyslog.cpp			new
external/bsd/ntp/dist/tests/libntp/netof.cpp			new
external/bsd/ntp/dist/tests/libntp/numtoa.cpp			new
external/bsd/ntp/dist/tests/libntp/numtohost.cpp		new
external/bsd/ntp/dist/tests/libntp/octtoint.cpp			new
external/bsd/ntp/dist/tests/libntp/prettydate.cpp		new
external/bsd/ntp/dist/tests/libntp/recvbuff.cpp			new
external/bsd/ntp/dist/tests/libntp/refnumtoa.cpp		new
external/bsd/ntp/dist/tests/libntp/sfptostr.cpp			new
external/bsd/ntp/dist/tests/libntp/sockaddrtest.h		new
external/bsd/ntp/dist/tests/libntp/socktoa.cpp			new
external/bsd/ntp/dist/tests/libntp/ssl_init.cpp			new
external/bsd/ntp/dist/tests/libntp/statestr.cpp			new
external/bsd/ntp/dist/tests/libntp/strtolfp.cpp			new
external/bsd/ntp/dist/tests/libntp/timespecops.cpp		new
external/bsd/ntp/dist/tests/libntp/timestructs.cpp		new
external/bsd/ntp/dist/tests/libntp/timestructs.h		new
external/bsd/ntp/dist/tests/libntp/timevalops.cpp		new
external/bsd/ntp/dist/tests/libntp/tstotv.cpp			new
external/bsd/ntp/dist/tests/libntp/tvtots.cpp			new
external/bsd/ntp/dist/tests/libntp/uglydate.cpp			new
external/bsd/ntp/dist/tests/libntp/vi64ops.cpp			new
external/bsd/ntp/dist/tests/libntp/ymd2yd.cpp			new
external/bsd/ntp/dist/tests/ntpd/Makefile.am			new
external/bsd/ntp/dist/tests/ntpd/Makefile.in			new
external/bsd/ntp/dist/tests/ntpd/leapsec.cpp			new
external/bsd/ntp/dist/tests/ntpd/ntpdtest.cpp			new
external/bsd/ntp/dist/tests/ntpd/ntpdtest.h			new
external/bsd/ntp/dist/util/Makefile.am				new
external/bsd/ntp/dist/util/Makefile.in				new
external/bsd/ntp/dist/util/README				new
external/bsd/ntp/dist/util/audio-pcm.c				new
external/bsd/ntp/dist/util/byteorder.c				new
external/bsd/ntp/dist/util/hist.c				new
external/bsd/ntp/dist/util/invoke-ntp-keygen.menu		new
external/bsd/ntp/dist/util/invoke-ntp-keygen.texi		new
external/bsd/ntp/dist/util/jitter.c				new
external/bsd/ntp/dist/util/jitter.h				new
external/bsd/ntp/dist/util/kern.c				new
external/bsd/ntp/dist/util/longsize.c				new
external/bsd/ntp/dist/util/ntp-keygen-opts.c			new
external/bsd/ntp/dist/util/ntp-keygen-opts.def			new
external/bsd/ntp/dist/util/ntp-keygen-opts.h			new
external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenman		new
external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc		new
external/bsd/ntp/dist/util/ntp-keygen.c				new
external/bsd/ntp/dist/util/ntp-keygen.html			new
external/bsd/ntp/dist/util/ntp-keygen.man.in			new
external/bsd/ntp/dist/util/ntp-keygen.mdoc.in			new
external/bsd/ntp/dist/util/ntp-keygen.texi			new
external/bsd/ntp/dist/util/ntptime.c				new
external/bsd/ntp/dist/util/pps-api.c				new
external/bsd/ntp/dist/util/precision.c				new
external/bsd/ntp/dist/util/sht.c				new
external/bsd/ntp/dist/util/testrs6000.c				new
external/bsd/ntp/dist/util/tg.c					new
external/bsd/ntp/dist/util/tg2.c				new
external/bsd/ntp/dist/util/tickadj.c				new
external/bsd/ntp/dist/util/timetrim.c				new
external/bsd/ntp/html/Makefile					new
external/bsd/ntp/include/config.h				new
external/bsd/ntp/lib/Makefile					new
external/bsd/ntp/lib/Makefile.inc				new
external/bsd/ntp/lib/libiscntp/Makefile				new
external/bsd/ntp/lib/libntp/Makefile				new
external/bsd/ntp/lib/libopts/Makefile				new
external/bsd/ntp/lib/libparse/Makefile				new
external/bsd/ntp/scripts/mkver					new
usr.sbin/Makefile						patch
usr.sbin/ntp/Makefile						delete
usr.sbin/ntp/Makefile.inc					delete
usr.sbin/ntp/importdate						delete
usr.sbin/ntp/html/Makefile					delete
usr.sbin/ntp/include/config.h					delete
usr.sbin/ntp/libisc/Makefile					delete
usr.sbin/ntp/libntp/Makefile					delete
usr.sbin/ntp/libopts/Makefile					delete
usr.sbin/ntp/libparse/Makefile					delete
usr.sbin/ntp/ntp-keygen/Makefile				delete
usr.sbin/ntp/ntp-keygen/ntp-keygen.8				delete
usr.sbin/ntp/ntpd/Makefile					delete
usr.sbin/ntp/ntpd/ntpd.8					delete
usr.sbin/ntp/ntpdate/Makefile					delete
usr.sbin/ntp/ntpdate/ntpdate.8					delete
usr.sbin/ntp/ntpdc/Makefile					delete
usr.sbin/ntp/ntpdc/ntpdc.8					delete
usr.sbin/ntp/ntpq/Makefile					delete
usr.sbin/ntp/ntpq/ntpq.8					delete
usr.sbin/ntp/ntptime/Makefile					delete
usr.sbin/ntp/ntptime/ntptime.8					delete
usr.sbin/ntp/ntptrace/Makefile					delete
usr.sbin/ntp/ntptrace/ntptrace.8				delete
usr.sbin/ntp/ntptrace/ntptrace.awk				delete
usr.sbin/ntp/scripts/mkver					delete
usr.sbin/sntp/Makefile						delete
usr.sbin/sntp/sntp.1						delete

	Update ntp to 4.2.8.  This pullup syncs with -current as of
	2014/01/06. CVE-2014-9293, CVE-2014-9294, CVE-2014-9295 and
	CVE-2014-9296.
@
text
@a0 1667
#!/usr/bin/perl -w
;# --*-perl-*--
;#
;# /src/NTP/ntp4-dev/scripts/monitoring/ntploopwatch,v 4.7 2004/11/14 16:11:05 kardel RELEASE_20050508_A
;#
;# process loop filter statistics file and either
;#     - show statistics periodically using gnuplot
;#     - or print a single plot
;#
;#  Copyright (c) 1992-1998 
;#  Rainer Pruy, Friedrich-Alexander Universität Erlangen-Nürnberg
;#
;#
;#############################################################
$0 =~ s!^.*/([^/]+)$!$1!;
$F = ' ' x length($0);
$|=1;

$ENV{'SHELL'} = '/bin/sh'; # use bourne shell

undef($config);
undef($workdir);
undef($PrintIt);
undef($samples);
undef($StartTime);
undef($EndTime);
($a,$b) if 0;			# keep -w happy
$usage = <<"E-O-P";
usage:
  to watch statistics permanently:
     $0 [-v[<level>]] [-c <config-file>] [-d <working-dir>]
     $F [-h <hostname>]

  to get a single print out specify also
     $F -P[<printer>] [-s<samples>]
     $F               [-S <start-time>] [-E <end-time>]
     $F               [-Y <MaxOffs>] [-y <MinOffs>]

If You like long option names, You can use:
    -help
    -c    +config
    -d    +directory
    -h    +host
    -v    +verbose[=<level>]
    -P    +printer[=<printer>]
    -s    +samples[=<samples>]
    -S    +starttime
    -E    +endtime
    -Y    +maxy
    -y    +miny

If <printer> contains a '/' (slash character) output is directed to 
a file of this name instead of delivered to a printer.
E-O-P

;# add directory to look for lr.pl and timelocal.pl (in front of current list)
unshift(@@INC,".");

require "lr.pl";	# linear regresion routines

$MJD_1970 = 40587;		# from ntp.h (V3)
$RecordSize = 48;		# usually a line fits into 42 bytes
$MinClip = 1;		# clip Y scales with greater range than this

;# largest extension of Y scale from mean value, factor for standart deviation
$FuzzLow = 2.2;			# for side closer to zero
$FuzzBig = 1.8;			# for side farther from zero

require "ctime.pl";
require "timelocal.pl";
;# early distributions of ctime.pl had a bug
$ENV{'TZ'} = 'MET' unless defined $ENV{'TZ'} || $[ > 4.010;
if (defined(@@ctime'MoY))
{
  *Month=*ctime'MoY;
  *Day=*ctime'DoW;
} 					# ' re-sync emacs fontification
else
{
  @@Month = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
  @@Day   = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
}
print @@ctime'DoW if 0; # ' re-sync emacs fontification

;# max number of days per month
@@MaxNumDaysPerMonth = (31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

;# config settable parameters
$delay = 60;
$srcprefix = "./var\@@\$STATHOST/loopstats.";
$showoffs = 1;
$showfreq = 1;
$showcmpl = 0;
$showoreg = 0;
$showfreg = 0;
undef($timebase);
undef($freqbase);
undef($cmplscale);
undef($MaxY);
undef($MinY);
$deltaT  = 512; # indicate sample data gaps greater than $deltaT seconds
$verbose = 1;

while($_ = shift(@@ARGV))
{
    (/^[+-]help$/) && die($usage);
    
    (/^-c$/ || /^\+config$/) &&
	(@@ARGV || die($usage), $config = shift(@@ARGV), next);

    (/^-d$/ || /^\+directory$/) &&
	(@@ARGV || die($usage), $workdir = shift(@@ARGV), next);

    (/^-h$/ || /^\+host$/) &&
	(@@ARGV || die($usage), $STATHOST = shift, next);
    
    (/^-v(\d*)$/ || /^\+verbose=?(\d*)$/) &&
	($verbose=($1 eq "") ? 1 : $1, next);

    (/^-P(\S*)$/ || /^\+[Pp]rinter=?(\S*)$/) &&
	($PrintIt = $1, $verbose==1 && ($verbose = 0), next);

    (/^-s(\d*)$/ || /^\+samples=?(\d*)$/) &&
	(($samples = ($1 eq "") ? (shift || die($usage)): $1), next);
    
    (/^-S$/ || /^\+[Ss]tart[Tt]ime$/) &&
	(@@ARGV || die($usage), $StartTime=&date_time_spec2seconds(shift),next);

    (/^-E$/ || /^\+[Ee]nd[Tt]ime$/) &&
	(@@ARGV || die($usage), $EndTime = &date_time_spec2seconds(shift),next);
    
    (/^-Y$/ || /^\+[Mm]ax[Yy]$/) &&
	(@@ARGV || die($usage), $MaxY = shift, next);
    
    (/^-y$/ || /^\+[Mm]in[Yy]$/) &&
	(@@ARGV || die($usage), $MinY = shift, next);
    
    die("$0: unexpected argument \"$_\"\n$usage");
}

if (defined($workdir))
{
  chdir($workdir) ||
      die("$0: failed to change working dir to \"$workdir\": $!\n");
}

$PrintIt = "ps" if defined($PrintIt) && $PrintIt eq "";

if (!defined($PrintIt))
{
    defined($samples) &&
	print "WARNING: your samples value may be shadowed by config file settings\n";
    defined($StartTime) &&
	print "WARNING: your StartTime value may be shadowed by config file settings\n";
    defined($EndTime) &&
	print "WARNING: your EndTime value may be shadowed by config file settings\n";
    defined($MaxY) &&
	print "WARNING: your MaxY value may be shadowed by config file settings\n";
    defined($MinY) &&
	print "WARNING: your MinY value may be shadowed by config file settings\n";
	
    ;# check operating environment
    ;# 
    ;# gnuplot usually has X support
    ;# I vaguely remember there was one with sunview support
    ;#
    ;# If Your plotcmd can display graphics using some other method
    ;# (Tek window,..) fix the following test
    ;# (or may be, just disable it)
    ;#
    !(defined($ENV{'DISPLAY'}) || defined($ENV{'WINDOW_PARENT'})) &&
	die("Need window system to monitor statistics\n");
}

;# configuration file
$config = "loopwatch.config" unless defined($config);
($STATHOST = $config) =~ s!.*loopwatch\.config.([^/\.]*)$!$1!
    unless defined($STATHOST);
($STATTAG = $STATHOST) =~ s/^([^\.\*\s]+)\..*$/$1/;

$srcprefix =~ s/\$STATHOST/$STATHOST/g;

;# plot command 
@@plotcmd=("gnuplot",
	  '-title', "Ntp loop filter statistics $STATHOST",
	  '-name', "NtpLoopWatch_$STATTAG");
$tmpfile = "/tmp/ntpstat.$$";

;# other variables
$doplot = "";	# assembled command for @@plotcmd to display plot
undef($laststat);

;# plot value ranges
undef($mintime);
undef($maxtime);
undef($minoffs);
undef($maxoffs);
undef($minfreq);
undef($maxfreq);
undef($mincmpl);
undef($maxcmpl);
undef($miny);
undef($maxy);

;# stop operation if plot command dies
sub sigchld
{
  local($pid) = wait;
  unlink($tmpfile);
  warn(sprintf("%s: %s died: exit status: %d signal %d\n",
	      $0,
	       (defined($Plotpid) && $Plotpid == $pid)
	       ? "plotcmd" : "unknown child $pid",
	       $?>>8,$? & 0xff)) if $?;
  exit(1) if $? && defined($Plotpid) && $pid == $Plotpid;
}
&sigchld if 0;
$SIG{'CHLD'} = "sigchld";
$SIG{'CLD'} = "sigchld";

sub abort
{
  unlink($tmpfile);
  defined($Plotpid) && kill('TERM',$Plotpid);
  die("$0: received signal SIG$_[$[] - exiting\n");
}
&abort if 0;	# make -w happy - &abort IS used
$SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = $SIG{'PIPE'} = "abort";

;#
sub abs
{
  ($_[$[] < 0) ? -($_[$[]) : $_[$[];
}

sub boolval
{
  local($v) = ($_[$[]);

  return 1 if ($v eq 'yes') || ($v eq 'y');
  return 1 if ($v =~ /^[0-9]*$/) && ($v != 0);
  return 0;
}

;#####################
;# start of real work 

print "starting plot command (" . join(" ",@@plotcmd) . ")\n" if $verbose > 1;

$Plotpid = open(PLOT,"|-");
select((select(PLOT),$|=1)[$[]);	# make PLOT line bufferd

defined($Plotpid) ||
    die("$0: failed to start plot command: $!\n");

unless ($Plotpid)
{
   ;# child == plot command
   close(STDOUT);
   open(STDOUT,">&STDERR") ||
       die("$0: failed to redirect STDOUT of plot command: $!\n");
   
   print STDOUT "plot command running as $$\n";

   exec @@plotcmd;
   die("$0: failed to exec (@@plotcmd): $!\n");
   exit(1); # in case ...
}

sub read_config
{
  local($at) = (stat($config))[$[+9];
  local($_,$c,$v);

  (undef($laststat),(print("stat $config failed: $!\n")),return) if ! defined($at);
  return if (defined($laststat) && ($laststat == $at));
  $laststat = $at;

  print "reading configuration from \"$config\"\n" if $verbose;

  open(CF,"<$config") ||
      (warn("$0: failed to read \"$config\" - using old settings ($!)\n"),
       return);
  while(<CF>)
  {
    chop;
    s/^([^\#]*[^\#\s]?)\s*\#.*$//;
    next if /^\s*$/;

    s/^\s*([^=\s]*)\s*=\s*(.*\S)\s*$/$1=$2/;

    ($c,$v) = split(/=/,$_,2);
    print "processing \"$c=$v\"\n" if $verbose > 3;
    ($c eq "delay") && ($delay = $v,1) && next;
    ($c eq 'samples') && (!defined($PrintIt) || !defined($samples)) &&
	($samples = $v,1) && next;
    ($c eq 'srcprefix') && (($srcprefix=$v)=~s/\$STATHOST/$STATHOST/g,1)
	&& next;
    ($c eq 'showoffs') &&
	($showoffs = boolval($v),1) && next;
    ($c eq 'showfreq') &&
	($showfreq = boolval($v),1) && next;
    ($c eq 'showcmpl') &&
	($showcmpl = boolval($v),1) && next;
    ($c eq 'showoreg') &&
	($showoreg = boolval($v),1) && next;
    ($c eq 'showfreg') &&
	($showfreg = boolval($v),1) && next;

    ($c eq 'exit') && (unlink($tmpfile),die("$0: exit by config request\n"));

    ($c eq 'freqbase' ||
     $c eq 'cmplscale') &&
	do {
	    if (! defined($v) || $v eq "" || $v eq 'dynamic')
	    {
	      eval "undef(\$$c);";
	    }
	    else
	    {
	      eval "\$$c = \$v;";
	    }
	    next;
	};
    ($c eq 'timebase') &&
	do {
	    if (! defined($v) || $v eq "" || $v eq "dynamic")
	    {
	      undef($timebase);
	    }
	    else
	    {
	      $timebase=&date_time_spec2seconds($v);
	    }
	};
    ($c eq 'EndTime') &&
	do {
	    next if defined($EndTime) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($EndTime);
	    }
	    else
	    {
	      $EndTime=&date_time_spec2seconds($v);
	    }
	};
    ($c eq 'StartTime') &&
	do {
	    next if defined($StartTime) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($StartTime);
	    }
	    else
	    {
	      $StartTime=&date_time_spec2seconds($v);
	    }
	};

    ($c eq 'MaxY') &&
	do {
	    next if defined($MaxY) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($MaxY);
	    }
	    else
	    {
	      $MaxY=$v;
	    }
	};

    ($c eq 'MinY') &&
	do {
	    next if defined($MinY) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($MinY);
	    }
	    else
	    {
	      $MinY=$v;
	    }
	};

    ($c eq 'deltaT') &&
	do {
	    if (!defined($v) || $v eq "")
	    {
	      undef($deltaT);
	    }
	    else
	    {
	      $deltaT = $v;
	    }
	    next;
	};
    ($c eq 'verbose') && ! defined($PrintIt) &&
	do {
	     if (!defined($v) || $v == 0)
	     {
	       $verbose = 0;
	     }
	     else
	     {
	       $verbose = $v;
	     }
	     next;
	};
    ;# otherwise: silently ignore unrecognized config line
  }
  close(CF);
  ;# set show defaults when nothing selected
  $showoffs = $showfreq = $showcmpl = 1
      unless $showoffs || $showfreq || $showcmpl;
  if ($verbose > 3)
  {
    print  "new configuration:\n";
    print  "   delay\t= $delay\n";
    print  "   samples\t= $samples\n";
    print  "   srcprefix\t= $srcprefix\n";
    print  "   showoffs\t= $showoffs\n";
    print  "   showfreq\t= $showfreq\n";
    print  "   showcmpl\t= $showcmpl\n";
    print  "   showoreg\t= $showoreg\n";
    print  "   showfreg\t= $showfreg\n";
    printf "   timebase\t= %s",defined($timebase)?&ctime($timebase):"dynamic\n";
    printf "   freqbase\t= %s\n",defined($freqbase)  ?"$freqbase":"dynamic";
    printf "   cmplscale\t= %s\n",defined($cmplscale)?"$cmplscale":"dynamic";
    printf "   StartTime\t= %s",defined($StartTime)?&ctime($StartTime):"none\n";
    printf "   EndTime\t= %s",  defined($EndTime) ?  &ctime($EndTime):"none\n";
    printf "   MaxY\t= %s",defined($MaxY)? $MaxY      :"none\n";
    printf "   MinY\t= %s",defined($MinY)? $MinY      :"none\n";
    print  "   verbose\t= $verbose\n";
  }
print "configuration file read\n" if $verbose > 2;
}

sub make_doplot($$)
{
    my($lo, $lf) = @@_;
    local($c) = ("");
    local($fmt)
	= ("%s \"%s\" using 1:%d title '%s <%lf %lf> %6s' with lines");
    local($regfmt)
	= ("%s ((%lf * x) + %lf) title 'lin. approx. %s (%f t[h]) %s %f <%f> %6s' with lines");
    
    $doplot = "    set title 'NTP loopfilter statistics for $STATHOST  " .
	"(last $LastCnt samples from $srcprefix*)'\n";
    
    local($xts,$xte,$i,$t);
    
    local($s,$c) = ("");

    ;# number of integral seconds to get at least 12 tic marks on x axis
    $t = int(($maxtime - $mintime) / 12 + 0.5);
    $t = 1 unless $t;		# prevent $t to be zero
    foreach $i (30,
		60,5*60,15*60,30*60,
		60*60,2*60*60,6*60*60,12*60*60,
		24*60*60,48*60*60)
    {
	last if $t < $i;
	$t = $t - ($t % $i);
    }
    print "time label resolution: $t seconds\n" if $verbose > 1;
    
    ;# make gnuplot use wall clock time labels instead of NTP seconds
    for ($c="", $i = $mintime - ($mintime % $t);
	 $i <= $maxtime + $t;
	 $i += $t, $c=",")
    {
	$s .= $c;
	((int($i / $t) % 2) &&
	 ($s .= sprintf("'' %lf",($i - $LastTimeBase)/3600))) ||
	     (($t <= 60) &&
	      ($s .= sprintf("'%d:%02d:%02d' %lf",
			     (localtime($i))[$[+2,$[+1,$[+0],
			     ($i - $LastTimeBase)/3600))) 
		 || (($t <= 2*60*60) &&
		     ($s .= sprintf("'%d:%02d' %lf",
				    (localtime($i))[$[+2,$[+1],
				    ($i - $LastTimeBase)/3600)))
		     || (($t <= 12*60*60) &&
			 ($s .= sprintf("'%s %d:00' %lf",
					$Day[(localtime($i))[$[+6]],
					(localtime($i))[$[+2],
					($i - $LastTimeBase)/3600)))
			 || ($s .= sprintf("'%d.%d-%d:00' %lf",
					   (localtime($i))[$[+3,$[+4,$[+2],
					   ($i - $LastTimeBase)/3600));
    }
    $doplot .= "set xtics ($s)\n";
    
    chop($xts = &ctime($mintime));
    chop($xte = &ctime($maxtime));
    $doplot .= "set xlabel 'Start:  $xts    --   Time Scale   --    End:  $xte'\n";
    $doplot .= "set yrange [" ;
    $doplot .= defined($MinY) ? sprintf("%lf", $MinY) : $miny;
    $doplot .= ':';
    $doplot .= defined($MaxY) ? sprintf("%lf", $MaxY) : $maxy;
    $doplot .= "]\n";
    
    $doplot .= "   plot";
    $c = "";
    $showoffs &&
	($doplot .= sprintf($fmt,$c,$tmpfile,2,
			    "offset",
			    $minoffs,$maxoffs,
			    "[ms]"),
	 $c = ",");
    $LastCmplScale = 1 if ! defined($LastCmplScale);
    $showcmpl &&
	($doplot .= sprintf($fmt,$c,$tmpfile,4,
			    "compliance" .
			    (&abs($LastCmplScale) > 1
			     ? " / $LastCmplScale"
			     : (&abs($LastCmplScale) == 1 ? "" : " * ".(1/$LastCmplScale))),
			    $mincmpl/$LastCmplScale,$maxcmpl/$LastCmplScale,
			    ""),
	 $c = ",");
    $LastFreqBase = 0 if ! defined($LastFreqBase);
    $LastFreqBaseString = "?" if ! defined($LastFreqBaseString);
    $FreqScale = 1 if ! defined($FreqScale);
    $FreqScaleInv = 1 if ! defined($FreqScaleInv);
    $showfreq &&
	($doplot .= sprintf($fmt,$c,$tmpfile,3,
			    "frequency" .
			    ($LastFreqBase > 0
			     ? " - $LastFreqBaseString" 
			     : ($LastFreqBase == 0 ? "" : " + $LastFreqBaseString")),
			    $minfreq * $FreqScale - $LastFreqBase,
			    $maxfreq * $FreqScale - $LastFreqBase,
			    "[${FreqScaleInv}ppm]"),
	 $c = ",");
    $showoreg && $showoffs &&
	($doplot .= sprintf($regfmt, $c,
			    $lo->B(),$lo->A(),
			    "offset   ",
			    $lo->B(),
			    (($lo->A()) < 0 ? '-' : '+'),
			    &abs($lo->A()), $lo->r(),
			    "[ms]"),
	 $c = ",");
    $showfreg && $showfreq &&
	($doplot .= sprintf($regfmt, $c,
			    $lf->B() * $FreqScale,
			    ($lf->A() + $minfreq) * $FreqScale - $LastFreqBase,
			    "frequency",
			    $lf->B() * $FreqScale,
			    (($lf->A() + $minfreq) * $FreqScale - $LastFreqBase) < 0 ? '-' : '+',
			    &abs(($lf->A() + $minfreq) * $FreqScale - $LastFreqBase),
			    $lf->r(),
			    "[${FreqScaleInv}ppm]"),
	 $c = ",");
    $doplot .= "\n";
}

%F_key   = ();
%F_name  = ();
%F_size  = ();
%F_mtime = ();
%F_first = ();
%F_last  = ();

sub genfile
{
    local($cnt,$in,$out,$lo,$lf,@@fpos) = @@_;
    
    local(@@F,@@t,$t,$lastT) = ();
    local(@@break,@@time,@@offs,@@freq,@@cmpl,@@loffset,@@filekey) = ();
    local($lm,$l,@@f);
    
    local($sdir,$sname);
    
    ;# allocate some storage for the tables
    ;# otherwise realloc may get into troubles
    if (defined($StartTime) && defined($EndTime))
    {
	$l = ($EndTime-$StartTime) -$[+1 +1; # worst case: 1 sample per second
    }
    else
    {
	$l = $cnt + 10;
    }
    print "preextending arrays to $l entries\n" if $verbose > 2;
    $#break =   $l; for ($i=$[; $i<=$l;$i++) { $break[$i] = 0; }
    $#time =    $l; for ($i=$[; $i<=$l;$i++) { $time[$i] = 0; }
    $#offs =    $l; for ($i=$[; $i<=$l;$i++) { $offs[$i] = 0; }
    $#freq =    $l; for ($i=$[; $i<=$l;$i++) { $freq[$i] = 0; }
    $#cmpl =    $l; for ($i=$[; $i<=$l;$i++) { $cmpl[$i] = 0; }
    $#loffset = $l; for ($i=$[; $i<=$l;$i++) { $loffset[$i] = 0; }
    $#filekey = $l; for ($i=$[; $i<=$l;$i++) { $filekey[$i] = 0; }
    ;# now reduce size again
    $#break =   $[ - 1;
    $#time =    $[ - 1;
    $#offs =    $[ - 1;
    $#freq =    $[ - 1;
    $#cmpl =    $[ - 1;
    $#loffset = $[ - 1;
    $#filekey = $[ - 1;
    print "memory allocation ready\n" if $verbose > 2;
    sleep(3) if $verbose > 1;

    $fpos[$[] = '' if !defined($fpos[$[]);

    if (index($in,"/") < $[)
    {
	$sdir = ".";
	$sname = $in;
    }
    else
    {
	($sdir,$sname) = ($in =~ m!^(.*)/([^/]*)!);
	$sname = "" unless defined($sname);
    }
    
    $Ltime = -1 if ! defined($Ltime);
    if (!defined($Lsdir) || $Lsdir ne $sdir || $Ltime != (stat($sdir))[$[+9] ||
	grep($F_mtime{$_} != (stat($F_name{$_}))[$[+9], @@F_files))
	
    {
	print "rescanning directory \"$sdir\" for files \"$sname*\"\n"
	    if $verbose > 1;

	;# rescan directory on changes
	$Lsdir = $sdir;
	$Ltime = (stat($sdir))[$[+9];
	</X{> if 0;		# dummy line - calm down my formatter
	local(@@newfiles) = < ${in}*[0-9] >;
	local($st_dev,$st_ino,$st_mtime,$st_size,$name,$key,$modified);

	foreach $name (@@newfiles)
	{
	    ($st_dev,$st_ino,$st_size,$st_mtime) =
		(stat($name))[$[,$[+1,$[+7,$[+9];
	    $modified = 0;
	    $key = sprintf("%lx|%lu", $st_dev, $st_ino);
	    
	    print "candidate file \"$name\"",
                  (defined($st_dev) ? "" : " failed: $!"),"\n"
		      if $verbose > 2;
	    
	    if (! defined($F_key{$name}) || $F_key{$name} ne $key)
	    {
		$F_key{$name} = $key;
		$modified++;
	    }
	    if (!defined($F_name{$key}) || $F_name{$key} ne $name)
	    {
		$F_name{$key} = $name;
		$modified++;
	    }
	    if (!defined($F_size{$key}) || $F_size{$key} != $st_size)
	    {
		$F_size{$key} = $st_size;
		$modified++;
	    }
	    if (!defined($F_mtime{$key}) || $F_mtime{$key} != $st_mtime)
	    {
		$F_mtime{$key} = $st_mtime;
		$modified++;
	    }
	    if ($modified)
	    {
		print "new data \"$name\" key: $key;\n" if $verbose > 1;
	        print "             size: $st_size; mtime: $st_mtime;\n"
		    if $verbose > 1;
		$F_last{$key} = $F_first{$key} = $st_mtime;
		$F_first{$key}--; # prevent zero divide later on
		;# now compute derivated attributes
		open(IN, "<$name") ||
		    do {
			warn "$0: failed to open \"$name\": $!";
			next;
		    };

		while(<IN>)
		{
		    @@F = split;
		    next if @@F < 5;
		    next if $F[$[] eq "";
		    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
		    $t += $F[$[+1];
		    $F_first{$key} = $t;
		    print "\tfound first entry: $t ",&ctime($t)
			if $verbose > 4;
		    last;
		}
		seek(IN,
		     ($st_size > 4*$RecordSize) ? $st_size - 4*$RecordSize : 0,
		     0);
		while(<IN>)
		{
		    @@F = split;
		    next if @@F < 5;
		    next if $F[$[] eq "";
		    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
		    $t += $F[$[+1];
		    $F_last{$key} = $t;
		    $_ = <IN>;
		    print "\tfound last entry: $t ", &ctime($t)
			if $verbose > 4 && ! defined($_);
		    last unless defined($_);
		    redo;
		    ;# Ok, calm down...
		    ;# using $_ = <IN> in conjunction with redo
		    ;# is semantically equivalent to the while loop, but
		    ;# I needed a one line look ahead and this solution
		    ;# was what I thought of first
		    ;# and.. If you do not like it dont look
		}
		close(IN);
		print("             first: ",$F_first{$key},
		      " last: ",$F_last{$key},"\n") if $verbose > 1;
	    }
	}
	;# now reclaim memory used for files no longer referenced ...
	local(%Names);
	grep(Names{_} = 1,@@newfiles);
	foreach (keys %F_key)
	{
	    next if defined(Names{_});
	    delete $F_key{$_};
	    $verbose > 2 && print "no longer referenced: \"$_\"\n";
	}
	%Names = ();
	
	grep(Names{_} = 1,values(%F_key));
	foreach (keys %F_name)
	{
	    next if defined(Names{_});
	    delete $F_name{$_};
	    $verbose > 2 && print "unref name($_)= $F_name{$_}\n";
	}
	foreach (keys %F_size)
	{
	    next if defined(Names{_});
	    delete $F_size{$_};
	    $verbose > 2 && print "unref size($_)\n";
	}
	foreach (keys %F_mtime)
	{
	    next if defined(Names{_});
	    delete $F_mtime{$_};
	    $verbose > 2 && print "unref mtime($_)\n";
	}
	foreach (keys %F_first)
	{
	    next if defined(Names{_});
	    delete $F_first{$_};
	    $verbose > 2 && print "unref first($_)\n";
	}
	foreach (keys %F_last)
	{
	    next if defined(Names{_});
	    delete $F_last{$_};
	    $verbose > 2 && print "unref last($_)\n";
	}
	;# create list sorted by time
	@@F_files = sort {$F_first{$a} <=> $F_first{$b}; } keys(%F_name);
	if ($verbose > 1)
	{
	    print "Resulting file list:\n";
	    foreach (@@F_files)
	    {
		print "\t$_\t$F_name{$_}\n";
	    }
	}
    }
    
    printf("processing %s; output \"$out\" (%d input files)\n",
	   ((defined($StartTime) && defined($EndTime))
	    ? "time range"
	    : (defined($StartTime) ? "$cnt samples from StartTime" :
	      (defined($EndTime) ? "$cnt samples to EndTime" :
		 "last $cnt samples"))),
	    scalar(@@F_files))
	if $verbose > 1;
    
    ;# open output file - will be input for plotcmd
    open(OUT,">$out") || 
	do {
	    warn("$0: cannot create \"$out\": $!\n");
	};
    
    @@f = @@F_files;
    if (defined($StartTime))
    {
	while (@@f && ($F_last{$f[$[]} < $StartTime))
	{
	    print("shifting ", $F_name{$f[$[]},
		  " last: ", $F_last{$f[$[]},
		  " < StartTime: $StartTime\n")
		if $verbose > 3;
	    shift(@@f);
	}


    }
    if (defined($EndTime))
    {
	while (@@f && ($F_first{$f[$#f]} > $EndTime))
	{
	    print("popping  ", $F_name{$f[$#f]},
		  " first: ", $F_first{$f[$#f]},
		  " > EndTime: $EndTime\n")
		if $verbose > 3;
	    pop(@@f);
	}
    }
    
    if (@@f)
    {
	if (defined($StartTime))
	{
	    print "guess start according to StartTime ($StartTime)\n"
		if $verbose > 3;

	    if ($fpos[$[] eq 'start')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('start', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('start' , $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		if ($StartTime <= $F_first{$f[$[]})
		{
		    $fpos[$[+2] = 0;
		}
		else
		{
		    $fpos[$[+2] =
			int($F_size{$f[$[]} *
			    (($StartTime - $F_first{$f[$[]})/
			     ($F_last{$f[$[]} - $F_first{$f[$[]})));
		    $fpos[$[+2] = ($fpos[$[+2] <= 2 * $RecordSize)
			? 0 : $fpos[$[+2] - 2 * $RecordSize;
		    ;# anyway  as the data may contain "time holes" 
		    ;# our heuristics may baldly fail
		    ;# so just start at 0
		    $fpos[$[+2] = 0;
		}
	    }
	}
	elsif (defined($EndTime))
	{
	    print "guess starting point according to EndTime ($EndTime)\n"
		if $verbose > 3;
	    
	    if ($fpos[$[] eq 'end')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('end', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('end', $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		local(@@x) = reverse(@@f);
		local($s,$c) = (0,$cnt);
		if ($EndTime < $F_last{$x[$[]})
		{
		    ;# last file will only be used partially
		    $s = int($F_size{$x[$[]} *
			     (($EndTime - $F_first{$x[$[]}) /
			      ($F_last{$x[$[]} - $F_first{$x[$[]})));
		    $s = int($s/$RecordSize);
		    $c -= $s - 1;
		    if ($c <= 0)
		    {
			;# start is in the same file
			$fpos[$[+1] = $x[$[];
			$fpos[$[+2] = ($c >=-2) ? 0 : (-$c - 2) * $RecordSize;
			shift(@@f) while @@f && ($f[$[] ne $x[$[]);
		    }
		    else
		    {
			shift(@@x);
		    }
		}
		
		if (!defined($fpos[$[+2]))
		{
		    local($_);
		    while($_ = shift(@@x))
		    {
			$s = int($F_size{$_}/$RecordSize);
			$c -= $s - 1;
			if ($c <= 0)
			{
			    $fpos[$[+1] = $_;
			    $fpos[$[+2] = ($c>-2) ? 0 : (-$c - 2) * $RecordSize;
			    shift(@@f) while @@f && ($f[$[] ne $_);
			    last;
			}
		    }
		}
	    }
	}
	else
	{
	    print "guessing starting point according to count ($cnt)\n"
		if $verbose > 3;
	    ;# guess offset to get last available $cnt samples
	    if ($fpos[$[] eq 'cnt')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    print "old positioning applies\n" if $verbose > 3;
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('cnt', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('cnt', $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		local(@@x) = reverse(@@f);
		local($s,$c) = (0,$cnt);
		
		local($_);
		while($_ = shift(@@x))
		{
		    print "examing \"$_\" $c samples still needed\n"
			if $verbose > 4;
		    $s = int($F_size{$_}/$RecordSize);
		    $c -= $s - 1;
		    if ($c <= 0)
		    {
			$fpos[$[+1] = $_;
			$fpos[$[+2] = ($c>-2) ? 0 : (-$c - 2) * $RecordSize;
			shift(@@f) while @@f && ($f[$[] ne $_);
			last;
		    }
		}
		if (!defined($fpos[$[+2]))
		{
		    print "no starting point yet - using start of data\n"
			if $verbose > 2;
		    $fpos[$[+2] = 0;
		}
	    }
	}
    }
    print "Ooops, no suitable input file ??\n"
	if $verbose > 1 && @@f <= 0;

    printf("Starting at (%s) \"%s\" offset %ld using %d files\n",
	   $fpos[$[+1],
	   $F_name{$fpos[$[+1]},
	   $fpos[$[+2],
	   scalar(@@f))
	if $verbose > 2;

    $lm = 1;
    $l = 0;    
    foreach $key (@@f)
    {
	$file = $F_name{$key};
	print "processing file \"$file\"\n" if $verbose > 2;
	
	open(IN,"<$file") ||
	    (warn("$0: cannot read \"$file\": $!\n"), next);
	
	;# try to seek to a position nearer to the start of the interesting lines
	;# should always affect only first item in @@f
	($key eq $fpos[$[+1]) &&
	    (($verbose > 1) &&
	     print("Seeking to offset $fpos[$[+2]\n"),
		seek(IN,$fpos[$[+2],0) ||
		    warn("$0: seek(\"$F_name{$key}\" failed: $|\n"));
	
	while(<IN>)
	{
	    $l++;
	    ($verbose > 3) &&
		(($l % $lm) == 0 && print("\t$l lines read\n") &&
		 (($l ==     2) && ($lm =    10) ||
		  ($l ==   100) && ($lm =   100) ||
		  ($l ==   500) && ($lm =   500) ||
		  ($l ==  1000) && ($lm =  1000) ||
		  ($l ==  5000) && ($lm =  5000) ||
		  ($l == 10000) && ($lm = 10000)));
	    
	    @@F = split;
	    
	    next if @@F < 6;	# no valid input line is this short
	    next if $F[$[] eq "";
	    next if ($F[$[] !~ /^\d+$/);
	    ($F[$[] !~ /^\d+$/) && # A 'never should have happend' error
		die("$0: unexpected input line: >$_<\n");
	    
	    ;# modified Julian to UNIX epoch
	    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
	    $t += $F[$[+1];	# add seconds + fraction
	    
	    ;# multiply offset by 1000 to get ms - try to avoid float op
	    (($F[$[+2] =~ s/(\d*)\.(\d{3})(\d*)/$1$2.$3/) &&
	     $F[$[+2] =~ s/0+([\d\.])/($1 eq '.') ? '0.' : $1/e) # strip leading zeros
		|| ($F[$[+2] *= 1000);

	    
	    ;# skip samples out of specified time range
	    next if (defined($StartTime) && $StartTime > $t);
	    next if (defined($EndTime) && $EndTime < $t);
	    
	    next if defined($lastT) && $t < $lastT; # backward in time ??
	    
	    push(@@offs,$F[$[+2]);
	    push(@@freq,$F[$[+3] * (2**20/10**6));
	    push(@@cmpl,$F[$[+5]);
	    
	    push(@@break, (defined($lastT) && ($t - $lastT > $deltaT))); 
	    $lastT = $t;
	    push(@@time,$t);
	    push(@@loffset, tell(IN) - length($_));
	    push(@@filekey, $key);
	    
	    shift(@@break),shift(@@time),shift(@@offs),
	    shift(@@freq), shift(@@cmpl),shift(@@loffset),
	    shift(@@filekey)
		if @@time > $cnt &&
		    ! (defined($StartTime) && defined($EndTime));

	    last if @@time >= $cnt && defined($StartTime) && !defined($EndTime);
	}
	close(IN);
	last if @@time >= $cnt && defined($StartTime) && !defined($EndTime);
    }
    print "input scanned ($l lines/",scalar(@@time)," samples)\n"
	if $verbose > 1;
    
    if (@@time)
    {
	local($_,@@F);
	
	local($timebase) unless defined($timebase);
	local($freqbase) unless defined($freqbase);
	local($cmplscale) unless defined($cmplscale);
	
	undef $mintime;
	undef $maxtime;
	undef $minoffs;
	undef $maxoffs;
	undef $minfreq;
	undef $maxfreq;
	undef $mincmpl;
	undef $maxcmpl;
	undef $miny;
	undef $maxy ;
	
	print "computing ranges\n" if $verbose > 2;
	
	$LastCnt = @@time;

	;# @@time is in ascending order (;-)
	$mintime = $time[$[];
	$maxtime = $time[$#time];
	unless (defined($timebase))
	{
	    local($time,@@X) = (time);
	    @@X = localtime($time);
	    
	    ;# compute today 00:00:00
	    $timebase = $time - ((($X[$[+2]*60)+$X[$[+1])*60+$X[$[]);

	}
	$LastTimeBase = $timebase;

	if ($showoffs)
	{
	    local($i,$m,$f);
	    
	    $minoffs = &min(@@offs);
	    $maxoffs = &max(@@offs);
	    
	    ;# I know, it is not perl style using indices to access arrays,
	    ;# but I have to proccess two arrays in sync, non-destructively
	    ;# (otherwise a (shift(@@a1),shift(a2)) would do),
	    ;# I dont like to make copies of these arrays as they may be huge
	    $i = $[;
	    $lo->sample(($time[$i]-$timebase)/3600,$offs[$i]),$i++
		while $i <= $#time;

	    ($minoffs == $maxoffs) && ($minoffs -= 0.1,$maxoffs += 0.1);

	    $i = $lo->sigma();
	    $m = $lo->mean();

	    print "mean offset: $m sigma: $i\n" if $verbose > 2;

	    if (($maxoffs - $minoffs) > $MinClip)
	    {
		$f = (&abs($minoffs) < &abs($maxoffs)) ? $FuzzLow : $FuzzBig;
		$miny = (($m - $minoffs) <= ($f * $i))
		    ? $minoffs : ($m - $f * $i);
		$f = ($f == $FuzzLow) ? $FuzzBig : $FuzzLow;
		$maxy = (($maxoffs - $m) <= ($f * $i))
		    ? $maxoffs : ($m + $f * $i);
	    }
	    else
	    {
		$miny = $minoffs;
		$maxy = $maxoffs;
	    }
	    ($maxy-$miny) == 0 &&
		(($maxy,$miny)
		 = (($maxoffs - $minoffs) > 0)
		 ? ($maxoffs,$minoffs) : ($MinClip,-$MinClip));

	    $maxy = $MaxY if defined($MaxY) && $MaxY < $maxy;
	    $miny = $MinY if defined($MinY) && $MinY > $miny;

	    print  "offset min clipped from $minoffs to $miny\n"
		if $verbose > 2 && $minoffs != $miny;
	    print  "offset max clipped from $maxoffs to $maxy\n"
		if $verbose > 2 && $maxoffs != $maxy;
	}
	
	if ($showfreq)
	{
	    local($i,$m);
	    
	    $minfreq = &min(@@freq);
	    $maxfreq = &max(@@freq);
	    
	    $i = $[;
	    $lf->sample(($time[$i]-$timebase)/3600,$freq[$i]-$minfreq),
	    $i++
		while $i <= $#time;
	    
	    $i = $lf->sigma();
	    $m = $lf->mean() + $minfreq;

	    print "mean frequency: $m sigma: $i\n" if $verbose > 2;

	    if (defined($maxy))
	    {
		local($s) =
		    ($maxfreq - $minfreq)
			? ($maxy - $miny) / ($maxfreq - $minfreq) : 1;

		if (defined($freqbase))
		{
		    $FreqScale = 1;
		    $FreqScaleInv = "";
		}
		else
		{
		    $FreqScale = 1;
		    $FreqScale = 10 ** int(log($s)/log(10) - 0.9999);
		    $FreqScaleInv =
			("$FreqScale" =~ /^10(0*)$/) ? "0.${1}1" : 
			 ($FreqScale == 1 ? "" : (1/$FreqScale));
		    
		    $freqbase = ($maxfreq + $minfreq)/ 2 * $FreqScale; #$m * $FreqScale;
		    $freqbase -= ($maxy + $miny) / 2; #$lf->mean();

		    ;# round resulting freqbase
		    ;# to precision of min max difference
		    $s = -12;
		    $s = int(log(($maxfreq-$minfreq)*$FreqScale)/log(10))-1
			unless ($maxfreq-$minfreq) < 1e-12;
		    $s = 10 ** $s;
		    $freqbase = int($freqbase / $s) * $s;
		}
	    }
	    else
	    {
		$FreqScale = 1;
		$FreqScaleInv = "";
		$freqbase = $m unless defined($freqbase);
		if (($maxfreq - $minfreq) > $MinClip)
		{
		    $f = (&abs($minfreq) < &abs($maxfreq))
			? $FuzzLow : $FuzzBig;
		    $miny = (($freqbase - $minfreq) <= ($f * $i))
			? ($minfreq-$freqbase) : (- $f * $i);
		    $f = ($f == $FuzzLow) ? $FuzzBig : $FuzzLow;
		    $maxy = (($maxfreq - $freqbase) <= ($f * $i))
			? ($maxfreq-$freqbase) : ($f * $i);
		}
		else
		{
		    $miny = $minfreq - $freqbase;
		    $maxy = $maxfreq - $freqbase;
		}
		($maxy - $miny) == 0 &&
		    (($maxy,$miny) =
		     (($maxfreq - $minfreq) > 0)
		     ? ($maxfreq-$freqbase,$minfreq-$freqbase) : (0.5,-0.5));
		
		$maxy = $MaxY if defined($MaxY) && $MaxY < $maxy;
		$miny = $MinY if defined($MinY) && $MinY > $miny;

		print("frequency min clipped from ",$minfreq-$freqbase,
		      " to $miny\n")
		    if $verbose > 2 && $miny != ($minfreq - $freqbase);
		print("frequency max clipped from ",$maxfreq-$freqbase,
		      " to $maxy\n")
		    if $verbose > 2 && $maxy != ($maxfreq - $freqbase);
	    }
	    $LastFreqBaseString =
		sprintf("%g",$freqbase >= 0 ? $freqbase : -$freqbase);
	    $LastFreqBase = $freqbase;
	    print "LastFreqBaseString now \"$LastFreqBaseString\"\n"
		if $verbose > 5;
	}
	else
	{
	    $FreqScale = 1;
	    $FreqScaleInv = "";
	    $LastFreqBase = 0;
	    $LastFreqBaseString = "";
	}
		
	if ($showcmpl)
	{
	    $mincmpl = &min(@@cmpl);
	    $maxcmpl = &max(@@cmpl);

	    if (!defined($cmplscale))
	    {
		if (defined($maxy))
		{
		    local($cmp)
			= (&abs($miny) > &abs($maxy)) ? &abs($miny) : $maxy;
		    $cmplscale = $cmp == $maxy ? 1 : -1;

		    foreach (0.01, 0.02, 0.05,
			     0.1, 0.2, 0.25, 0.4, 0.5,
			     1, 2, 4, 5,
			     10, 20, 25, 50,
			     100, 200, 250, 500, 1000)
		    {
			$cmplscale *= $_, last if $maxcmpl/$_ <= $cmp;
		    }
		}
		else
		{
		    $cmplscale = 1;
		    $miny = $mincmpl ? 0 : -$MinClip;
		    $maxy = $maxcmpl+$MinClip;
		}
	    }
	    $LastCmplScale = $cmplscale;
	}
	else
	{
	    $LastCmplScale = 1;
	}
	
	print "creating plot command input file\n" if $verbose > 2;
	
	
	print OUT ("# preprocessed NTP statistics file for $STATHOST\n");
	print OUT ("#    timebase is: ",&ctime($LastTimeBase))
	    if defined($LastTimeBase);
	print OUT ("#    frequency is offset by  ",
		   ($LastFreqBase >= 0 ? "+" : "-"),
		   "$LastFreqBaseString [${FreqScaleInv}ppm]\n");
	print OUT ("#    compliance is scaled by $LastCmplScale\n");
	print OUT ("# time [h]\toffset [ms]\tfrequency [${FreqScaleInv}ppm]\tcompliance\n");
	
	printf OUT ("%s%lf\t%lf\t%lf\t%lf\n",
		    (shift(@@break) ? "\n" : ""),
		    (shift(@@time) - $LastTimeBase)/3600,
		    shift(@@offs),
		    shift(@@freq) * $FreqScale - $LastFreqBase,
		    shift(@@cmpl) / $LastCmplScale)
	    while(@@time);
    }
    else
    {
	;# prevent plotcmd from processing empty file
	print "Creating plot command dummy...\n" if $verbose > 2;
	print OUT "# dummy samples\n0 1 2 3\n1 1 2 3\n";
	$lo->sample(0,1);
	$lo->sample(1,1);
	$lf->sample(0,2);
	$lf->sample(1,2);
	@@time = (0, 1); $maxtime = 1; $mintime = 0;
	@@offs = (1, 1); $maxoffs = 1; $minoffs = 1;
	@@freq = (2, 2); $maxfreq = 2; $minfreq = 2;
	@@cmpl = (3, 3); $maxcmpl = 3; $mincmpl = 3;
	$LastCnt = 2;
	$LastFreqBase = 0;
	$LastCmplScale = 1;
	$LastTimeBase = 0;
	$miny = -$MinClip;
	$maxy = 3 + $MinClip;
    }
    close(OUT);
    
    print "plot command input file created\n"
	if $verbose > 2;
	
	
    if (($fpos[$[] eq 'cnt' && scalar(@@loffset) >= $cnt) ||
	($fpos[$[] eq 'start' && $mintime <= $StartTime) ||
	($fpos[$[] eq 'end'))
    {
	return ($fpos[$[],$filekey[$[],$loffset[$[]);
    }
    else			# found to few lines - next time start search earlier in file
    {
	if ($fpos[$[] eq 'start')
	{
	    ;# the timestamps we got for F_first and F_last guaranteed
	    ;# that no file is left out
	    ;# the only thing that could happen is:
	    ;# we guessed the starting point wrong
	    ;# compute a new guess from the first record found
	    ;# if this equals our last guess use data of first record
	    ;# otherwise try new guess
	    
	    if ($fpos[$[+1] eq $filekey[$[] && $loffset[$[] > $fpos[$[+2])
	    {
		local($noff);
		$noff = $loffset[$[] - ($cnt - @@loffset + 1) * $RecordSize;
		$noff = 0 if $noff < 0;
		
		return (@@fpos[$[,$[+1], ($noff == $fpos[$[+2]) ? $loffset[$[] : $noff);
	    }
	    return ($fpos[$[],$filekey[$[],$loffset[$[]);
	}
	elsif ($fpos[$[] eq 'end' || $fpos[$[] eq 'cnt')
	{
	    ;# try to start earlier in file
	    ;# if we already started at the beginning
	    ;# try to use previous file
	    ;# this assumes distance to better starting point is at most one file
	    ;# the primary guess at top of genfile() should usually allow this
	    ;# assumption
	    ;# if the offset of the first sample used is within 
	    ;# a different file than we guessed it must have occurred later
	    ;# in the sequence of files
	    ;# this only can happen if our starting file did not contain
	    ;# a valid sample from the starting point we guessed
	    ;# however this does not invalidate our assumption, no check needed
	    local($noff,$key);
	    if ($fpos[$[+2] > 0)
	    {
		$noff = $fpos[$[+2] - $RecordSize * ($cnt - @@loffset + 1);
		$noff = 0 if $noff < 0;
		return (@@fpos[$[,$[+1],$noff);
	    }
	    else
	    {
		if ($fpos[$[+1] eq $F_files[$[])
		{
		    ;# first file - and not enough samples
		    ;# use data of first sample
		    return ($fpos[$[], $filekey[$[], $loffset[$[]);
		}
		else
		{
		    ;# search key of previous file
		    $key = $F_files[$[];
		    @@F = reverse(@@F_files);
		    while ($_ = shift(@@F))
		    {
			if ($_ eq $fpos[$[+1])
			{
			    $key = shift(@@F) if @@F;
			    last;
			}
		    }
		    $noff = int($F_size{$key} / $RecordSize);
		    $noff -= $cnt - @@loffset;
		    $noff = 0 if $noff < 0;
		    $noff *= $RecordSize;
		    return ($fpos[$[], $key, $noff);
		}
	    }
	}
	else
	{
	    return ();
	}
	
	return 0 if @@loffset <= 1 || ($loffset[$#loffset] - $loffset[$[]) <= 1;
	
	;# EOF - 1.1 * avg(line) * $cnt
	local($val) =  $loffset[$#loffset]
	    - $cnt * 11 * (($loffset[$#loffset] - $loffset[$[]) / @@loffset) / 10;
	return ($val < 0) ? 0 : $val;
    }
}

$Ltime = -1 if ! defined($Ltime);
$LastFreqBase = 0;
$LastFreqBaseString = "??";

;# initial setup of plot
print "initialize plotting\n" if $verbose;
if (defined($PrintIt))
{
  if ($PrintIt =~ m,/,)
  {
    print "Saving plot to file $PrintIt\n";
    print PLOT "set output '$PrintIt'\n";
  }
  else
  {
    print "Printing plot on printer $PrintIt\n";
    print PLOT "set output '| lpr -P$PrintIt -h'\n";
  }
  print PLOT "set terminal postscript landscape color solid 'Helvetica' 10\n";
}
print PLOT "set grid\n";
print PLOT "set tics out\n";
print PLOT "set format y '%g '\n";
printf PLOT "set time 47\n" unless defined($PrintIt);

@@filepos =();
while(1)
{
  print &ctime(time) if $verbose;

  ;# update diplay characteristics
  &read_config;# unless defined($PrintIt);

  unlink($tmpfile);
  my $lo = lr->new();
  my $lf = lr->new();
    
  @@filepos = &genfile($samples,$srcprefix,$tmpfile,$lo,$lf,@@filepos);

  ;# make plotcmd display samples
  make_doplot($lo, $lf);
  print "Displaying plot...\n" if $verbose > 1;
  print "command for plot sub process:\n$doplot----\n" if $verbose > 3;
  print PLOT $doplot;
}
continue
{
  if (defined($PrintIt))
  {
    delete $SIG{'CHLD'};
    print PLOT "quit\n";
    close(PLOT);
    if ($PrintIt =~ m,/,)
    {
      print "Plot saved to file $PrintIt\n";
    }
    else
    {
      print "Plot spooled to printer $PrintIt\n";
    }
    unlink($tmpfile);
    exit(0);
  }
  ;# wait $delay seconds
  print "waiting $delay seconds ..." if $verbose > 2;
  sleep($delay);
  print " continuing\n" if $verbose > 2;
  undef($LastFreqBaseString);
}


sub date_time_spec2seconds
{
    local($_) = @@_;
    ;# a date_time_spec consistes of:
    ;#  YYYY-MM-DD_HH:MM:SS.ms
    ;# values can be omitted from the beginning and default than to
    ;# values of current date
    ;# values omitted from the end default to lowest possible values

    local($time) = time;
    local($sec,$min,$hour,$mday,$mon,$year)
	= localtime($time);

    local($last) = ();

    s/^\D*(.*\d)\D*/$1/;	# strip off garbage

  PARSE:
    {
	if (s/^(\d{4})(-|$)//)
	{
	    if ($1 < 1970)
	    {
		warn("$0: can not handle years before 1970 - year $1 ignored\n");
		return undef;
	    }
	    elsif ( $1 >= 2070)
	    {
		warn("$0: can not handle years past 2070 - year $1 ignored\n");
		return undef;
	    }
	    else
	    {
		$year = $1 % 100; # 0<= $year < 100
				 ;# - interpreted 70 .. 99,00 .. 69
	    }
	    $last = $[ + 5;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec: \"$_\" found after YEAR\n"),
	    return(undef)
		if $2 eq '';
	}

	if (s/^(\d{1,2})(-|$)//)
	{
	    warn("$0: implausible month $1\n"),return(undef)
		if $1 < 1 || $1 > 12;
	    $mon = $1 - 1;
	    $last = $[ + 4;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec: \"$_\" found after MONTH\n"),
	    return(undef)
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"),return(undef)
		if defined($last);
	    
	}

	if (s/^(\d{1,2})([_ ]|$)//)
	{
	    warn("$0: implausible month day $1 for month ".($mon+1)." (".
		 $MaxNumDaysPerMonth[$mon].")$mon\n"),
	    return(undef)
		if $1 < 1 || $1 > $MaxNumDaysPerMonth[$mon];
	    $mday = $1;
	    $last = $[ + 3;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec \"$_\" found after MDAY\n"),
	    return(undef)
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	;# now we face a problem:
 	;# if ! defined($last) a prefix of "07:"
	;# can be either 07:MM or 07:ss
	;# to get the second interpretation make the user add
 	;# a msec fraction part and check for this special case
	if (! defined($last) && s/^(\d{1,2}):(\d{1,2}\.\d+)//)
	{
	    warn("$0: implausible minute $1\n"), return undef
		if $1 < 0 || $1 >= 60;
	    warn("$0: implausible second $1\n"), return undef
		if $2 < 0 || $2 >= 60;
	    $min = $1;
	    $sec = $2;
	    $last = $[ + 1;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec \"$_\" after SECONDS\n");
	    return undef;
	}
	
	if (s/^(\d{1,2})(:|$)//)
	{
	    warn("$0: implausible hour $1\n"), return undef
		if $1 < 0 || $1 > 24;
	    $hour = $1;
	    $last = $[ + 2;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after HOUR\n"),
	    return undef
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	if (s/^(\d{1,2})(:|$)//)
	{
	    warn("$0: implausible minute $1\n"), return undef
		if $1 < 0 || $1 >=60;
	    $min = $1;
	    $last = $[ + 1;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after MINUTE\n"),
	    return undef
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	if (s/^(\d{1,2}(\.\d+)?)//)
	{
	    warn("$0: implausible second $1\n"), return undef
		if $1 < 0 || $1 >=60;
	    $sec = $1;
	    $last = $[;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after SECOND\n");
	    return undef;
	}
    }

    return $time unless defined($last);

    $sec  = 0 if $last > $[;
    $min  = 0 if $last > $[ + 1;
    $hour = 0 if $last > $[ + 2;
    $mday = 1 if $last > $[ + 3;
    $mon  = 0 if $last > $[ + 4;
    local($rtime) = &timelocal($sec,$min,$hour,$mday,$mon,$year, 0,0, 0);

    ;# $rtime may be off if daylight savings time is in effect at given date
    return $rtime + ($sec - int($sec))
	if $hour == (localtime($rtime))[$[+2];
    return
	&timelocal($sec,$min,$hour,$mday,$mon,$year, 0,0, 1)
	    + ($sec - int($sec));
}


sub min
{
  local($m) = shift;

  grep((($m > $_) && ($m = $_),0),@@_);
  $m;
}

sub max
{
  local($m) = shift;

  grep((($m < $_) && ($m = $_),0),@@_);
  $m;
}
@


1.1.1.2.8.1
log
@file ntploopwatch was added on branch netbsd-5-2 on 2015-01-07 10:10:18 +0000
@
text
@d1 1667
@


1.1.1.2.8.2
log
@Pullup the following revision (requested by he in ticket #1938):

dist/ntp/COPYRIGHT						delete
dist/ntp/ChangeLog						delete
dist/ntp/CommitLog						delete
dist/ntp/CommitLog-4.1.0					delete
dist/ntp/INSTALL						delete
dist/ntp/Makefile.am						delete
dist/ntp/Makefile.in						delete
dist/ntp/NEWS							delete
dist/ntp/NOTES.y2kfixes						delete
dist/ntp/README							delete
dist/ntp/README.bk						delete
dist/ntp/README.hackers						delete
dist/ntp/README.patches						delete
dist/ntp/README.refclocks					delete
dist/ntp/README.versions					delete
dist/ntp/TODO							delete
dist/ntp/WHERE-TO-START						delete
dist/ntp/aclocal.m4						delete
dist/ntp/bincheck.mf						delete
dist/ntp/bootstrap						delete
dist/ntp/build							delete
dist/ntp/compile						delete
dist/ntp/config.guess						delete
dist/ntp/config.h.in						delete
dist/ntp/config.sub						delete
dist/ntp/configure						delete
dist/ntp/configure.ac						delete
dist/ntp/depcomp						delete
dist/ntp/dot.emacs						delete
dist/ntp/excludes						delete
dist/ntp/flock-build						delete
dist/ntp/install-sh						delete
dist/ntp/ltmain.sh						delete
dist/ntp/missing						delete
dist/ntp/ntp-html2mdoc.pl					delete
dist/ntp/ntp2netbsd						delete
dist/ntp/packageinfo.sh						delete
dist/ntp/readme.y2kfixes					delete
dist/ntp/results.y2kfixes					delete
dist/ntp/version						delete
dist/ntp/version.m4						delete
dist/ntp/ElectricFence/CHANGES					delete
dist/ntp/ElectricFence/COPYING					delete
dist/ntp/ElectricFence/Makefile.am				delete
dist/ntp/ElectricFence/Makefile.in				delete
dist/ntp/ElectricFence/README					delete
dist/ntp/ElectricFence/efence.c					delete
dist/ntp/ElectricFence/efence.h					delete
dist/ntp/ElectricFence/eftest.c					delete
dist/ntp/ElectricFence/libefence.3				delete
dist/ntp/ElectricFence/page.c					delete
dist/ntp/ElectricFence/print.c					delete
dist/ntp/ElectricFence/tstheap.c				delete
dist/ntp/adjtimed/Makefile.am					delete
dist/ntp/adjtimed/Makefile.in					delete
dist/ntp/adjtimed/README					delete
dist/ntp/adjtimed/adjtimed.c					delete
dist/ntp/arlib/COPYING						delete
dist/ntp/arlib/INSTALL						delete
dist/ntp/arlib/Makefile.am					delete
dist/ntp/arlib/Makefile.in					delete
dist/ntp/arlib/README						delete
dist/ntp/arlib/UNSHAR.HDR					delete
dist/ntp/arlib/aclocal.m4					delete
dist/ntp/arlib/arlib.3						delete
dist/ntp/arlib/arlib.c						delete
dist/ntp/arlib/arlib.h						delete
dist/ntp/arlib/arplib.h						delete
dist/ntp/arlib/configure					delete
dist/ntp/arlib/configure.in					delete
dist/ntp/arlib/depcomp						delete
dist/ntp/arlib/install-sh					delete
dist/ntp/arlib/missing						delete
dist/ntp/arlib/sample.c						delete
dist/ntp/clockstuff/Makefile.am					delete
dist/ntp/clockstuff/Makefile.in					delete
dist/ntp/clockstuff/README					delete
dist/ntp/clockstuff/chutest.c					delete
dist/ntp/clockstuff/clktest.c					delete
dist/ntp/clockstuff/propdelay.c					delete
dist/ntp/conf/README						delete
dist/ntp/conf/baldwin.conf					delete
dist/ntp/conf/beauregard.conf					delete
dist/ntp/conf/grundoon.conf					delete
dist/ntp/conf/malarky.conf					delete
dist/ntp/conf/pogo.conf						delete
dist/ntp/conf/rackety.conf					delete
dist/ntp/html/accopt.html					delete
dist/ntp/html/assoc.html					delete
dist/ntp/html/audio.html					delete
dist/ntp/html/authopt.html					delete
dist/ntp/html/clockopt.html					delete
dist/ntp/html/confopt.html					delete
dist/ntp/html/copyright.html					delete
dist/ntp/html/debug.html					delete
dist/ntp/html/extern.html					delete
dist/ntp/html/gadget.html					delete
dist/ntp/html/groups.html					delete
dist/ntp/html/howto.html					delete
dist/ntp/html/index.html					delete
dist/ntp/html/kern.html						delete
dist/ntp/html/keygen.html					delete
dist/ntp/html/ldisc.html					delete
dist/ntp/html/manyopt.html					delete
dist/ntp/html/measure.html					delete
dist/ntp/html/miscopt.html					delete
dist/ntp/html/monopt.html					delete
dist/ntp/html/msyslog.html					delete
dist/ntp/html/mx4200data.html					delete
dist/ntp/html/notes.html					delete
dist/ntp/html/ntp_conf.html					delete
dist/ntp/html/ntpd.html						delete
dist/ntp/html/ntpdate.html					delete
dist/ntp/html/ntpdc.html					delete
dist/ntp/html/ntpdsim.html					delete
dist/ntp/html/ntpdsim_new.html					delete
dist/ntp/html/ntpq.html						delete
dist/ntp/html/ntptime.html					delete
dist/ntp/html/ntptrace.html					delete
dist/ntp/html/parsedata.html					delete
dist/ntp/html/parsenew.html					delete
dist/ntp/html/pps.html						delete
dist/ntp/html/prefer.html					delete
dist/ntp/html/rdebug.html					delete
dist/ntp/html/refclock.html					delete
dist/ntp/html/release.html					delete
dist/ntp/html/sntp.html						delete
dist/ntp/html/tickadj.html					delete
dist/ntp/html/build/build.html					delete
dist/ntp/html/build/config.html					delete
dist/ntp/html/build/hints.html					delete
dist/ntp/html/build/patches.html				delete
dist/ntp/html/build/porting.html				delete
dist/ntp/html/build/quick.html					delete
dist/ntp/html/build/hints/a-ux					delete
dist/ntp/html/build/hints/aix					delete
dist/ntp/html/build/hints/bsdi					delete
dist/ntp/html/build/hints/changes				delete
dist/ntp/html/build/hints/decosf1				delete
dist/ntp/html/build/hints/decosf2				delete
dist/ntp/html/build/hints/freebsd				delete
dist/ntp/html/build/hints/hpux					delete
dist/ntp/html/build/hints/linux					delete
dist/ntp/html/build/hints/mpeix					delete
dist/ntp/html/build/hints/netbsd				delete
dist/ntp/html/build/hints/notes-xntp-v3				delete
dist/ntp/html/build/hints/parse					delete
dist/ntp/html/build/hints/refclocks				delete
dist/ntp/html/build/hints/rs6000				delete
dist/ntp/html/build/hints/sco.html				delete
dist/ntp/html/build/hints/sgi					delete
dist/ntp/html/build/hints/solaris-dosynctodr.html		delete
dist/ntp/html/build/hints/solaris.html				delete
dist/ntp/html/build/hints/solaris.xtra.4023118			delete
dist/ntp/html/build/hints/solaris.xtra.4095849			delete
dist/ntp/html/build/hints/solaris.xtra.S99ntpd			delete
dist/ntp/html/build/hints/solaris.xtra.patchfreq		delete
dist/ntp/html/build/hints/sun4					delete
dist/ntp/html/build/hints/svr4-dell				delete
dist/ntp/html/build/hints/svr4_package				delete
dist/ntp/html/build/hints/todo					delete
dist/ntp/html/build/hints/vxworks.html				delete
dist/ntp/html/build/hints/winnt.html				delete
dist/ntp/html/build/scripts/footer.txt				delete
dist/ntp/html/build/scripts/links10.txt				delete
dist/ntp/html/build/scripts/links11.txt				delete
dist/ntp/html/build/scripts/links12.txt				delete
dist/ntp/html/build/scripts/links7.txt				delete
dist/ntp/html/build/scripts/links8.txt				delete
dist/ntp/html/build/scripts/links9.txt				delete
dist/ntp/html/build/scripts/style.css				delete
dist/ntp/html/drivers/driver1.html				delete
dist/ntp/html/drivers/driver10.html				delete
dist/ntp/html/drivers/driver11.html				delete
dist/ntp/html/drivers/driver12.html				delete
dist/ntp/html/drivers/driver16.html				delete
dist/ntp/html/drivers/driver18.html				delete
dist/ntp/html/drivers/driver19.html				delete
dist/ntp/html/drivers/driver2.html				delete
dist/ntp/html/drivers/driver20.html				delete
dist/ntp/html/drivers/driver22.html				delete
dist/ntp/html/drivers/driver26.html				delete
dist/ntp/html/drivers/driver27.html				delete
dist/ntp/html/drivers/driver28.html				delete
dist/ntp/html/drivers/driver29.html				delete
dist/ntp/html/drivers/driver3.html				delete
dist/ntp/html/drivers/driver30.html				delete
dist/ntp/html/drivers/driver31.html				delete
dist/ntp/html/drivers/driver32.html				delete
dist/ntp/html/drivers/driver33.html				delete
dist/ntp/html/drivers/driver34.html				delete
dist/ntp/html/drivers/driver35.html				delete
dist/ntp/html/drivers/driver36.html				delete
dist/ntp/html/drivers/driver37.html				delete
dist/ntp/html/drivers/driver38.html				delete
dist/ntp/html/drivers/driver39.html				delete
dist/ntp/html/drivers/driver4.html				delete
dist/ntp/html/drivers/driver40.html				delete
dist/ntp/html/drivers/driver42.html				delete
dist/ntp/html/drivers/driver43.html				delete
dist/ntp/html/drivers/driver44.html				delete
dist/ntp/html/drivers/driver5.html				delete
dist/ntp/html/drivers/driver6.html				delete
dist/ntp/html/drivers/driver7.html				delete
dist/ntp/html/drivers/driver8.html				delete
dist/ntp/html/drivers/driver9.html				delete
dist/ntp/html/drivers/oncore-shmem.html				delete
dist/ntp/html/drivers/tf582_4.html				delete
dist/ntp/html/drivers/icons/home.gif				delete
dist/ntp/html/drivers/icons/mail2.gif				delete
dist/ntp/html/drivers/scripts/footer.txt			delete
dist/ntp/html/drivers/scripts/style.css				delete
dist/ntp/html/icons/home.gif					delete
dist/ntp/html/icons/mail2.gif					delete
dist/ntp/html/scripts/footer.txt				delete
dist/ntp/html/scripts/links10.txt				delete
dist/ntp/html/scripts/links11.txt				delete
dist/ntp/html/scripts/links12.txt				delete
dist/ntp/html/scripts/links7.txt				delete
dist/ntp/html/scripts/links8.txt				delete
dist/ntp/html/scripts/links9.txt				delete
dist/ntp/html/scripts/style.css					delete
dist/ntp/include/Makefile.am					delete
dist/ntp/include/Makefile.in					delete
dist/ntp/include/README						delete
dist/ntp/include/adjtime.h					delete
dist/ntp/include/ascii.h					delete
dist/ntp/include/audio.h					delete
dist/ntp/include/autogen-version.def				delete
dist/ntp/include/binio.h					delete
dist/ntp/include/copyright.def					delete
dist/ntp/include/debug-opt.def					delete
dist/ntp/include/global.h					delete
dist/ntp/include/gps.h						delete
dist/ntp/include/homerc.def					delete
dist/ntp/include/hopf6039.h					delete
dist/ntp/include/icom.h						delete
dist/ntp/include/ieee754io.h					delete
dist/ntp/include/iosignal.h					delete
dist/ntp/include/l_stdlib.h					delete
dist/ntp/include/mbg_gps166.h					delete
dist/ntp/include/mx4200.h					delete
dist/ntp/include/ntif.h						delete
dist/ntp/include/ntp.h						delete
dist/ntp/include/ntp_calendar.h					delete
dist/ntp/include/ntp_cmdargs.h					delete
dist/ntp/include/ntp_config.h					delete
dist/ntp/include/ntp_control.h					delete
dist/ntp/include/ntp_crypto.h					delete
dist/ntp/include/ntp_datum.h					delete
dist/ntp/include/ntp_debug.h					delete
dist/ntp/include/ntp_filegen.h					delete
dist/ntp/include/ntp_fp.h					delete
dist/ntp/include/ntp_if.h					delete
dist/ntp/include/ntp_io.h					delete
dist/ntp/include/ntp_machine.h					delete
dist/ntp/include/ntp_malloc.h					delete
dist/ntp/include/ntp_md5.h					delete
dist/ntp/include/ntp_proto.h					delete
dist/ntp/include/ntp_random.h					delete
dist/ntp/include/ntp_refclock.h					delete
dist/ntp/include/ntp_request.h					delete
dist/ntp/include/ntp_rfc2553.h					delete
dist/ntp/include/ntp_select.h					delete
dist/ntp/include/ntp_sprintf.h					delete
dist/ntp/include/ntp_stdlib.h					delete
dist/ntp/include/ntp_string.h					delete
dist/ntp/include/ntp_syscall.h					delete
dist/ntp/include/ntp_syslog.h					delete
dist/ntp/include/ntp_tty.h					delete
dist/ntp/include/ntp_types.h					delete
dist/ntp/include/ntp_unixtime.h					delete
dist/ntp/include/ntpd.h						delete
dist/ntp/include/ntpsim.h					delete
dist/ntp/include/parse.h					delete
dist/ntp/include/parse_conf.h					delete
dist/ntp/include/recvbuff.h					delete
dist/ntp/include/rsa_md5.h					delete
dist/ntp/include/timepps-SCO.h					delete
dist/ntp/include/timepps-Solaris.h				delete
dist/ntp/include/timepps-SunOS.h				delete
dist/ntp/include/trimble.h					delete
dist/ntp/include/version.def					delete
dist/ntp/include/isc/Makefile.am				delete
dist/ntp/include/isc/Makefile.in				delete
dist/ntp/include/isc/app.h					delete
dist/ntp/include/isc/assertions.h				delete
dist/ntp/include/isc/boolean.h					delete
dist/ntp/include/isc/buffer.h					delete
dist/ntp/include/isc/error.h					delete
dist/ntp/include/isc/formatcheck.h				delete
dist/ntp/include/isc/int.h					delete
dist/ntp/include/isc/interfaceiter.h				delete
dist/ntp/include/isc/ipv6.h					delete
dist/ntp/include/isc/lang.h					delete
dist/ntp/include/isc/lib.h					delete
dist/ntp/include/isc/list.h					delete
dist/ntp/include/isc/magic.h					delete
dist/ntp/include/isc/mem.h					delete
dist/ntp/include/isc/msgcat.h					delete
dist/ntp/include/isc/msgs.h					delete
dist/ntp/include/isc/mutex.h					delete
dist/ntp/include/isc/net.h					delete
dist/ntp/include/isc/netaddr.h					delete
dist/ntp/include/isc/netscope.h					delete
dist/ntp/include/isc/offset.h					delete
dist/ntp/include/isc/once.h					delete
dist/ntp/include/isc/platform.h					delete
dist/ntp/include/isc/print.h					delete
dist/ntp/include/isc/region.h					delete
dist/ntp/include/isc/result.h					delete
dist/ntp/include/isc/sockaddr.h					delete
dist/ntp/include/isc/strerror.h					delete
dist/ntp/include/isc/string.h					delete
dist/ntp/include/isc/types.h					delete
dist/ntp/include/isc/util.h					delete
dist/ntp/kernel/Makefile.am					delete
dist/ntp/kernel/Makefile.in					delete
dist/ntp/kernel/README						delete
dist/ntp/kernel/chuinit.c					delete
dist/ntp/kernel/clkinit.c					delete
dist/ntp/kernel/tty_chu.c					delete
dist/ntp/kernel/tty_chu_STREAMS.c				delete
dist/ntp/kernel/tty_clk.c					delete
dist/ntp/kernel/tty_clk_STREAMS.c				delete
dist/ntp/kernel/sys/Makefile.am					delete
dist/ntp/kernel/sys/Makefile.in					delete
dist/ntp/kernel/sys/README					delete
dist/ntp/kernel/sys/bsd_audioirig.h				delete
dist/ntp/kernel/sys/chudefs.h					delete
dist/ntp/kernel/sys/clkdefs.h					delete
dist/ntp/kernel/sys/i8253.h					delete
dist/ntp/kernel/sys/parsestreams.h				delete
dist/ntp/kernel/sys/pcl720.h					delete
dist/ntp/kernel/sys/ppsclock.h					delete
dist/ntp/kernel/sys/timex.h					delete
dist/ntp/kernel/sys/tpro.h					delete
dist/ntp/kernel/sys/tt560_api.h					delete
dist/ntp/libisc/assertions.c					delete
dist/ntp/libisc/error.c						delete
dist/ntp/libisc/ifiter_getifaddrs.c				delete
dist/ntp/libisc/ifiter_ioctl.c					delete
dist/ntp/libisc/ifiter_sysctl.c					delete
dist/ntp/libisc/inet_aton.c					delete
dist/ntp/libisc/inet_ntop.c					delete
dist/ntp/libisc/inet_pton.c					delete
dist/ntp/libisc/interfaceiter.c					delete
dist/ntp/libisc/isc_strerror.c					delete
dist/ntp/libisc/lib.c						delete
dist/ntp/libisc/mem.c						delete
dist/ntp/libisc/msgcat.c					delete
dist/ntp/libisc/net.c						delete
dist/ntp/libisc/netaddr.c					delete
dist/ntp/libisc/netscope.c					delete
dist/ntp/libisc/sockaddr.c					delete
dist/ntp/libisc/strerror.c					delete
dist/ntp/libntp/Makefile.am					delete
dist/ntp/libntp/Makefile.in					delete
dist/ntp/libntp/README						delete
dist/ntp/libntp/a_md5encrypt.c					delete
dist/ntp/libntp/adjtime.c					delete
dist/ntp/libntp/adjtimex.c					delete
dist/ntp/libntp/atoint.c					delete
dist/ntp/libntp/atolfp.c					delete
dist/ntp/libntp/atouint.c					delete
dist/ntp/libntp/audio.c						delete
dist/ntp/libntp/authkeys.c					delete
dist/ntp/libntp/authreadkeys.c					delete
dist/ntp/libntp/authusekey.c					delete
dist/ntp/libntp/buftvtots.c					delete
dist/ntp/libntp/caljulian.c					delete
dist/ntp/libntp/caltontp.c					delete
dist/ntp/libntp/calyearstart.c					delete
dist/ntp/libntp/clocktime.c					delete
dist/ntp/libntp/clocktypes.c					delete
dist/ntp/libntp/decodenetnum.c					delete
dist/ntp/libntp/dofptoa.c					delete
dist/ntp/libntp/dolfptoa.c					delete
dist/ntp/libntp/emalloc.c					delete
dist/ntp/libntp/findconfig.c					delete
dist/ntp/libntp/fptoa.c						delete
dist/ntp/libntp/fptoms.c					delete
dist/ntp/libntp/getopt.c					delete
dist/ntp/libntp/hextoint.c					delete
dist/ntp/libntp/hextolfp.c					delete
dist/ntp/libntp/humandate.c					delete
dist/ntp/libntp/icom.c						delete
dist/ntp/libntp/inttoa.c					delete
dist/ntp/libntp/iosignal.c					delete
dist/ntp/libntp/lib_strbuf.c					delete
dist/ntp/libntp/lib_strbuf.h					delete
dist/ntp/libntp/machines.c					delete
dist/ntp/libntp/md5c.c						delete
dist/ntp/libntp/memmove.c					delete
dist/ntp/libntp/mfptoa.c					delete
dist/ntp/libntp/mfptoms.c					delete
dist/ntp/libntp/mktime.c					delete
dist/ntp/libntp/modetoa.c					delete
dist/ntp/libntp/mstolfp.c					delete
dist/ntp/libntp/msutotsf.c					delete
dist/ntp/libntp/msyslog.c					delete
dist/ntp/libntp/netof.c						delete
dist/ntp/libntp/ntp_random.c					delete
dist/ntp/libntp/ntp_rfc2553.c					delete
dist/ntp/libntp/numtoa.c					delete
dist/ntp/libntp/numtohost.c					delete
dist/ntp/libntp/octtoint.c					delete
dist/ntp/libntp/prettydate.c					delete
dist/ntp/libntp/recvbuff.c					delete
dist/ntp/libntp/refnumtoa.c					delete
dist/ntp/libntp/snprintf.c					delete
dist/ntp/libntp/socktoa.c					delete
dist/ntp/libntp/socktohost.c					delete
dist/ntp/libntp/statestr.c					delete
dist/ntp/libntp/strdup.c					delete
dist/ntp/libntp/strerror.c					delete
dist/ntp/libntp/strstr.c					delete
dist/ntp/libntp/syssignal.c					delete
dist/ntp/libntp/systime.c					delete
dist/ntp/libntp/systime_s.c					delete
dist/ntp/libntp/tsftomsu.c					delete
dist/ntp/libntp/tstotv.c					delete
dist/ntp/libntp/tvtoa.c						delete
dist/ntp/libntp/tvtots.c					delete
dist/ntp/libntp/uglydate.c					delete
dist/ntp/libntp/uinttoa.c					delete
dist/ntp/libntp/utvtoa.c					delete
dist/ntp/libntp/ymd2yd.c					delete
dist/ntp/libopts/COPYING.lgpl					delete
dist/ntp/libopts/COPYING.mbsd					delete
dist/ntp/libopts/MakeDefs.inc					delete
dist/ntp/libopts/Makefile.am					delete
dist/ntp/libopts/Makefile.in					delete
dist/ntp/libopts/README						delete
dist/ntp/libopts/autoopts.c					delete
dist/ntp/libopts/autoopts.h					delete
dist/ntp/libopts/boolean.c					delete
dist/ntp/libopts/configfile.c					delete
dist/ntp/libopts/cook.c						delete
dist/ntp/libopts/enumeration.c					delete
dist/ntp/libopts/environment.c					delete
dist/ntp/libopts/genshell.c					delete
dist/ntp/libopts/genshell.h					delete
dist/ntp/libopts/libopts.c					delete
dist/ntp/libopts/load.c						delete
dist/ntp/libopts/makeshell.c					delete
dist/ntp/libopts/nested.c					delete
dist/ntp/libopts/numeric.c					delete
dist/ntp/libopts/pgusage.c					delete
dist/ntp/libopts/proto.h					delete
dist/ntp/libopts/putshell.c					delete
dist/ntp/libopts/restore.c					delete
dist/ntp/libopts/save.c						delete
dist/ntp/libopts/sort.c						delete
dist/ntp/libopts/stack.c					delete
dist/ntp/libopts/streqvcmp.c					delete
dist/ntp/libopts/text_mmap.c					delete
dist/ntp/libopts/tokenize.c					delete
dist/ntp/libopts/usage.c					delete
dist/ntp/libopts/version.c					delete
dist/ntp/libopts/autoopts/options.h				delete
dist/ntp/libopts/autoopts/usage-txt.h				delete
dist/ntp/libopts/compat/compat.h				delete
dist/ntp/libopts/compat/pathfind.c				delete
dist/ntp/libopts/compat/snprintf.c				delete
dist/ntp/libopts/compat/strchr.c				delete
dist/ntp/libopts/compat/strdup.c				delete
dist/ntp/libopts/compat/windows-config.h			delete
dist/ntp/libopts/m4/libopts.m4					delete
dist/ntp/libopts/m4/liboptschk.m4				delete
dist/ntp/libparse/Makefile.am					delete
dist/ntp/libparse/Makefile.in					delete
dist/ntp/libparse/README					delete
dist/ntp/libparse/binio.c					delete
dist/ntp/libparse/clk_computime.c				delete
dist/ntp/libparse/clk_dcf7000.c					delete
dist/ntp/libparse/clk_hopf6021.c				delete
dist/ntp/libparse/clk_meinberg.c				delete
dist/ntp/libparse/clk_rawdcf.c					delete
dist/ntp/libparse/clk_rcc8000.c					delete
dist/ntp/libparse/clk_schmid.c					delete
dist/ntp/libparse/clk_trimtaip.c				delete
dist/ntp/libparse/clk_trimtsip.c				delete
dist/ntp/libparse/clk_varitext.c				delete
dist/ntp/libparse/clk_wharton.c					delete
dist/ntp/libparse/data_mbg.c					delete
dist/ntp/libparse/gpstolfp.c					delete
dist/ntp/libparse/ieee754io.c					delete
dist/ntp/libparse/info_trimble.c				delete
dist/ntp/libparse/mfp_mul.c					delete
dist/ntp/libparse/mkinfo_rcmd.sed				delete
dist/ntp/libparse/mkinfo_scmd.sed				delete
dist/ntp/libparse/parse.c					delete
dist/ntp/libparse/parse_conf.c					delete
dist/ntp/libparse/parsesolaris.c				delete
dist/ntp/libparse/parsestreams.c				delete
dist/ntp/libparse/trim_info.c					delete
dist/ntp/m4/define_dir.m4					delete
dist/ntp/m4/hs_ulong_const.m4					delete
dist/ntp/m4/os_cflags.m4					delete
dist/ntp/ntpd/Makefile.am					delete
dist/ntp/ntpd/Makefile.in					delete
dist/ntp/ntpd/check_y2k.c					delete
dist/ntp/ntpd/cmd_args.c					delete
dist/ntp/ntpd/jupiter.h						delete
dist/ntp/ntpd/ntp_config.c					delete
dist/ntp/ntpd/ntp_control.c					delete
dist/ntp/ntpd/ntp_crypto.c					delete
dist/ntp/ntpd/ntp_filegen.c					delete
dist/ntp/ntpd/ntp_intres.c					delete
dist/ntp/ntpd/ntp_io.c						delete
dist/ntp/ntpd/ntp_loopfilter.c					delete
dist/ntp/ntpd/ntp_monitor.c					delete
dist/ntp/ntpd/ntp_peer.c					delete
dist/ntp/ntpd/ntp_proto.c					delete
dist/ntp/ntpd/ntp_refclock.c					delete
dist/ntp/ntpd/ntp_request.c					delete
dist/ntp/ntpd/ntp_restrict.c					delete
dist/ntp/ntpd/ntp_timer.c					delete
dist/ntp/ntpd/ntp_util.c					delete
dist/ntp/ntpd/ntpd-opts.c					delete
dist/ntp/ntpd/ntpd-opts.def					delete
dist/ntp/ntpd/ntpd-opts.h					delete
dist/ntp/ntpd/ntpd-opts.menu					delete
dist/ntp/ntpd/ntpd-opts.texi					delete
dist/ntp/ntpd/ntpd.1						delete
dist/ntp/ntpd/ntpd.c						delete
dist/ntp/ntpd/ntpdbase-opts.def					delete
dist/ntp/ntpd/ntpdsim-opts.c					delete
dist/ntp/ntpd/ntpdsim-opts.def					delete
dist/ntp/ntpd/ntpdsim-opts.h					delete
dist/ntp/ntpd/ntpdsim-opts.menu					delete
dist/ntp/ntpd/ntpdsim-opts.texi					delete
dist/ntp/ntpd/ntpdsim.1						delete
dist/ntp/ntpd/ntpsim.c						delete
dist/ntp/ntpd/ppsapi_timepps.h					delete
dist/ntp/ntpd/refclock_acts.c					delete
dist/ntp/ntpd/refclock_arbiter.c				delete
dist/ntp/ntpd/refclock_arc.c					delete
dist/ntp/ntpd/refclock_as2201.c					delete
dist/ntp/ntpd/refclock_atom.c					delete
dist/ntp/ntpd/refclock_bancomm.c				delete
dist/ntp/ntpd/refclock_chronolog.c				delete
dist/ntp/ntpd/refclock_chu.c					delete
dist/ntp/ntpd/refclock_conf.c					delete
dist/ntp/ntpd/refclock_datum.c					delete
dist/ntp/ntpd/refclock_dumbclock.c				delete
dist/ntp/ntpd/refclock_fg.c					delete
dist/ntp/ntpd/refclock_gpsvme.c					delete
dist/ntp/ntpd/refclock_heath.c					delete
dist/ntp/ntpd/refclock_hopfpci.c				delete
dist/ntp/ntpd/refclock_hopfser.c				delete
dist/ntp/ntpd/refclock_hpgps.c					delete
dist/ntp/ntpd/refclock_irig.c					delete
dist/ntp/ntpd/refclock_jjy.c					delete
dist/ntp/ntpd/refclock_jupiter.c				delete
dist/ntp/ntpd/refclock_leitch.c					delete
dist/ntp/ntpd/refclock_local.c					delete
dist/ntp/ntpd/refclock_msfees.c					delete
dist/ntp/ntpd/refclock_mx4200.c					delete
dist/ntp/ntpd/refclock_neoclock4x.c				delete
dist/ntp/ntpd/refclock_nmea.c					delete
dist/ntp/ntpd/refclock_oncore.c					delete
dist/ntp/ntpd/refclock_palisade.c				delete
dist/ntp/ntpd/refclock_palisade.h				delete
dist/ntp/ntpd/refclock_parse.c					delete
dist/ntp/ntpd/refclock_pcf.c					delete
dist/ntp/ntpd/refclock_pst.c					delete
dist/ntp/ntpd/refclock_ripencc.c				delete
dist/ntp/ntpd/refclock_shm.c					delete
dist/ntp/ntpd/refclock_tpro.c					delete
dist/ntp/ntpd/refclock_trak.c					delete
dist/ntp/ntpd/refclock_true.c					delete
dist/ntp/ntpd/refclock_tt560.c					delete
dist/ntp/ntpd/refclock_ulink.c					delete
dist/ntp/ntpd/refclock_wwv.c					delete
dist/ntp/ntpd/refclock_wwvb.c					delete
dist/ntp/ntpd/refclock_zyfer.c					delete
dist/ntp/ntpdate/Makefile.am					delete
dist/ntp/ntpdate/Makefile.in					delete
dist/ntp/ntpdate/README						delete
dist/ntp/ntpdate/ntpdate.c					delete
dist/ntp/ntpdate/ntpdate.h					delete
dist/ntp/ntpdate/ntptime_config.c				delete
dist/ntp/ntpdate/ntptimeset.c					delete
dist/ntp/ntpdc/Makefile.am					delete
dist/ntp/ntpdc/Makefile.in					delete
dist/ntp/ntpdc/README						delete
dist/ntp/ntpdc/layout.std					delete
dist/ntp/ntpdc/nl.pl						delete
dist/ntp/ntpdc/nl.pl.in						delete
dist/ntp/ntpdc/nl_in.c						delete
dist/ntp/ntpdc/ntpdc-layout.c					delete
dist/ntp/ntpdc/ntpdc-opts.c					delete
dist/ntp/ntpdc/ntpdc-opts.def					delete
dist/ntp/ntpdc/ntpdc-opts.h					delete
dist/ntp/ntpdc/ntpdc-opts.menu					delete
dist/ntp/ntpdc/ntpdc-opts.texi					delete
dist/ntp/ntpdc/ntpdc.1						delete
dist/ntp/ntpdc/ntpdc.c						delete
dist/ntp/ntpdc/ntpdc.h						delete
dist/ntp/ntpdc/ntpdc_ops.c					delete
dist/ntp/ntpq/Makefile.am					delete
dist/ntp/ntpq/Makefile.in					delete
dist/ntp/ntpq/README						delete
dist/ntp/ntpq/ntpq-opts.c					delete
dist/ntp/ntpq/ntpq-opts.def					delete
dist/ntp/ntpq/ntpq-opts.h					delete
dist/ntp/ntpq/ntpq-opts.menu					delete
dist/ntp/ntpq/ntpq-opts.texi					delete
dist/ntp/ntpq/ntpq-subs.c					delete
dist/ntp/ntpq/ntpq.1						delete
dist/ntp/ntpq/ntpq.c						delete
dist/ntp/ntpq/ntpq.h						delete
dist/ntp/parseutil/Makefile.am					delete
dist/ntp/parseutil/Makefile.in					delete
dist/ntp/parseutil/README					delete
dist/ntp/parseutil/dcfd.c					delete
dist/ntp/parseutil/testdcf.c					delete
dist/ntp/scripts/Makefile.am					delete
dist/ntp/scripts/Makefile.in					delete
dist/ntp/scripts/README						delete
dist/ntp/scripts/VersionName					delete
dist/ntp/scripts/calc_tickadj.in				delete
dist/ntp/scripts/checktime.in					delete
dist/ntp/scripts/fixautomakedepsmagic				delete
dist/ntp/scripts/freq_adj.in					delete
dist/ntp/scripts/genCommitLog					delete
dist/ntp/scripts/genver						delete
dist/ntp/scripts/hpadjtime.sh					delete
dist/ntp/scripts/html2man.in					delete
dist/ntp/scripts/mkver.in					delete
dist/ntp/scripts/ntp-close					delete
dist/ntp/scripts/ntp-groper					delete
dist/ntp/scripts/ntp-restart					delete
dist/ntp/scripts/ntp-status					delete
dist/ntp/scripts/ntp-wait.in					delete
dist/ntp/scripts/ntpsweep.in					delete
dist/ntp/scripts/ntptrace.in					delete
dist/ntp/scripts/ntpver.in					delete
dist/ntp/scripts/plot_summary.in				delete
dist/ntp/scripts/summary.in					delete
dist/ntp/scripts/monitoring/README				delete
dist/ntp/scripts/monitoring/loopwatch.config.SAMPLE		delete
dist/ntp/scripts/monitoring/lr.pl				delete
dist/ntp/scripts/monitoring/ntp.pl				delete
dist/ntp/scripts/monitoring/ntploopstat				delete
dist/ntp/scripts/monitoring/ntploopwatch			delete
dist/ntp/scripts/monitoring/ntptrap				delete
dist/ntp/scripts/monitoring/timelocal.pl			delete
dist/ntp/scripts/rc1/postinstall				delete
dist/ntp/scripts/rc1/preinstall					delete
dist/ntp/scripts/rc1/preremove					delete
dist/ntp/scripts/rc1/prototype					delete
dist/ntp/scripts/rc1/xntp					delete
dist/ntp/scripts/rc2/local.ntpd					delete
dist/ntp/scripts/stats/README					delete
dist/ntp/scripts/stats/README.stats				delete
dist/ntp/scripts/stats/README.timecodes				delete
dist/ntp/scripts/stats/clock.awk				delete
dist/ntp/scripts/stats/dupe.awk					delete
dist/ntp/scripts/stats/ensemble.S				delete
dist/ntp/scripts/stats/ensemble.awk				delete
dist/ntp/scripts/stats/etf.S					delete
dist/ntp/scripts/stats/etf.awk					delete
dist/ntp/scripts/stats/itf.S					delete
dist/ntp/scripts/stats/itf.awk					delete
dist/ntp/scripts/stats/loop.S					delete
dist/ntp/scripts/stats/loop.awk					delete
dist/ntp/scripts/stats/loop_summary				delete
dist/ntp/scripts/stats/peer.awk					delete
dist/ntp/scripts/stats/psummary.awk				delete
dist/ntp/scripts/stats/summary.sh				delete
dist/ntp/scripts/stats/tdata.S					delete
dist/ntp/scripts/stats/tdata.awk				delete
dist/ntp/sntp/COPYRIGHT						delete
dist/ntp/sntp/Makefile.am					delete
dist/ntp/sntp/Makefile.in					delete
dist/ntp/sntp/README						delete
dist/ntp/sntp/aclocal.m4					delete
dist/ntp/sntp/autogen-version.def				delete
dist/ntp/sntp/bincheck.mf					delete
dist/ntp/sntp/compile						delete
dist/ntp/sntp/config.guess					delete
dist/ntp/sntp/config.h.in					delete
dist/ntp/sntp/config.sub					delete
dist/ntp/sntp/configure						delete
dist/ntp/sntp/configure.ac					delete
dist/ntp/sntp/depcomp						delete
dist/ntp/sntp/header.h						delete
dist/ntp/sntp/install-sh					delete
dist/ntp/sntp/internet.c					delete
dist/ntp/sntp/internet.h					delete
dist/ntp/sntp/kludges.h						delete
dist/ntp/sntp/ltmain.sh						delete
dist/ntp/sntp/main.c						delete
dist/ntp/sntp/missing						delete
dist/ntp/sntp/sntp-opts.c					delete
dist/ntp/sntp/sntp-opts.def					delete
dist/ntp/sntp/sntp-opts.h					delete
dist/ntp/sntp/sntp-opts.menu					delete
dist/ntp/sntp/sntp-opts.texi					delete
dist/ntp/sntp/sntp.1						delete
dist/ntp/sntp/socket.c						delete
dist/ntp/sntp/timing.c						delete
dist/ntp/sntp/unix.c						delete
dist/ntp/sntp/version.def					delete
dist/ntp/sntp/libopts/COPYING.lgpl				delete
dist/ntp/sntp/libopts/COPYING.mbsd				delete
dist/ntp/sntp/libopts/MakeDefs.inc				delete
dist/ntp/sntp/libopts/Makefile.am				delete
dist/ntp/sntp/libopts/Makefile.in				delete
dist/ntp/sntp/libopts/README					delete
dist/ntp/sntp/libopts/autoopts.c				delete
dist/ntp/sntp/libopts/autoopts.h				delete
dist/ntp/sntp/libopts/boolean.c					delete
dist/ntp/sntp/libopts/configfile.c				delete
dist/ntp/sntp/libopts/cook.c					delete
dist/ntp/sntp/libopts/enumeration.c				delete
dist/ntp/sntp/libopts/environment.c				delete
dist/ntp/sntp/libopts/genshell.c				delete
dist/ntp/sntp/libopts/genshell.h				delete
dist/ntp/sntp/libopts/libopts.c					delete
dist/ntp/sntp/libopts/load.c					delete
dist/ntp/sntp/libopts/makeshell.c				delete
dist/ntp/sntp/libopts/nested.c					delete
dist/ntp/sntp/libopts/numeric.c					delete
dist/ntp/sntp/libopts/pgusage.c					delete
dist/ntp/sntp/libopts/proto.h					delete
dist/ntp/sntp/libopts/putshell.c				delete
dist/ntp/sntp/libopts/restore.c					delete
dist/ntp/sntp/libopts/save.c					delete
dist/ntp/sntp/libopts/sort.c					delete
dist/ntp/sntp/libopts/stack.c					delete
dist/ntp/sntp/libopts/streqvcmp.c				delete
dist/ntp/sntp/libopts/text_mmap.c				delete
dist/ntp/sntp/libopts/tokenize.c				delete
dist/ntp/sntp/libopts/usage.c					delete
dist/ntp/sntp/libopts/version.c					delete
dist/ntp/sntp/libopts/autoopts/options.h			delete
dist/ntp/sntp/libopts/autoopts/usage-txt.h			delete
dist/ntp/sntp/libopts/compat/compat.h				delete
dist/ntp/sntp/libopts/compat/pathfind.c				delete
dist/ntp/sntp/libopts/compat/snprintf.c				delete
dist/ntp/sntp/libopts/compat/strchr.c				delete
dist/ntp/sntp/libopts/compat/strdup.c				delete
dist/ntp/sntp/libopts/compat/windows-config.h			delete
dist/ntp/sntp/libopts/m4/libopts.m4				delete
dist/ntp/sntp/libopts/m4/liboptschk.m4				delete
dist/ntp/util/Makefile.am					delete
dist/ntp/util/Makefile.in					delete
dist/ntp/util/README						delete
dist/ntp/util/ansi2knr.1					delete
dist/ntp/util/ansi2knr.c					delete
dist/ntp/util/audio-pcm.c					delete
dist/ntp/util/byteorder.c					delete
dist/ntp/util/hist.c						delete
dist/ntp/util/jitter.c						delete
dist/ntp/util/jitter.h						delete
dist/ntp/util/kern.c						delete
dist/ntp/util/longsize.c					delete
dist/ntp/util/ntp-keygen-opts.c					delete
dist/ntp/util/ntp-keygen-opts.def				delete
dist/ntp/util/ntp-keygen-opts.h					delete
dist/ntp/util/ntp-keygen-opts.menu				delete
dist/ntp/util/ntp-keygen-opts.texi				delete
dist/ntp/util/ntp-keygen.1					delete
dist/ntp/util/ntp-keygen.c					delete
dist/ntp/util/ntptime.c						delete
dist/ntp/util/pps-api.c						delete
dist/ntp/util/precision.c					delete
dist/ntp/util/sht.c						delete
dist/ntp/util/testrs6000.c					delete
dist/ntp/util/tg.c						delete
dist/ntp/util/tickadj.c						delete
dist/ntp/util/timetrim.c					delete
distrib/sets/lists/man/mi					patch
distrib/sets/lists/misc/mi					patch
external/bsd/Makefile						patch
external/bsd/ntp/Makefile					new
external/bsd/ntp/Makefile.inc					new
external/bsd/ntp/importdate					new
external/bsd/ntp/ntp2netbsd					new
external/bsd/ntp/bin/Makefile					new
external/bsd/ntp/bin/Makefile.inc				new
external/bsd/ntp/bin/ntp-keygen/Makefile			new
external/bsd/ntp/bin/ntp-keygen/ntp-keygen.8			new
external/bsd/ntp/bin/ntpd/Makefile				new
external/bsd/ntp/bin/ntpd/ntp.conf.5				new
external/bsd/ntp/bin/ntpd/ntp.keys.5				new
external/bsd/ntp/bin/ntpd/ntpd.8				new
external/bsd/ntp/bin/ntpdate/Makefile				new
external/bsd/ntp/bin/ntpdate/ntpdate.8				new
external/bsd/ntp/bin/ntpdc/Makefile				new
external/bsd/ntp/bin/ntpdc/ntpdc.8				new
external/bsd/ntp/bin/ntpq/Makefile				new
external/bsd/ntp/bin/ntpq/ntpq.8				new
external/bsd/ntp/bin/ntptime/Makefile				new
external/bsd/ntp/bin/ntptime/ntptime.8				new
external/bsd/ntp/bin/ntptrace/Makefile				new
external/bsd/ntp/bin/ntptrace/ntptrace.8			new
external/bsd/ntp/bin/ntptrace/ntptrace.awk			new
external/bsd/ntp/bin/sntp/Makefile				new
external/bsd/ntp/bin/sntp/sntp.1				new
external/bsd/ntp/dist/COPYRIGHT					new
external/bsd/ntp/dist/ChangeLog					new
external/bsd/ntp/dist/CommitLog					new
external/bsd/ntp/dist/CommitLog-4.1.0				new
external/bsd/ntp/dist/INSTALL					new
external/bsd/ntp/dist/Makefile.am				new
external/bsd/ntp/dist/Makefile.in				new
external/bsd/ntp/dist/NEWS					new
external/bsd/ntp/dist/NOTES.y2kfixes				new
external/bsd/ntp/dist/README					new
external/bsd/ntp/dist/README.bk					new
external/bsd/ntp/dist/README.hackers				new
external/bsd/ntp/dist/README.patches				new
external/bsd/ntp/dist/README.refclocks				new
external/bsd/ntp/dist/README.versions				new
external/bsd/ntp/dist/TODO					new
external/bsd/ntp/dist/WHERE-TO-START				new
external/bsd/ntp/dist/aclocal.m4				new
external/bsd/ntp/dist/bincheck.mf				new
external/bsd/ntp/dist/bootstrap					new
external/bsd/ntp/dist/build					new
external/bsd/ntp/dist/check-libopts.mf				new
external/bsd/ntp/dist/config.h.in				new
external/bsd/ntp/dist/configure					new
external/bsd/ntp/dist/configure.ac				new
external/bsd/ntp/dist/deps-ver					new
external/bsd/ntp/dist/depsver.mf				new
external/bsd/ntp/dist/dot.emacs					new
external/bsd/ntp/dist/flock-build				new
external/bsd/ntp/dist/includes.mf				new
external/bsd/ntp/dist/install-sh				new
external/bsd/ntp/dist/packageinfo.sh				new
external/bsd/ntp/dist/readme.y2kfixes				new
external/bsd/ntp/dist/results.y2kfixes				new
external/bsd/ntp/dist/adjtimed/Makefile.am			new
external/bsd/ntp/dist/adjtimed/Makefile.in			new
external/bsd/ntp/dist/adjtimed/README				new
external/bsd/ntp/dist/adjtimed/adjtimed.c			new
external/bsd/ntp/dist/clockstuff/Makefile.am			new
external/bsd/ntp/dist/clockstuff/Makefile.in			new
external/bsd/ntp/dist/clockstuff/README				new
external/bsd/ntp/dist/clockstuff/chutest.c			new
external/bsd/ntp/dist/clockstuff/propdelay.c			new
external/bsd/ntp/dist/conf/README				new
external/bsd/ntp/dist/conf/baldwin.conf				new
external/bsd/ntp/dist/conf/beauregard.conf			new
external/bsd/ntp/dist/conf/grundoon.conf			new
external/bsd/ntp/dist/conf/malarky.conf				new
external/bsd/ntp/dist/conf/pogo.conf				new
external/bsd/ntp/dist/conf/rackety.conf				new
external/bsd/ntp/dist/html/access.html				new
external/bsd/ntp/dist/html/accopt.html				new
external/bsd/ntp/dist/html/assoc.html				new
external/bsd/ntp/dist/html/audio.html				new
external/bsd/ntp/dist/html/authentic.html			new
external/bsd/ntp/dist/html/authopt.html				new
external/bsd/ntp/dist/html/autokey.html				new
external/bsd/ntp/dist/html/bugs.html				new
external/bsd/ntp/dist/html/build.html				new
external/bsd/ntp/dist/html/clock.html				new
external/bsd/ntp/dist/html/clockopt.html			new
external/bsd/ntp/dist/html/cluster.html				new
external/bsd/ntp/dist/html/comdex.html				new
external/bsd/ntp/dist/html/config.html				new
external/bsd/ntp/dist/html/confopt.html				new
external/bsd/ntp/dist/html/copyright.html			new
external/bsd/ntp/dist/html/debug.html				new
external/bsd/ntp/dist/html/decode.html				new
external/bsd/ntp/dist/html/discipline.html			new
external/bsd/ntp/dist/html/discover.html			new
external/bsd/ntp/dist/html/extern.html				new
external/bsd/ntp/dist/html/filter.html				new
external/bsd/ntp/dist/html/hints.html				new
external/bsd/ntp/dist/html/history.html				new
external/bsd/ntp/dist/html/howto.html				new
external/bsd/ntp/dist/html/huffpuff.html			new
external/bsd/ntp/dist/html/index.html				new
external/bsd/ntp/dist/html/kern.html				new
external/bsd/ntp/dist/html/kernpps.html				new
external/bsd/ntp/dist/html/keygen.html				new
external/bsd/ntp/dist/html/leap.html				new
external/bsd/ntp/dist/html/miscopt.html				new
external/bsd/ntp/dist/html/monopt.html				new
external/bsd/ntp/dist/html/msyslog.html				new
external/bsd/ntp/dist/html/ntp-wait.html			new
external/bsd/ntp/dist/html/ntp_conf.html			new
external/bsd/ntp/dist/html/ntpd.html				new
external/bsd/ntp/dist/html/ntpdate.html				new
external/bsd/ntp/dist/html/ntpdc.html				new
external/bsd/ntp/dist/html/ntpdsim.html				new
external/bsd/ntp/dist/html/ntpdsim_new.html			new
external/bsd/ntp/dist/html/ntpq.html				new
external/bsd/ntp/dist/html/ntptime.html				new
external/bsd/ntp/dist/html/ntptrace.html			new
external/bsd/ntp/dist/html/orphan.html				new
external/bsd/ntp/dist/html/parsedata.html			new
external/bsd/ntp/dist/html/parsenew.html			new
external/bsd/ntp/dist/html/poll.html				new
external/bsd/ntp/dist/html/pps.html				new
external/bsd/ntp/dist/html/prefer.html				new
external/bsd/ntp/dist/html/quick.html				new
external/bsd/ntp/dist/html/rate.html				new
external/bsd/ntp/dist/html/rdebug.html				new
external/bsd/ntp/dist/html/refclock.html			new
external/bsd/ntp/dist/html/release.html				new
external/bsd/ntp/dist/html/select.html				new
external/bsd/ntp/dist/html/sitemap.html				new
external/bsd/ntp/dist/html/sntp.html				new
external/bsd/ntp/dist/html/stats.html				new
external/bsd/ntp/dist/html/tickadj.html				new
external/bsd/ntp/dist/html/warp.html				new
external/bsd/ntp/dist/html/xleave.html				new
external/bsd/ntp/dist/html/drivers/driver1.html			new
external/bsd/ntp/dist/html/drivers/driver10.html		new
external/bsd/ntp/dist/html/drivers/driver11.html		new
external/bsd/ntp/dist/html/drivers/driver12.html		new
external/bsd/ntp/dist/html/drivers/driver16.html		new
external/bsd/ntp/dist/html/drivers/driver18.html		new
external/bsd/ntp/dist/html/drivers/driver19.html		new
external/bsd/ntp/dist/html/drivers/driver20.html		new
external/bsd/ntp/dist/html/drivers/driver22.html		new
external/bsd/ntp/dist/html/drivers/driver26.html		new
external/bsd/ntp/dist/html/drivers/driver27.html		new
external/bsd/ntp/dist/html/drivers/driver28.html		new
external/bsd/ntp/dist/html/drivers/driver29.html		new
external/bsd/ntp/dist/html/drivers/driver3.html			new
external/bsd/ntp/dist/html/drivers/driver30.html		new
external/bsd/ntp/dist/html/drivers/driver31.html		new
external/bsd/ntp/dist/html/drivers/driver32.html		new
external/bsd/ntp/dist/html/drivers/driver33.html		new
external/bsd/ntp/dist/html/drivers/driver34.html		new
external/bsd/ntp/dist/html/drivers/driver35.html		new
external/bsd/ntp/dist/html/drivers/driver36.html		new
external/bsd/ntp/dist/html/drivers/driver37.html		new
external/bsd/ntp/dist/html/drivers/driver38.html		new
external/bsd/ntp/dist/html/drivers/driver39.html		new
external/bsd/ntp/dist/html/drivers/driver4.html			new
external/bsd/ntp/dist/html/drivers/driver40.html		new
external/bsd/ntp/dist/html/drivers/driver42.html		new
external/bsd/ntp/dist/html/drivers/driver43.html		new
external/bsd/ntp/dist/html/drivers/driver44.html		new
external/bsd/ntp/dist/html/drivers/driver45.html		new
external/bsd/ntp/dist/html/drivers/driver46.html		new
external/bsd/ntp/dist/html/drivers/driver5.html			new
external/bsd/ntp/dist/html/drivers/driver6.html			new
external/bsd/ntp/dist/html/drivers/driver7.html			new
external/bsd/ntp/dist/html/drivers/driver8.html			new
external/bsd/ntp/dist/html/drivers/driver9.html			new
external/bsd/ntp/dist/html/drivers/mx4200data.html		new
external/bsd/ntp/dist/html/drivers/oncore-shmem.html		new
external/bsd/ntp/dist/html/drivers/tf582_4.html			new
external/bsd/ntp/dist/html/drivers/icons/home.gif		new
external/bsd/ntp/dist/html/drivers/icons/mail2.gif		new
external/bsd/ntp/dist/html/drivers/scripts/footer.txt		new
external/bsd/ntp/dist/html/drivers/scripts/style.css		new
external/bsd/ntp/dist/html/hints/a-ux				new
external/bsd/ntp/dist/html/hints/aix				new
external/bsd/ntp/dist/html/hints/bsdi				new
external/bsd/ntp/dist/html/hints/changes			new
external/bsd/ntp/dist/html/hints/decosf1			new
external/bsd/ntp/dist/html/hints/decosf2			new
external/bsd/ntp/dist/html/hints/freebsd			new
external/bsd/ntp/dist/html/hints/hpux				new
external/bsd/ntp/dist/html/hints/linux				new
external/bsd/ntp/dist/html/hints/mpeix				new
external/bsd/ntp/dist/html/hints/notes-xntp-v3			new
external/bsd/ntp/dist/html/hints/parse				new
external/bsd/ntp/dist/html/hints/refclocks			new
external/bsd/ntp/dist/html/hints/rs6000				new
external/bsd/ntp/dist/html/hints/sco.html			new
external/bsd/ntp/dist/html/hints/sgi				new
external/bsd/ntp/dist/html/hints/solaris-dosynctodr.html	new
external/bsd/ntp/dist/html/hints/solaris.html			new
external/bsd/ntp/dist/html/hints/solaris.xtra.4023118		new
external/bsd/ntp/dist/html/hints/solaris.xtra.4095849		new
external/bsd/ntp/dist/html/hints/solaris.xtra.S99ntpd		new
external/bsd/ntp/dist/html/hints/solaris.xtra.patchfreq		new
external/bsd/ntp/dist/html/hints/sun4				new
external/bsd/ntp/dist/html/hints/svr4-dell			new
external/bsd/ntp/dist/html/hints/svr4_package			new
external/bsd/ntp/dist/html/hints/todo				new
external/bsd/ntp/dist/html/hints/vxworks.html			new
external/bsd/ntp/dist/html/hints/winnt.html			new
external/bsd/ntp/dist/html/icons/home.gif			new
external/bsd/ntp/dist/html/icons/mail2.gif			new
external/bsd/ntp/dist/html/icons/sitemap.png			new
external/bsd/ntp/dist/html/scripts/accopt.txt			new
external/bsd/ntp/dist/html/scripts/audio.txt			new
external/bsd/ntp/dist/html/scripts/authopt.txt			new
external/bsd/ntp/dist/html/scripts/clockopt.txt			new
external/bsd/ntp/dist/html/scripts/command.txt			new
external/bsd/ntp/dist/html/scripts/config.txt			new
external/bsd/ntp/dist/html/scripts/confopt.txt			new
external/bsd/ntp/dist/html/scripts/external.txt			new
external/bsd/ntp/dist/html/scripts/footer.txt			new
external/bsd/ntp/dist/html/scripts/hand.txt			new
external/bsd/ntp/dist/html/scripts/install.txt			new
external/bsd/ntp/dist/html/scripts/manual.txt			new
external/bsd/ntp/dist/html/scripts/misc.txt			new
external/bsd/ntp/dist/html/scripts/miscopt.txt			new
external/bsd/ntp/dist/html/scripts/monopt.txt			new
external/bsd/ntp/dist/html/scripts/refclock.txt			new
external/bsd/ntp/dist/html/scripts/special.txt			new
external/bsd/ntp/dist/html/scripts/style.css			new
external/bsd/ntp/dist/include/Makefile.am			new
external/bsd/ntp/dist/include/Makefile.in			new
external/bsd/ntp/dist/include/README				new
external/bsd/ntp/dist/include/adjtime.h				new
external/bsd/ntp/dist/include/ascii.h				new
external/bsd/ntp/dist/include/audio.h				new
external/bsd/ntp/dist/include/binio.h				new
external/bsd/ntp/dist/include/declcond.h			new
external/bsd/ntp/dist/include/gps.h				new
external/bsd/ntp/dist/include/hopf6039.h			new
external/bsd/ntp/dist/include/icom.h				new
external/bsd/ntp/dist/include/ieee754io.h			new
external/bsd/ntp/dist/include/intreswork.h			new
external/bsd/ntp/dist/include/iosignal.h			new
external/bsd/ntp/dist/include/l_stdlib.h			new
external/bsd/ntp/dist/include/lib_strbuf.h			new
external/bsd/ntp/dist/include/libntp.h				new
external/bsd/ntp/dist/include/mbg_gps166.h			new
external/bsd/ntp/dist/include/mx4200.h				new
external/bsd/ntp/dist/include/ntif.h				new
external/bsd/ntp/dist/include/ntp.h				new
external/bsd/ntp/dist/include/ntp_assert.h			new
external/bsd/ntp/dist/include/ntp_calendar.h			new
external/bsd/ntp/dist/include/ntp_cmdargs.h			new
external/bsd/ntp/dist/include/ntp_config.h			new
external/bsd/ntp/dist/include/ntp_control.h			new
external/bsd/ntp/dist/include/ntp_crypto.h			new
external/bsd/ntp/dist/include/ntp_datum.h			new
external/bsd/ntp/dist/include/ntp_debug.h			new
external/bsd/ntp/dist/include/ntp_filegen.h			new
external/bsd/ntp/dist/include/ntp_fp.h				new
external/bsd/ntp/dist/include/ntp_if.h				new
external/bsd/ntp/dist/include/ntp_intres.h			new
external/bsd/ntp/dist/include/ntp_io.h				new
external/bsd/ntp/dist/include/ntp_libopts.h			new
external/bsd/ntp/dist/include/ntp_lineedit.h			new
external/bsd/ntp/dist/include/ntp_lists.h			new
external/bsd/ntp/dist/include/ntp_machine.h			new
external/bsd/ntp/dist/include/ntp_malloc.h			new
external/bsd/ntp/dist/include/ntp_md5.h				new
external/bsd/ntp/dist/include/ntp_net.h				new
external/bsd/ntp/dist/include/ntp_prio_q.h			new
external/bsd/ntp/dist/include/ntp_proto.h			new
external/bsd/ntp/dist/include/ntp_random.h			new
external/bsd/ntp/dist/include/ntp_refclock.h			new
external/bsd/ntp/dist/include/ntp_request.h			new
external/bsd/ntp/dist/include/ntp_rfc2553.h			new
external/bsd/ntp/dist/include/ntp_select.h			new
external/bsd/ntp/dist/include/ntp_stdlib.h			new
external/bsd/ntp/dist/include/ntp_string.h			new
external/bsd/ntp/dist/include/ntp_syscall.h			new
external/bsd/ntp/dist/include/ntp_syslog.h			new
external/bsd/ntp/dist/include/ntp_tty.h				new
external/bsd/ntp/dist/include/ntp_types.h			new
external/bsd/ntp/dist/include/ntp_unixtime.h			new
external/bsd/ntp/dist/include/ntp_worker.h			new
external/bsd/ntp/dist/include/ntp_workimpl.h			new
external/bsd/ntp/dist/include/ntpd.h				new
external/bsd/ntp/dist/include/ntpsim.h				new
external/bsd/ntp/dist/include/parse.h				new
external/bsd/ntp/dist/include/parse_conf.h			new
external/bsd/ntp/dist/include/recvbuff.h			new
external/bsd/ntp/dist/include/refclock_atom.h			new
external/bsd/ntp/dist/include/ssl_applink.c			new
external/bsd/ntp/dist/include/timepps-SCO.h			new
external/bsd/ntp/dist/include/timepps-Solaris.h			new
external/bsd/ntp/dist/include/timepps-SunOS.h			new
external/bsd/ntp/dist/include/timespecops.h			new
external/bsd/ntp/dist/include/timetoa.h				new
external/bsd/ntp/dist/include/timevalops.h			new
external/bsd/ntp/dist/include/trimble.h				new
external/bsd/ntp/dist/include/vint64ops.h			new
external/bsd/ntp/dist/include/isc/Makefile.am			new
external/bsd/ntp/dist/include/isc/Makefile.in			new
external/bsd/ntp/dist/include/isc/mem.h				new
external/bsd/ntp/dist/kernel/Makefile.am			new
external/bsd/ntp/dist/kernel/Makefile.in			new
external/bsd/ntp/dist/kernel/sys/Makefile.am			new
external/bsd/ntp/dist/kernel/sys/Makefile.in			new
external/bsd/ntp/dist/kernel/sys/README				new
external/bsd/ntp/dist/kernel/sys/bsd_audioirig.h		new
external/bsd/ntp/dist/kernel/sys/i8253.h			new
external/bsd/ntp/dist/kernel/sys/parsestreams.h			new
external/bsd/ntp/dist/kernel/sys/pcl720.h			new
external/bsd/ntp/dist/kernel/sys/ppsclock.h			new
external/bsd/ntp/dist/kernel/sys/timex.h			new
external/bsd/ntp/dist/kernel/sys/tpro.h				new
external/bsd/ntp/dist/kernel/sys/tt560_api.h			new
external/bsd/ntp/dist/lib/isc/Atffile				new
external/bsd/ntp/dist/lib/isc/api				new
external/bsd/ntp/dist/lib/isc/app_api.c				new
external/bsd/ntp/dist/lib/isc/assertions.c			new
external/bsd/ntp/dist/lib/isc/backtrace-emptytbl.c		new
external/bsd/ntp/dist/lib/isc/backtrace.c			new
external/bsd/ntp/dist/lib/isc/base32.c				new
external/bsd/ntp/dist/lib/isc/base64.c				new
external/bsd/ntp/dist/lib/isc/bitstring.c			new
external/bsd/ntp/dist/lib/isc/buffer.c				new
external/bsd/ntp/dist/lib/isc/bufferlist.c			new
external/bsd/ntp/dist/lib/isc/commandline.c			new
external/bsd/ntp/dist/lib/isc/entropy.c				new
external/bsd/ntp/dist/lib/isc/error.c				new
external/bsd/ntp/dist/lib/isc/event.c				new
external/bsd/ntp/dist/lib/isc/fsaccess.c			new
external/bsd/ntp/dist/lib/isc/hash.c				new
external/bsd/ntp/dist/lib/isc/heap.c				new
external/bsd/ntp/dist/lib/isc/hex.c				new
external/bsd/ntp/dist/lib/isc/hmacmd5.c				new
external/bsd/ntp/dist/lib/isc/hmacsha.c				new
external/bsd/ntp/dist/lib/isc/httpd.c				new
external/bsd/ntp/dist/lib/isc/inet_aton.c			new
external/bsd/ntp/dist/lib/isc/inet_ntop.c			new
external/bsd/ntp/dist/lib/isc/inet_pton.c			new
external/bsd/ntp/dist/lib/isc/iterated_hash.c			new
external/bsd/ntp/dist/lib/isc/lex.c				new
external/bsd/ntp/dist/lib/isc/lfsr.c				new
external/bsd/ntp/dist/lib/isc/lib.c				new
external/bsd/ntp/dist/lib/isc/log.c				new
external/bsd/ntp/dist/lib/isc/md5.c				new
external/bsd/ntp/dist/lib/isc/mem.c				new
external/bsd/ntp/dist/lib/isc/mem_api.c				new
external/bsd/ntp/dist/lib/isc/mutexblock.c			new
external/bsd/ntp/dist/lib/isc/netaddr.c				new
external/bsd/ntp/dist/lib/isc/netscope.c			new
external/bsd/ntp/dist/lib/isc/ondestroy.c			new
external/bsd/ntp/dist/lib/isc/parseint.c			new
external/bsd/ntp/dist/lib/isc/portset.c				new
external/bsd/ntp/dist/lib/isc/print.c				new
external/bsd/ntp/dist/lib/isc/quota.c				new
external/bsd/ntp/dist/lib/isc/radix.c				new
external/bsd/ntp/dist/lib/isc/random.c				new
external/bsd/ntp/dist/lib/isc/ratelimiter.c			new
external/bsd/ntp/dist/lib/isc/refcount.c			new
external/bsd/ntp/dist/lib/isc/region.c				new
external/bsd/ntp/dist/lib/isc/result.c				new
external/bsd/ntp/dist/lib/isc/rwlock.c				new
external/bsd/ntp/dist/lib/isc/serial.c				new
external/bsd/ntp/dist/lib/isc/sha1.c				new
external/bsd/ntp/dist/lib/isc/sha2.c				new
external/bsd/ntp/dist/lib/isc/sockaddr.c			new
external/bsd/ntp/dist/lib/isc/socket_api.c			new
external/bsd/ntp/dist/lib/isc/stats.c				new
external/bsd/ntp/dist/lib/isc/string.c				new
external/bsd/ntp/dist/lib/isc/strtoul.c				new
external/bsd/ntp/dist/lib/isc/symtab.c				new
external/bsd/ntp/dist/lib/isc/task.c				new
external/bsd/ntp/dist/lib/isc/task_api.c			new
external/bsd/ntp/dist/lib/isc/task_p.h				new
external/bsd/ntp/dist/lib/isc/taskpool.c			new
external/bsd/ntp/dist/lib/isc/timer.c				new
external/bsd/ntp/dist/lib/isc/timer_api.c			new
external/bsd/ntp/dist/lib/isc/timer_p.h				new
external/bsd/ntp/dist/lib/isc/version.c				new
external/bsd/ntp/dist/lib/isc/alpha/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/ia64/include/isc/atomic.h		new
external/bsd/ntp/dist/lib/isc/include/isc/app.h			new
external/bsd/ntp/dist/lib/isc/include/isc/assertions.h		new
external/bsd/ntp/dist/lib/isc/include/isc/backtrace.h		new
external/bsd/ntp/dist/lib/isc/include/isc/base32.h		new
external/bsd/ntp/dist/lib/isc/include/isc/base64.h		new
external/bsd/ntp/dist/lib/isc/include/isc/bind9.h		new
external/bsd/ntp/dist/lib/isc/include/isc/bitstring.h		new
external/bsd/ntp/dist/lib/isc/include/isc/boolean.h		new
external/bsd/ntp/dist/lib/isc/include/isc/buffer.h		new
external/bsd/ntp/dist/lib/isc/include/isc/bufferlist.h		new
external/bsd/ntp/dist/lib/isc/include/isc/commandline.h		new
external/bsd/ntp/dist/lib/isc/include/isc/entropy.h		new
external/bsd/ntp/dist/lib/isc/include/isc/error.h		new
external/bsd/ntp/dist/lib/isc/include/isc/event.h		new
external/bsd/ntp/dist/lib/isc/include/isc/eventclass.h		new
external/bsd/ntp/dist/lib/isc/include/isc/file.h		new
external/bsd/ntp/dist/lib/isc/include/isc/formatcheck.h		new
external/bsd/ntp/dist/lib/isc/include/isc/fsaccess.h		new
external/bsd/ntp/dist/lib/isc/include/isc/hash.h		new
external/bsd/ntp/dist/lib/isc/include/isc/heap.h		new
external/bsd/ntp/dist/lib/isc/include/isc/hex.h			new
external/bsd/ntp/dist/lib/isc/include/isc/hmacmd5.h		new
external/bsd/ntp/dist/lib/isc/include/isc/hmacsha.h		new
external/bsd/ntp/dist/lib/isc/include/isc/httpd.h		new
external/bsd/ntp/dist/lib/isc/include/isc/interfaceiter.h	new
external/bsd/ntp/dist/lib/isc/include/isc/ipv6.h		new
external/bsd/ntp/dist/lib/isc/include/isc/iterated_hash.h	new
external/bsd/ntp/dist/lib/isc/include/isc/lang.h		new
external/bsd/ntp/dist/lib/isc/include/isc/lex.h			new
external/bsd/ntp/dist/lib/isc/include/isc/lfsr.h		new
external/bsd/ntp/dist/lib/isc/include/isc/lib.h			new
external/bsd/ntp/dist/lib/isc/include/isc/list.h		new
external/bsd/ntp/dist/lib/isc/include/isc/log.h			new
external/bsd/ntp/dist/lib/isc/include/isc/magic.h		new
external/bsd/ntp/dist/lib/isc/include/isc/md5.h			new
external/bsd/ntp/dist/lib/isc/include/isc/mem.h			new
external/bsd/ntp/dist/lib/isc/include/isc/msgcat.h		new
external/bsd/ntp/dist/lib/isc/include/isc/msgs.h		new
external/bsd/ntp/dist/lib/isc/include/isc/mutexblock.h		new
external/bsd/ntp/dist/lib/isc/include/isc/namespace.h		new
external/bsd/ntp/dist/lib/isc/include/isc/netaddr.h		new
external/bsd/ntp/dist/lib/isc/include/isc/netscope.h		new
external/bsd/ntp/dist/lib/isc/include/isc/ondestroy.h		new
external/bsd/ntp/dist/lib/isc/include/isc/os.h			new
external/bsd/ntp/dist/lib/isc/include/isc/parseint.h		new
external/bsd/ntp/dist/lib/isc/include/isc/platform.h		new
external/bsd/ntp/dist/lib/isc/include/isc/platform.h.in		new
external/bsd/ntp/dist/lib/isc/include/isc/portset.h		new
external/bsd/ntp/dist/lib/isc/include/isc/print.h		new
external/bsd/ntp/dist/lib/isc/include/isc/queue.h		new
external/bsd/ntp/dist/lib/isc/include/isc/quota.h		new
external/bsd/ntp/dist/lib/isc/include/isc/radix.h		new
external/bsd/ntp/dist/lib/isc/include/isc/random.h		new
external/bsd/ntp/dist/lib/isc/include/isc/ratelimiter.h		new
external/bsd/ntp/dist/lib/isc/include/isc/refcount.h		new
external/bsd/ntp/dist/lib/isc/include/isc/region.h		new
external/bsd/ntp/dist/lib/isc/include/isc/resource.h		new
external/bsd/ntp/dist/lib/isc/include/isc/result.h		new
external/bsd/ntp/dist/lib/isc/include/isc/resultclass.h		new
external/bsd/ntp/dist/lib/isc/include/isc/rwlock.h		new
external/bsd/ntp/dist/lib/isc/include/isc/serial.h		new
external/bsd/ntp/dist/lib/isc/include/isc/sha1.h		new
external/bsd/ntp/dist/lib/isc/include/isc/sha2.h		new
external/bsd/ntp/dist/lib/isc/include/isc/sockaddr.h		new
external/bsd/ntp/dist/lib/isc/include/isc/socket.h		new
external/bsd/ntp/dist/lib/isc/include/isc/stats.h		new
external/bsd/ntp/dist/lib/isc/include/isc/stdio.h		new
external/bsd/ntp/dist/lib/isc/include/isc/stdlib.h		new
external/bsd/ntp/dist/lib/isc/include/isc/string.h		new
external/bsd/ntp/dist/lib/isc/include/isc/symtab.h		new
external/bsd/ntp/dist/lib/isc/include/isc/task.h		new
external/bsd/ntp/dist/lib/isc/include/isc/taskpool.h		new
external/bsd/ntp/dist/lib/isc/include/isc/timer.h		new
external/bsd/ntp/dist/lib/isc/include/isc/types.h		new
external/bsd/ntp/dist/lib/isc/include/isc/util.h		new
external/bsd/ntp/dist/lib/isc/include/isc/version.h		new
external/bsd/ntp/dist/lib/isc/include/isc/xml.h			new
external/bsd/ntp/dist/lib/isc/mips/include/isc/atomic.h		new
external/bsd/ntp/dist/lib/isc/nls/msgcat.c			new
external/bsd/ntp/dist/lib/isc/noatomic/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/nothreads/condition.c		new
external/bsd/ntp/dist/lib/isc/nothreads/mutex.c			new
external/bsd/ntp/dist/lib/isc/nothreads/thread.c		new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/condition.h	new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/mutex.h	new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/once.h	new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/thread.h	new
external/bsd/ntp/dist/lib/isc/powerpc/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/pthreads/condition.c		new
external/bsd/ntp/dist/lib/isc/pthreads/mutex.c			new
external/bsd/ntp/dist/lib/isc/pthreads/thread.c			new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/condition.h	new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/mutex.h	new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/once.h	new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/thread.h	new
external/bsd/ntp/dist/lib/isc/sparc64/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/tests/Atffile			new
external/bsd/ntp/dist/lib/isc/tests/hash_test.c			new
external/bsd/ntp/dist/lib/isc/tests/isctest.c			new
external/bsd/ntp/dist/lib/isc/tests/isctest.h			new
external/bsd/ntp/dist/lib/isc/tests/queue_test.c		new
external/bsd/ntp/dist/lib/isc/tests/socket_test.c		new
external/bsd/ntp/dist/lib/isc/tests/symtab_test.c		new
external/bsd/ntp/dist/lib/isc/tests/task_test.c			new
external/bsd/ntp/dist/lib/isc/tests/taskpool_test.c		new
external/bsd/ntp/dist/lib/isc/unix/app.c			new
external/bsd/ntp/dist/lib/isc/unix/dir.c			new
external/bsd/ntp/dist/lib/isc/unix/entropy.c			new
external/bsd/ntp/dist/lib/isc/unix/errno2result.c		new
external/bsd/ntp/dist/lib/isc/unix/errno2result.h		new
external/bsd/ntp/dist/lib/isc/unix/file.c			new
external/bsd/ntp/dist/lib/isc/unix/fsaccess.c			new
external/bsd/ntp/dist/lib/isc/unix/ifiter_getifaddrs.c		new
external/bsd/ntp/dist/lib/isc/unix/ifiter_ioctl.c		new
external/bsd/ntp/dist/lib/isc/unix/ifiter_sysctl.c		new
external/bsd/ntp/dist/lib/isc/unix/interfaceiter.c		new
external/bsd/ntp/dist/lib/isc/unix/ipv6.c			new
external/bsd/ntp/dist/lib/isc/unix/keyboard.c			new
external/bsd/ntp/dist/lib/isc/unix/net.c			new
external/bsd/ntp/dist/lib/isc/unix/os.c				new
external/bsd/ntp/dist/lib/isc/unix/resource.c			new
external/bsd/ntp/dist/lib/isc/unix/socket.c			new
external/bsd/ntp/dist/lib/isc/unix/socket_p.h			new
external/bsd/ntp/dist/lib/isc/unix/stdio.c			new
external/bsd/ntp/dist/lib/isc/unix/stdtime.c			new
external/bsd/ntp/dist/lib/isc/unix/strerror.c			new
external/bsd/ntp/dist/lib/isc/unix/syslog.c			new
external/bsd/ntp/dist/lib/isc/unix/time.c			new
external/bsd/ntp/dist/lib/isc/unix/include/isc/dir.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/int.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/keyboard.h	new
external/bsd/ntp/dist/lib/isc/unix/include/isc/net.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/netdb.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/offset.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/stat.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/stdtime.h	new
external/bsd/ntp/dist/lib/isc/unix/include/isc/strerror.h	new
external/bsd/ntp/dist/lib/isc/unix/include/isc/syslog.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/time.h		new
external/bsd/ntp/dist/lib/isc/win32/DLLMain.c			new
external/bsd/ntp/dist/lib/isc/win32/app.c			new
external/bsd/ntp/dist/lib/isc/win32/condition.c			new
external/bsd/ntp/dist/lib/isc/win32/dir.c			new
external/bsd/ntp/dist/lib/isc/win32/entropy.c			new
external/bsd/ntp/dist/lib/isc/win32/errno2result.c		new
external/bsd/ntp/dist/lib/isc/win32/errno2result.h		new
external/bsd/ntp/dist/lib/isc/win32/file.c			new
external/bsd/ntp/dist/lib/isc/win32/fsaccess.c			new
external/bsd/ntp/dist/lib/isc/win32/interfaceiter.c		new
external/bsd/ntp/dist/lib/isc/win32/ipv6.c			new
external/bsd/ntp/dist/lib/isc/win32/keyboard.c			new
external/bsd/ntp/dist/lib/isc/win32/libgen.h			new
external/bsd/ntp/dist/lib/isc/win32/libisc.def			new
external/bsd/ntp/dist/lib/isc/win32/libisc.dsp			new
external/bsd/ntp/dist/lib/isc/win32/libisc.dsw			new
external/bsd/ntp/dist/lib/isc/win32/libisc.mak			new
external/bsd/ntp/dist/lib/isc/win32/net.c			new
external/bsd/ntp/dist/lib/isc/win32/netdb.h			new
external/bsd/ntp/dist/lib/isc/win32/ntgroups.c			new
external/bsd/ntp/dist/lib/isc/win32/ntpaths.c			new
external/bsd/ntp/dist/lib/isc/win32/once.c			new
external/bsd/ntp/dist/lib/isc/win32/os.c			new
external/bsd/ntp/dist/lib/isc/win32/resource.c			new
external/bsd/ntp/dist/lib/isc/win32/socket.c			new
external/bsd/ntp/dist/lib/isc/win32/stdio.c			new
external/bsd/ntp/dist/lib/isc/win32/stdtime.c			new
external/bsd/ntp/dist/lib/isc/win32/strerror.c			new
external/bsd/ntp/dist/lib/isc/win32/syslog.c			new
external/bsd/ntp/dist/lib/isc/win32/syslog.h			new
external/bsd/ntp/dist/lib/isc/win32/thread.c			new
external/bsd/ntp/dist/lib/isc/win32/time.c			new
external/bsd/ntp/dist/lib/isc/win32/unistd.h			new
external/bsd/ntp/dist/lib/isc/win32/version.c			new
external/bsd/ntp/dist/lib/isc/win32/win32os.c			new
external/bsd/ntp/dist/lib/isc/win32/include/isc/bind_registry.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/bindevt.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/condition.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/dir.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/int.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/ipv6.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/keyboard.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/mutex.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/net.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/netdb.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/ntgroups.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/ntpaths.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/offset.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/once.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/platform.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/stat.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/stdtime.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/strerror.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/syslog.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/thread.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/time.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/win32os.h	new
external/bsd/ntp/dist/lib/isc/x86_32/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/x86_64/include/isc/atomic.h	new
external/bsd/ntp/dist/libjsmn/LICENSE				new
external/bsd/ntp/dist/libjsmn/Makefile				new
external/bsd/ntp/dist/libjsmn/README.md				new
external/bsd/ntp/dist/libjsmn/jsmn.c				new
external/bsd/ntp/dist/libjsmn/jsmn.h				new
external/bsd/ntp/dist/libjsmn/jsmn_test.c			new
external/bsd/ntp/dist/libntp/Makefile.am			new
external/bsd/ntp/dist/libntp/Makefile.in			new
external/bsd/ntp/dist/libntp/README				new
external/bsd/ntp/dist/libntp/a_md5encrypt.c			new
external/bsd/ntp/dist/libntp/adjtime.c				new
external/bsd/ntp/dist/libntp/adjtimex.c				new
external/bsd/ntp/dist/libntp/atoint.c				new
external/bsd/ntp/dist/libntp/atolfp.c				new
external/bsd/ntp/dist/libntp/atouint.c				new
external/bsd/ntp/dist/libntp/audio.c				new
external/bsd/ntp/dist/libntp/authkeys.c				new
external/bsd/ntp/dist/libntp/authreadkeys.c			new
external/bsd/ntp/dist/libntp/authusekey.c			new
external/bsd/ntp/dist/libntp/bsd_strerror.c			new
external/bsd/ntp/dist/libntp/buftvtots.c			new
external/bsd/ntp/dist/libntp/caljulian.c			new
external/bsd/ntp/dist/libntp/caltontp.c				new
external/bsd/ntp/dist/libntp/calyearstart.c			new
external/bsd/ntp/dist/libntp/clocktime.c			new
external/bsd/ntp/dist/libntp/clocktypes.c			new
external/bsd/ntp/dist/libntp/decodenetnum.c			new
external/bsd/ntp/dist/libntp/dofptoa.c				new
external/bsd/ntp/dist/libntp/dolfptoa.c				new
external/bsd/ntp/dist/libntp/emalloc.c				new
external/bsd/ntp/dist/libntp/findconfig.c			new
external/bsd/ntp/dist/libntp/getopt.c				new
external/bsd/ntp/dist/libntp/hextoint.c				new
external/bsd/ntp/dist/libntp/hextolfp.c				new
external/bsd/ntp/dist/libntp/humandate.c			new
external/bsd/ntp/dist/libntp/icom.c				new
external/bsd/ntp/dist/libntp/iosignal.c				new
external/bsd/ntp/dist/libntp/lib_strbuf.c			new
external/bsd/ntp/dist/libntp/machines.c				new
external/bsd/ntp/dist/libntp/mktime.c				new
external/bsd/ntp/dist/libntp/modetoa.c				new
external/bsd/ntp/dist/libntp/mstolfp.c				new
external/bsd/ntp/dist/libntp/msyslog.c				new
external/bsd/ntp/dist/libntp/netof.c				new
external/bsd/ntp/dist/libntp/ntp_calendar.c			new
external/bsd/ntp/dist/libntp/ntp_crypto_rnd.c			new
external/bsd/ntp/dist/libntp/ntp_intres.c			new
external/bsd/ntp/dist/libntp/ntp_libopts.c			new
external/bsd/ntp/dist/libntp/ntp_lineedit.c			new
external/bsd/ntp/dist/libntp/ntp_random.c			new
external/bsd/ntp/dist/libntp/ntp_rfc2553.c			new
external/bsd/ntp/dist/libntp/ntp_worker.c			new
external/bsd/ntp/dist/libntp/numtoa.c				new
external/bsd/ntp/dist/libntp/numtohost.c			new
external/bsd/ntp/dist/libntp/octtoint.c				new
external/bsd/ntp/dist/libntp/prettydate.c			new
external/bsd/ntp/dist/libntp/recvbuff.c				new
external/bsd/ntp/dist/libntp/refnumtoa.c			new
external/bsd/ntp/dist/libntp/snprintf.c				new
external/bsd/ntp/dist/libntp/socket.c				new
external/bsd/ntp/dist/libntp/socktoa.c				new
external/bsd/ntp/dist/libntp/socktohost.c			new
external/bsd/ntp/dist/libntp/ssl_init.c				new
external/bsd/ntp/dist/libntp/statestr.c				new
external/bsd/ntp/dist/libntp/strdup.c				new
external/bsd/ntp/dist/libntp/strl_obsd.c			new
external/bsd/ntp/dist/libntp/syssignal.c			new
external/bsd/ntp/dist/libntp/systime.c				new
external/bsd/ntp/dist/libntp/systime_s.c			new
external/bsd/ntp/dist/libntp/timetoa.c				new
external/bsd/ntp/dist/libntp/timevalops.c			new
external/bsd/ntp/dist/libntp/uglydate.c				new
external/bsd/ntp/dist/libntp/vint64ops.c			new
external/bsd/ntp/dist/libntp/work_fork.c			new
external/bsd/ntp/dist/libntp/work_thread.c			new
external/bsd/ntp/dist/libntp/ymd2yd.c				new
external/bsd/ntp/dist/libparse/Makefile.am			new
external/bsd/ntp/dist/libparse/Makefile.in			new
external/bsd/ntp/dist/libparse/README				new
external/bsd/ntp/dist/libparse/binio.c				new
external/bsd/ntp/dist/libparse/clk_computime.c			new
external/bsd/ntp/dist/libparse/clk_dcf7000.c			new
external/bsd/ntp/dist/libparse/clk_hopf6021.c			new
external/bsd/ntp/dist/libparse/clk_meinberg.c			new
external/bsd/ntp/dist/libparse/clk_rawdcf.c			new
external/bsd/ntp/dist/libparse/clk_rcc8000.c			new
external/bsd/ntp/dist/libparse/clk_schmid.c			new
external/bsd/ntp/dist/libparse/clk_sel240x.c			new
external/bsd/ntp/dist/libparse/clk_trimtaip.c			new
external/bsd/ntp/dist/libparse/clk_trimtsip.c			new
external/bsd/ntp/dist/libparse/clk_varitext.c			new
external/bsd/ntp/dist/libparse/clk_wharton.c			new
external/bsd/ntp/dist/libparse/data_mbg.c			new
external/bsd/ntp/dist/libparse/gpstolfp.c			new
external/bsd/ntp/dist/libparse/ieee754io.c			new
external/bsd/ntp/dist/libparse/info_trimble.c			new
external/bsd/ntp/dist/libparse/mfp_mul.c			new
external/bsd/ntp/dist/libparse/mkinfo_rcmd.sed			new
external/bsd/ntp/dist/libparse/mkinfo_scmd.sed			new
external/bsd/ntp/dist/libparse/parse.c				new
external/bsd/ntp/dist/libparse/parse_conf.c			new
external/bsd/ntp/dist/libparse/parsesolaris.c			new
external/bsd/ntp/dist/libparse/parsestreams.c			new
external/bsd/ntp/dist/libparse/trim_info.c			new
external/bsd/ntp/dist/ntpd/Makefile.am				new
external/bsd/ntp/dist/ntpd/Makefile.in				new
external/bsd/ntp/dist/ntpd/check_y2k.c				new
external/bsd/ntp/dist/ntpd/cmd_args.c				new
external/bsd/ntp/dist/ntpd/complete.conf.in			new
external/bsd/ntp/dist/ntpd/declcond.h				new
external/bsd/ntp/dist/ntpd/invoke-ntp.conf.menu			new
external/bsd/ntp/dist/ntpd/invoke-ntp.conf.texi			new
external/bsd/ntp/dist/ntpd/invoke-ntp.keys.menu			new
external/bsd/ntp/dist/ntpd/invoke-ntp.keys.texi			new
external/bsd/ntp/dist/ntpd/invoke-ntpd.menu			new
external/bsd/ntp/dist/ntpd/invoke-ntpd.texi			new
external/bsd/ntp/dist/ntpd/jupiter.h				new
external/bsd/ntp/dist/ntpd/keyword-gen-utd			new
external/bsd/ntp/dist/ntpd/keyword-gen.c			new
external/bsd/ntp/dist/ntpd/ntp.conf.5man			new
external/bsd/ntp/dist/ntpd/ntp.conf.5mdoc			new
external/bsd/ntp/dist/ntpd/ntp.conf.def				new
external/bsd/ntp/dist/ntpd/ntp.conf.html			new
external/bsd/ntp/dist/ntpd/ntp.conf.man.in			new
external/bsd/ntp/dist/ntpd/ntp.conf.mdoc.in			new
external/bsd/ntp/dist/ntpd/ntp.conf.texi			new
external/bsd/ntp/dist/ntpd/ntp.keys.5man			new
external/bsd/ntp/dist/ntpd/ntp.keys.5mdoc			new
external/bsd/ntp/dist/ntpd/ntp.keys.def				new
external/bsd/ntp/dist/ntpd/ntp.keys.html			new
external/bsd/ntp/dist/ntpd/ntp.keys.man.in			new
external/bsd/ntp/dist/ntpd/ntp.keys.mdoc.in			new
external/bsd/ntp/dist/ntpd/ntp.keys.texi			new
external/bsd/ntp/dist/ntpd/ntp_config.c				new
external/bsd/ntp/dist/ntpd/ntp_control.c			new
external/bsd/ntp/dist/ntpd/ntp_crypto.c				new
external/bsd/ntp/dist/ntpd/ntp_filegen.c			new
external/bsd/ntp/dist/ntpd/ntp_io.c				new
external/bsd/ntp/dist/ntpd/ntp_keyword.h			new
external/bsd/ntp/dist/ntpd/ntp_leapsec.c			new
external/bsd/ntp/dist/ntpd/ntp_leapsec.h			new
external/bsd/ntp/dist/ntpd/ntp_loopfilter.c			new
external/bsd/ntp/dist/ntpd/ntp_monitor.c			new
external/bsd/ntp/dist/ntpd/ntp_parser.c				new
external/bsd/ntp/dist/ntpd/ntp_parser.h				new
external/bsd/ntp/dist/ntpd/ntp_parser.y				new
external/bsd/ntp/dist/ntpd/ntp_peer.c				new
external/bsd/ntp/dist/ntpd/ntp_prio_q.c				new
external/bsd/ntp/dist/ntpd/ntp_proto.c				new
external/bsd/ntp/dist/ntpd/ntp_refclock.c			new
external/bsd/ntp/dist/ntpd/ntp_request.c			new
external/bsd/ntp/dist/ntpd/ntp_restrict.c			new
external/bsd/ntp/dist/ntpd/ntp_scanner.c			new
external/bsd/ntp/dist/ntpd/ntp_scanner.h			new
external/bsd/ntp/dist/ntpd/ntp_signd.c				new
external/bsd/ntp/dist/ntpd/ntp_timer.c				new
external/bsd/ntp/dist/ntpd/ntp_util.c				new
external/bsd/ntp/dist/ntpd/ntpd-opts.c				new
external/bsd/ntp/dist/ntpd/ntpd-opts.def			new
external/bsd/ntp/dist/ntpd/ntpd-opts.h				new
external/bsd/ntp/dist/ntpd/ntpd.1ntpdman			new
external/bsd/ntp/dist/ntpd/ntpd.1ntpdmdoc			new
external/bsd/ntp/dist/ntpd/ntpd.c				new
external/bsd/ntp/dist/ntpd/ntpd.html				new
external/bsd/ntp/dist/ntpd/ntpd.man.in				new
external/bsd/ntp/dist/ntpd/ntpd.mdoc.in				new
external/bsd/ntp/dist/ntpd/ntpd.texi				new
external/bsd/ntp/dist/ntpd/ntpdbase-opts.def			new
external/bsd/ntp/dist/ntpd/ntpsim.c				new
external/bsd/ntp/dist/ntpd/ppsapi_timepps.h			new
external/bsd/ntp/dist/ntpd/refclock_acts.c			new
external/bsd/ntp/dist/ntpd/refclock_arbiter.c			new
external/bsd/ntp/dist/ntpd/refclock_arc.c			new
external/bsd/ntp/dist/ntpd/refclock_as2201.c			new
external/bsd/ntp/dist/ntpd/refclock_atom.c			new
external/bsd/ntp/dist/ntpd/refclock_bancomm.c			new
external/bsd/ntp/dist/ntpd/refclock_chronolog.c			new
external/bsd/ntp/dist/ntpd/refclock_chu.c			new
external/bsd/ntp/dist/ntpd/refclock_conf.c			new
external/bsd/ntp/dist/ntpd/refclock_datum.c			new
external/bsd/ntp/dist/ntpd/refclock_dumbclock.c			new
external/bsd/ntp/dist/ntpd/refclock_fg.c			new
external/bsd/ntp/dist/ntpd/refclock_gpsdjson.c			new
external/bsd/ntp/dist/ntpd/refclock_gpsvme.c			new
external/bsd/ntp/dist/ntpd/refclock_heath.c			new
external/bsd/ntp/dist/ntpd/refclock_hopfpci.c			new
external/bsd/ntp/dist/ntpd/refclock_hopfser.c			new
external/bsd/ntp/dist/ntpd/refclock_hpgps.c			new
external/bsd/ntp/dist/ntpd/refclock_irig.c			new
external/bsd/ntp/dist/ntpd/refclock_jjy.c			new
external/bsd/ntp/dist/ntpd/refclock_jupiter.c			new
external/bsd/ntp/dist/ntpd/refclock_leitch.c			new
external/bsd/ntp/dist/ntpd/refclock_local.c			new
external/bsd/ntp/dist/ntpd/refclock_msfees.c			new
external/bsd/ntp/dist/ntpd/refclock_mx4200.c			new
external/bsd/ntp/dist/ntpd/refclock_neoclock4x.c		new
external/bsd/ntp/dist/ntpd/refclock_nmea.c			new
external/bsd/ntp/dist/ntpd/refclock_oncore.c			new
external/bsd/ntp/dist/ntpd/refclock_palisade.c			new
external/bsd/ntp/dist/ntpd/refclock_palisade.h			new
external/bsd/ntp/dist/ntpd/refclock_parse.c			new
external/bsd/ntp/dist/ntpd/refclock_pcf.c			new
external/bsd/ntp/dist/ntpd/refclock_pst.c			new
external/bsd/ntp/dist/ntpd/refclock_ripencc.c			new
external/bsd/ntp/dist/ntpd/refclock_shm.c			new
external/bsd/ntp/dist/ntpd/refclock_tpro.c			new
external/bsd/ntp/dist/ntpd/refclock_true.c			new
external/bsd/ntp/dist/ntpd/refclock_tsyncpci.c			new
external/bsd/ntp/dist/ntpd/refclock_tt560.c			new
external/bsd/ntp/dist/ntpd/refclock_ulink.c			new
external/bsd/ntp/dist/ntpd/refclock_wwv.c			new
external/bsd/ntp/dist/ntpd/refclock_wwvb.c			new
external/bsd/ntp/dist/ntpd/refclock_zyfer.c			new
external/bsd/ntp/dist/ntpdate/Makefile.am			new
external/bsd/ntp/dist/ntpdate/Makefile.in			new
external/bsd/ntp/dist/ntpdate/README				new
external/bsd/ntp/dist/ntpdate/ntpdate.c				new
external/bsd/ntp/dist/ntpdate/ntpdate.h				new
external/bsd/ntp/dist/ntpdc/Makefile.am				new
external/bsd/ntp/dist/ntpdc/Makefile.in				new
external/bsd/ntp/dist/ntpdc/README				new
external/bsd/ntp/dist/ntpdc/invoke-ntpdc.menu			new
external/bsd/ntp/dist/ntpdc/invoke-ntpdc.texi			new
external/bsd/ntp/dist/ntpdc/layout.std				new
external/bsd/ntp/dist/ntpdc/nl.pl				new
external/bsd/ntp/dist/ntpdc/nl.pl.in				new
external/bsd/ntp/dist/ntpdc/nl_in.c				new
external/bsd/ntp/dist/ntpdc/ntpdc-layout.c			new
external/bsd/ntp/dist/ntpdc/ntpdc-opts.c			new
external/bsd/ntp/dist/ntpdc/ntpdc-opts.def			new
external/bsd/ntp/dist/ntpdc/ntpdc-opts.h			new
external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcman			new
external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc			new
external/bsd/ntp/dist/ntpdc/ntpdc.c				new
external/bsd/ntp/dist/ntpdc/ntpdc.h				new
external/bsd/ntp/dist/ntpdc/ntpdc.html				new
external/bsd/ntp/dist/ntpdc/ntpdc.man.in			new
external/bsd/ntp/dist/ntpdc/ntpdc.mdoc.in			new
external/bsd/ntp/dist/ntpdc/ntpdc.texi				new
external/bsd/ntp/dist/ntpdc/ntpdc_ops.c				new
external/bsd/ntp/dist/ntpq/Makefile.am				new
external/bsd/ntp/dist/ntpq/Makefile.in				new
external/bsd/ntp/dist/ntpq/README				new
external/bsd/ntp/dist/ntpq/invoke-ntpq.menu			new
external/bsd/ntp/dist/ntpq/invoke-ntpq.texi			new
external/bsd/ntp/dist/ntpq/libntpq.c				new
external/bsd/ntp/dist/ntpq/libntpq.h				new
external/bsd/ntp/dist/ntpq/libntpq_subs.c			new
external/bsd/ntp/dist/ntpq/ntpq-opts.c				new
external/bsd/ntp/dist/ntpq/ntpq-opts.def			new
external/bsd/ntp/dist/ntpq/ntpq-opts.h				new
external/bsd/ntp/dist/ntpq/ntpq-subs.c				new
external/bsd/ntp/dist/ntpq/ntpq.1ntpqman			new
external/bsd/ntp/dist/ntpq/ntpq.1ntpqmdoc			new
external/bsd/ntp/dist/ntpq/ntpq.c				new
external/bsd/ntp/dist/ntpq/ntpq.h				new
external/bsd/ntp/dist/ntpq/ntpq.html				new
external/bsd/ntp/dist/ntpq/ntpq.man.in				new
external/bsd/ntp/dist/ntpq/ntpq.mdoc.in				new
external/bsd/ntp/dist/ntpq/ntpq.texi				new
external/bsd/ntp/dist/ntpsnmpd/Makefile.am			new
external/bsd/ntp/dist/ntpsnmpd/Makefile.in			new
external/bsd/ntp/dist/ntpsnmpd/README				new
external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.menu		new
external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi		new
external/bsd/ntp/dist/ntpsnmpd/netsnmp_daemonize.c		new
external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.c		new
external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.h		new
external/bsd/ntp/dist/ntpsnmpd/ntp_snmp.h			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.def		new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman		new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc		new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.c			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.html			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.man.in			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.texi			new
external/bsd/ntp/dist/ntpsnmpd/ntpv4-mib.mib			new
external/bsd/ntp/dist/parseutil/Makefile.am			new
external/bsd/ntp/dist/parseutil/Makefile.in			new
external/bsd/ntp/dist/parseutil/README				new
external/bsd/ntp/dist/parseutil/dcfd.c				new
external/bsd/ntp/dist/parseutil/testdcf.c			new
external/bsd/ntp/dist/scripts/Makefile.am			new
external/bsd/ntp/dist/scripts/Makefile.in			new
external/bsd/ntp/dist/scripts/README				new
external/bsd/ntp/dist/scripts/invoke-plot_summary.menu		new
external/bsd/ntp/dist/scripts/invoke-plot_summary.texi		new
external/bsd/ntp/dist/scripts/invoke-summary.menu		new
external/bsd/ntp/dist/scripts/invoke-summary.texi		new
external/bsd/ntp/dist/scripts/ntpver.in				new
external/bsd/ntp/dist/scripts/plot_summary-opts			new
external/bsd/ntp/dist/scripts/plot_summary-opts.def		new
external/bsd/ntp/dist/scripts/plot_summary.1plot_summaryman	new
external/bsd/ntp/dist/scripts/plot_summary.1plot_summarymdoc	new
external/bsd/ntp/dist/scripts/plot_summary.html			new
external/bsd/ntp/dist/scripts/plot_summary.in			new
external/bsd/ntp/dist/scripts/plot_summary.man.in		new
external/bsd/ntp/dist/scripts/plot_summary.mdoc.in		new
external/bsd/ntp/dist/scripts/plot_summary.texi			new
external/bsd/ntp/dist/scripts/summary-opts			new
external/bsd/ntp/dist/scripts/summary-opts.def			new
external/bsd/ntp/dist/scripts/summary.1summaryman		new
external/bsd/ntp/dist/scripts/summary.1summarymdoc		new
external/bsd/ntp/dist/scripts/summary.html			new
external/bsd/ntp/dist/scripts/summary.in			new
external/bsd/ntp/dist/scripts/summary.man.in			new
external/bsd/ntp/dist/scripts/summary.mdoc.in			new
external/bsd/ntp/dist/scripts/summary.texi			new
external/bsd/ntp/dist/scripts/build/Makefile.am			new
external/bsd/ntp/dist/scripts/build/Makefile.in			new
external/bsd/ntp/dist/scripts/build/UpdatePoint			new
external/bsd/ntp/dist/scripts/build/VersionName			new
external/bsd/ntp/dist/scripts/build/check--help			new
external/bsd/ntp/dist/scripts/build/checkChangeLog		new
external/bsd/ntp/dist/scripts/build/checkHtmlFileDates		new
external/bsd/ntp/dist/scripts/build/fixautomakedepsmagic	new
external/bsd/ntp/dist/scripts/build/genCommitLog		new
external/bsd/ntp/dist/scripts/build/genver			new
external/bsd/ntp/dist/scripts/build/mkver.in			new
external/bsd/ntp/dist/scripts/build/updateBEDate		new
external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.am		new
external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.in		new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts.def new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmannew
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.html	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.in	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.texi	new
external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.menu new
external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi new
external/bsd/ntp/dist/scripts/deprecated/freq_adj.in		new
external/bsd/ntp/dist/scripts/deprecated/hpadjtime.sh		new
external/bsd/ntp/dist/scripts/deprecated/html2man.in		new
external/bsd/ntp/dist/scripts/deprecated/ntp-close		new
external/bsd/ntp/dist/scripts/deprecated/ntp-groper		new
external/bsd/ntp/dist/scripts/deprecated/ntp-restart		new
external/bsd/ntp/dist/scripts/deprecated/ntp-status		new
external/bsd/ntp/dist/scripts/lib/Makefile.am			new
external/bsd/ntp/dist/scripts/lib/Makefile.in			new
external/bsd/ntp/dist/scripts/lib/NTP/Util.pm			new
external/bsd/ntp/dist/scripts/monitoring/README			new
external/bsd/ntp/dist/scripts/monitoring/loopwatch.config.SAMPLE new
external/bsd/ntp/dist/scripts/monitoring/lr.pl			new
external/bsd/ntp/dist/scripts/monitoring/ntp.pl			new
external/bsd/ntp/dist/scripts/monitoring/ntploopstat		new
external/bsd/ntp/dist/scripts/monitoring/ntploopwatch		new
external/bsd/ntp/dist/scripts/monitoring/ntptrap		new
external/bsd/ntp/dist/scripts/monitoring/timelocal.pl		new
external/bsd/ntp/dist/scripts/ntp-wait/Makefile.am		new
external/bsd/ntp/dist/scripts/ntp-wait/Makefile.in		new
external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.menu	new
external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts.def	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.html		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.in		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.man.in		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.texi		new
external/bsd/ntp/dist/scripts/ntpsweep/Makefile.am		new
external/bsd/ntp/dist/scripts/ntpsweep/Makefile.in		new
external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.menu	new
external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts.def	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.html		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.in		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.man.in		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.texi		new
external/bsd/ntp/dist/scripts/ntptrace/Makefile.am		new
external/bsd/ntp/dist/scripts/ntptrace/Makefile.in		new
external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.menu	new
external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts.def	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.html		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.in		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.man.in		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.texi		new
external/bsd/ntp/dist/scripts/rc/README				new
external/bsd/ntp/dist/scripts/rc/ntpd				new
external/bsd/ntp/dist/scripts/rc/ntpwait			new
external/bsd/ntp/dist/scripts/rc/rc.d/TIMESYNC			new
external/bsd/ntp/dist/scripts/rc/rc.d/ntpd			new
external/bsd/ntp/dist/scripts/rc/rc.d/ntpwait			new
external/bsd/ntp/dist/scripts/stats/README			new
external/bsd/ntp/dist/scripts/stats/README.stats		new
external/bsd/ntp/dist/scripts/stats/README.timecodes		new
external/bsd/ntp/dist/scripts/stats/clock.awk			new
external/bsd/ntp/dist/scripts/stats/dupe.awk			new
external/bsd/ntp/dist/scripts/stats/ensemble.S			new
external/bsd/ntp/dist/scripts/stats/ensemble.awk		new
external/bsd/ntp/dist/scripts/stats/etf.S			new
external/bsd/ntp/dist/scripts/stats/etf.awk			new
external/bsd/ntp/dist/scripts/stats/itf.S			new
external/bsd/ntp/dist/scripts/stats/itf.awk			new
external/bsd/ntp/dist/scripts/stats/loop.S			new
external/bsd/ntp/dist/scripts/stats/loop.awk			new
external/bsd/ntp/dist/scripts/stats/loop_summary		new
external/bsd/ntp/dist/scripts/stats/peer.awk			new
external/bsd/ntp/dist/scripts/stats/psummary.awk		new
external/bsd/ntp/dist/scripts/stats/summary.sh			new
external/bsd/ntp/dist/scripts/stats/tdata.S			new
external/bsd/ntp/dist/scripts/stats/tdata.awk			new
external/bsd/ntp/dist/sntp/COPYRIGHT				new
external/bsd/ntp/dist/sntp/Makefile.am				new
external/bsd/ntp/dist/sntp/Makefile.in				new
external/bsd/ntp/dist/sntp/aclocal.m4				new
external/bsd/ntp/dist/sntp/bincheck.mf				new
external/bsd/ntp/dist/sntp/check-libntp.mf			new
external/bsd/ntp/dist/sntp/check-libopts.mf			new
external/bsd/ntp/dist/sntp/config.h.in				new
external/bsd/ntp/dist/sntp/configure				new
external/bsd/ntp/dist/sntp/configure.ac				new
external/bsd/ntp/dist/sntp/crypto.c				new
external/bsd/ntp/dist/sntp/crypto.h				new
external/bsd/ntp/dist/sntp/data_formats.h			new
external/bsd/ntp/dist/sntp/deps-ver				new
external/bsd/ntp/dist/sntp/depsver.mf				new
external/bsd/ntp/dist/sntp/evlog.c				new
external/bsd/ntp/dist/sntp/includes.mf				new
external/bsd/ntp/dist/sntp/install-sh				new
external/bsd/ntp/dist/sntp/invoke-sntp.menu			new
external/bsd/ntp/dist/sntp/invoke-sntp.texi			new
external/bsd/ntp/dist/sntp/kod_management.c			new
external/bsd/ntp/dist/sntp/kod_management.h			new
external/bsd/ntp/dist/sntp/log.c				new
external/bsd/ntp/dist/sntp/log.h				new
external/bsd/ntp/dist/sntp/main.c				new
external/bsd/ntp/dist/sntp/main.h				new
external/bsd/ntp/dist/sntp/networking.c				new
external/bsd/ntp/dist/sntp/networking.h				new
external/bsd/ntp/dist/sntp/scm-rev				new
external/bsd/ntp/dist/sntp/sntp-opts.c				new
external/bsd/ntp/dist/sntp/sntp-opts.def			new
external/bsd/ntp/dist/sntp/sntp-opts.h				new
external/bsd/ntp/dist/sntp/sntp.1sntpman			new
external/bsd/ntp/dist/sntp/sntp.1sntpmdoc			new
external/bsd/ntp/dist/sntp/sntp.c				new
external/bsd/ntp/dist/sntp/sntp.html				new
external/bsd/ntp/dist/sntp/sntp.man.in				new
external/bsd/ntp/dist/sntp/sntp.mdoc.in				new
external/bsd/ntp/dist/sntp/sntp.texi				new
external/bsd/ntp/dist/sntp/tests_main.cpp			new
external/bsd/ntp/dist/sntp/tests_main.h				new
external/bsd/ntp/dist/sntp/utilities.c				new
external/bsd/ntp/dist/sntp/utilities.h				new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/Mdoc.pm			new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/agman-cmd.tpl		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/agmdoc-cmd.tpl		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/cmd-doc.tlib		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc-synopsis.tlib	new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2man		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2texi		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/perlopt.tpl		new
external/bsd/ntp/dist/sntp/event2/event-config.h		new
external/bsd/ntp/dist/sntp/include/Makefile.am			new
external/bsd/ntp/dist/sntp/include/Makefile.in			new
external/bsd/ntp/dist/sntp/include/autogen-version.def		new
external/bsd/ntp/dist/sntp/include/copyright.def		new
external/bsd/ntp/dist/sntp/include/debug-opt.def		new
external/bsd/ntp/dist/sntp/include/homerc.def			new
external/bsd/ntp/dist/sntp/include/ntp.lic			new
external/bsd/ntp/dist/sntp/include/version.def			new
external/bsd/ntp/dist/sntp/include/version.texi			new
external/bsd/ntp/dist/sntp/libevent/ChangeLog			new
external/bsd/ntp/dist/sntp/libevent/ChangeLog-1.4		new
external/bsd/ntp/dist/sntp/libevent/ChangeLog-2.0		new
external/bsd/ntp/dist/sntp/libevent/Doxyfile			new
external/bsd/ntp/dist/sntp/libevent/LICENSE			new
external/bsd/ntp/dist/sntp/libevent/Makefile.am			new
external/bsd/ntp/dist/sntp/libevent/Makefile.in			new
external/bsd/ntp/dist/sntp/libevent/Makefile.nmake		new
external/bsd/ntp/dist/sntp/libevent/README			new
external/bsd/ntp/dist/sntp/libevent/aclocal.m4			new
external/bsd/ntp/dist/sntp/libevent/arc4random.c		new
external/bsd/ntp/dist/sntp/libevent/autogen.sh			new
external/bsd/ntp/dist/sntp/libevent/buffer.c			new
external/bsd/ntp/dist/sntp/libevent/buffer_iocp.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent-internal.h	new
external/bsd/ntp/dist/sntp/libevent/bufferevent.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent_async.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent_filter.c	new
external/bsd/ntp/dist/sntp/libevent/bufferevent_openssl.c	new
external/bsd/ntp/dist/sntp/libevent/bufferevent_pair.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent_ratelim.c	new
external/bsd/ntp/dist/sntp/libevent/bufferevent_sock.c		new
external/bsd/ntp/dist/sntp/libevent/changelist-internal.h	new
external/bsd/ntp/dist/sntp/libevent/config.h.in			new
external/bsd/ntp/dist/sntp/libevent/configure			new
external/bsd/ntp/dist/sntp/libevent/configure.ac		new
external/bsd/ntp/dist/sntp/libevent/defer-internal.h		new
external/bsd/ntp/dist/sntp/libevent/devpoll.c			new
external/bsd/ntp/dist/sntp/libevent/epoll.c			new
external/bsd/ntp/dist/sntp/libevent/epoll_sub.c			new
external/bsd/ntp/dist/sntp/libevent/epolltable-internal.h	new
external/bsd/ntp/dist/sntp/libevent/evbuffer-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evconfig-private.h		new
external/bsd/ntp/dist/sntp/libevent/evconfig-private.h.in	new
external/bsd/ntp/dist/sntp/libevent/evdns.c			new
external/bsd/ntp/dist/sntp/libevent/event-internal.h		new
external/bsd/ntp/dist/sntp/libevent/event.c			new
external/bsd/ntp/dist/sntp/libevent/event_iocp.c		new
external/bsd/ntp/dist/sntp/libevent/event_rpcgen.py		new
external/bsd/ntp/dist/sntp/libevent/event_tagging.c		new
external/bsd/ntp/dist/sntp/libevent/evmap-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evmap.c			new
external/bsd/ntp/dist/sntp/libevent/evport.c			new
external/bsd/ntp/dist/sntp/libevent/evrpc-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evrpc.c			new
external/bsd/ntp/dist/sntp/libevent/evsignal-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evthread-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evthread.c			new
external/bsd/ntp/dist/sntp/libevent/evthread_pthread.c		new
external/bsd/ntp/dist/sntp/libevent/evthread_win32.c		new
external/bsd/ntp/dist/sntp/libevent/evutil.c			new
external/bsd/ntp/dist/sntp/libevent/evutil_rand.c		new
external/bsd/ntp/dist/sntp/libevent/evutil_time.c		new
external/bsd/ntp/dist/sntp/libevent/ht-internal.h		new
external/bsd/ntp/dist/sntp/libevent/http-internal.h		new
external/bsd/ntp/dist/sntp/libevent/http.c			new
external/bsd/ntp/dist/sntp/libevent/iocp-internal.h		new
external/bsd/ntp/dist/sntp/libevent/ipv6-internal.h		new
external/bsd/ntp/dist/sntp/libevent/kqueue-internal.h		new
external/bsd/ntp/dist/sntp/libevent/kqueue.c			new
external/bsd/ntp/dist/sntp/libevent/libevent.pc.in		new
external/bsd/ntp/dist/sntp/libevent/libevent_openssl.pc.in	new
external/bsd/ntp/dist/sntp/libevent/libevent_pthreads.pc.in	new
external/bsd/ntp/dist/sntp/libevent/listener.c			new
external/bsd/ntp/dist/sntp/libevent/log-internal.h		new
external/bsd/ntp/dist/sntp/libevent/log.c			new
external/bsd/ntp/dist/sntp/libevent/make-event-config.sed	new
external/bsd/ntp/dist/sntp/libevent/minheap-internal.h		new
external/bsd/ntp/dist/sntp/libevent/mm-internal.h		new
external/bsd/ntp/dist/sntp/libevent/poll.c			new
external/bsd/ntp/dist/sntp/libevent/ratelim-internal.h		new
external/bsd/ntp/dist/sntp/libevent/select.c			new
external/bsd/ntp/dist/sntp/libevent/signal.c			new
external/bsd/ntp/dist/sntp/libevent/strlcpy-internal.h		new
external/bsd/ntp/dist/sntp/libevent/strlcpy.c			new
external/bsd/ntp/dist/sntp/libevent/time-internal.h		new
external/bsd/ntp/dist/sntp/libevent/util-internal.h		new
external/bsd/ntp/dist/sntp/libevent/whatsnew-2.0.txt		new
external/bsd/ntp/dist/sntp/libevent/whatsnew-2.1.txt		new
external/bsd/ntp/dist/sntp/libevent/win32select.c		new
external/bsd/ntp/dist/sntp/libevent/WIN32-Code/tree.h		new
external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/evconfig-private.h new
external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/event2/event-config.h new
external/bsd/ntp/dist/sntp/libevent/build-aux/compile		new
external/bsd/ntp/dist/sntp/libevent/build-aux/config.guess	new
external/bsd/ntp/dist/sntp/libevent/build-aux/config.sub	new
external/bsd/ntp/dist/sntp/libevent/build-aux/depcomp		new
external/bsd/ntp/dist/sntp/libevent/build-aux/install-sh	new
external/bsd/ntp/dist/sntp/libevent/build-aux/ltmain.sh		new
external/bsd/ntp/dist/sntp/libevent/build-aux/missing		new
external/bsd/ntp/dist/sntp/libevent/build-aux/ylwrap		new
external/bsd/ntp/dist/sntp/libevent/compat/sys/queue.h		new
external/bsd/ntp/dist/sntp/libevent/include/evdns.h		new
external/bsd/ntp/dist/sntp/libevent/include/event.h		new
external/bsd/ntp/dist/sntp/libevent/include/evhttp.h		new
external/bsd/ntp/dist/sntp/libevent/include/evrpc.h		new
external/bsd/ntp/dist/sntp/libevent/include/evutil.h		new
external/bsd/ntp/dist/sntp/libevent/include/include.am		new
external/bsd/ntp/dist/sntp/libevent/include/event2/buffer.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/buffer_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_ssl.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/dns.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/dns_compat.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/dns_struct.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/event.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/event_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/event_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/http.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/http_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/http_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/keyvalq_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/listener.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/rpc.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_compat.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_struct.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/tag.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/tag_compat.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/thread.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/util.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/visibility.h	new
external/bsd/ntp/dist/sntp/libevent/m4/ac_backport_259_ssizet.m4 new
external/bsd/ntp/dist/sntp/libevent/m4/libevent_openssl.m4	new
external/bsd/ntp/dist/sntp/libevent/m4/libtool.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ltoptions.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ltsugar.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ltversion.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/lt~obsolete.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ntp_pkg_config.m4	new
external/bsd/ntp/dist/sntp/libevent/m4/openldap-thread-check.m4	new
external/bsd/ntp/dist/sntp/libevent/m4/openldap.m4		new
external/bsd/ntp/dist/sntp/libevent/sample/dns-example.c	new
external/bsd/ntp/dist/sntp/libevent/sample/event-read-fifo.c	new
external/bsd/ntp/dist/sntp/libevent/sample/hello-world.c	new
external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.c		new
external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.h		new
external/bsd/ntp/dist/sntp/libevent/sample/http-server.c	new
external/bsd/ntp/dist/sntp/libevent/sample/https-client.c	new
external/bsd/ntp/dist/sntp/libevent/sample/include.am		new
external/bsd/ntp/dist/sntp/libevent/sample/le-proxy.c		new
external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.cnew
external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.hnew
external/bsd/ntp/dist/sntp/libevent/sample/signal-test.c	new
external/bsd/ntp/dist/sntp/libevent/sample/time-test.c		new
external/bsd/ntp/dist/sntp/libevent/test/Makefile.nmake		new
external/bsd/ntp/dist/sntp/libevent/test/bench.c		new
external/bsd/ntp/dist/sntp/libevent/test/bench_cascade.c	new
external/bsd/ntp/dist/sntp/libevent/test/bench_http.c		new
external/bsd/ntp/dist/sntp/libevent/test/bench_httpclient.c	new
external/bsd/ntp/dist/sntp/libevent/test/check-dumpevents.py	new
external/bsd/ntp/dist/sntp/libevent/test/include.am		new
external/bsd/ntp/dist/sntp/libevent/test/regress.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress.gen.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress.gen.h		new
external/bsd/ntp/dist/sntp/libevent/test/regress.h		new
external/bsd/ntp/dist/sntp/libevent/test/regress.rpc		new
external/bsd/ntp/dist/sntp/libevent/test/regress_buffer.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_bufferevent.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_dns.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_et.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_finalize.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_http.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_iocp.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_listener.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_main.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_minheap.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_rpc.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_ssl.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.h	new
external/bsd/ntp/dist/sntp/libevent/test/regress_thread.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_thread.h	new
external/bsd/ntp/dist/sntp/libevent/test/regress_util.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_zlib.c		new
external/bsd/ntp/dist/sntp/libevent/test/rpcgen_wrapper.sh	new
external/bsd/ntp/dist/sntp/libevent/test/test-changelist.c	new
external/bsd/ntp/dist/sntp/libevent/test/test-closed.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-dumpevents.c	new
external/bsd/ntp/dist/sntp/libevent/test/test-eof.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-fdleak.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-init.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-time.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-weof.c		new
external/bsd/ntp/dist/sntp/libevent/test/test.sh		new
external/bsd/ntp/dist/sntp/libevent/test/tinytest.c		new
external/bsd/ntp/dist/sntp/libevent/test/tinytest.h		new
external/bsd/ntp/dist/sntp/libevent/test/tinytest_local.h	new
external/bsd/ntp/dist/sntp/libevent/test/tinytest_macros.h	new
external/bsd/ntp/dist/sntp/libopts/COPYING.gplv3		new
external/bsd/ntp/dist/sntp/libopts/COPYING.lgplv3		new
external/bsd/ntp/dist/sntp/libopts/COPYING.mbsd			new
external/bsd/ntp/dist/sntp/libopts/MakeDefs.inc			new
external/bsd/ntp/dist/sntp/libopts/Makefile.am			new
external/bsd/ntp/dist/sntp/libopts/Makefile.in			new
external/bsd/ntp/dist/sntp/libopts/README			new
external/bsd/ntp/dist/sntp/libopts/ag-char-map.h		new
external/bsd/ntp/dist/sntp/libopts/alias.c			new
external/bsd/ntp/dist/sntp/libopts/ao-strs.c			new
external/bsd/ntp/dist/sntp/libopts/ao-strs.h			new
external/bsd/ntp/dist/sntp/libopts/autoopts.c			new
external/bsd/ntp/dist/sntp/libopts/autoopts.h			new
external/bsd/ntp/dist/sntp/libopts/boolean.c			new
external/bsd/ntp/dist/sntp/libopts/check.c			new
external/bsd/ntp/dist/sntp/libopts/configfile.c			new
external/bsd/ntp/dist/sntp/libopts/cook.c			new
external/bsd/ntp/dist/sntp/libopts/enum.c			new
external/bsd/ntp/dist/sntp/libopts/env.c			new
external/bsd/ntp/dist/sntp/libopts/file.c			new
external/bsd/ntp/dist/sntp/libopts/find.c			new
external/bsd/ntp/dist/sntp/libopts/genshell.c			new
external/bsd/ntp/dist/sntp/libopts/genshell.h			new
external/bsd/ntp/dist/sntp/libopts/gettext.h			new
external/bsd/ntp/dist/sntp/libopts/init.c			new
external/bsd/ntp/dist/sntp/libopts/intprops.h			new
external/bsd/ntp/dist/sntp/libopts/libopts.c			new
external/bsd/ntp/dist/sntp/libopts/load.c			new
external/bsd/ntp/dist/sntp/libopts/makeshell.c			new
external/bsd/ntp/dist/sntp/libopts/nested.c			new
external/bsd/ntp/dist/sntp/libopts/numeric.c			new
external/bsd/ntp/dist/sntp/libopts/option-value-type.c		new
external/bsd/ntp/dist/sntp/libopts/option-value-type.h		new
external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.c	new
external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.h	new
external/bsd/ntp/dist/sntp/libopts/parse-duration.c		new
external/bsd/ntp/dist/sntp/libopts/parse-duration.h		new
external/bsd/ntp/dist/sntp/libopts/pgusage.c			new
external/bsd/ntp/dist/sntp/libopts/proto.h			new
external/bsd/ntp/dist/sntp/libopts/putshell.c			new
external/bsd/ntp/dist/sntp/libopts/reset.c			new
external/bsd/ntp/dist/sntp/libopts/restore.c			new
external/bsd/ntp/dist/sntp/libopts/save.c			new
external/bsd/ntp/dist/sntp/libopts/sort.c			new
external/bsd/ntp/dist/sntp/libopts/stack.c			new
external/bsd/ntp/dist/sntp/libopts/stdnoreturn.in.h		new
external/bsd/ntp/dist/sntp/libopts/streqvcmp.c			new
external/bsd/ntp/dist/sntp/libopts/text_mmap.c			new
external/bsd/ntp/dist/sntp/libopts/time.c			new
external/bsd/ntp/dist/sntp/libopts/tokenize.c			new
external/bsd/ntp/dist/sntp/libopts/usage.c			new
external/bsd/ntp/dist/sntp/libopts/version.c			new
external/bsd/ntp/dist/sntp/libopts/autoopts/options.h		new
external/bsd/ntp/dist/sntp/libopts/autoopts/project.h		new
external/bsd/ntp/dist/sntp/libopts/autoopts/usage-txt.h		new
external/bsd/ntp/dist/sntp/libopts/compat/_Noreturn.h		new
external/bsd/ntp/dist/sntp/libopts/compat/compat.h		new
external/bsd/ntp/dist/sntp/libopts/compat/pathfind.c		new
external/bsd/ntp/dist/sntp/libopts/compat/snprintf.c		new
external/bsd/ntp/dist/sntp/libopts/compat/strchr.c		new
external/bsd/ntp/dist/sntp/libopts/compat/strdup.c		new
external/bsd/ntp/dist/sntp/libopts/compat/windows-config.h	new
external/bsd/ntp/dist/sntp/libopts/m4/libopts.m4		new
external/bsd/ntp/dist/sntp/libopts/m4/liboptschk.m4		new
external/bsd/ntp/dist/sntp/libopts/m4/stdnoreturn.m4		new
external/bsd/ntp/dist/sntp/loc/README				new
external/bsd/ntp/dist/sntp/loc/darwin				new
external/bsd/ntp/dist/sntp/loc/debian				new
external/bsd/ntp/dist/sntp/loc/freebsd				new
external/bsd/ntp/dist/sntp/loc/legacy				new
external/bsd/ntp/dist/sntp/loc/netbsd				new
external/bsd/ntp/dist/sntp/loc/redhat				new
external/bsd/ntp/dist/sntp/loc/solaris				new
external/bsd/ntp/dist/sntp/m4/define_dir.m4			new
external/bsd/ntp/dist/sntp/m4/hms_search_lib.m4			new
external/bsd/ntp/dist/sntp/m4/libtool.m4			new
external/bsd/ntp/dist/sntp/m4/ltoptions.m4			new
external/bsd/ntp/dist/sntp/m4/ltsugar.m4			new
external/bsd/ntp/dist/sntp/m4/ltversion.m4			new
external/bsd/ntp/dist/sntp/m4/lt~obsolete.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_cacheversion.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_compiler.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_crosscompile.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_crypto_rand.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_debug.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_dir_sep.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_facilitynames.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_googletest.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_ipv6.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_lib_m.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_libevent.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_libntp.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_lineeditlibs.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_locinfo.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_openssl.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_pkg_config.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_prog_cc.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_rlimit.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_sntp.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_sysexits.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_ver_suffix.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_vpathhack.m4			new
external/bsd/ntp/dist/sntp/m4/os_cflags.m4			new
external/bsd/ntp/dist/sntp/m4/snprintf.m4			new
external/bsd/ntp/dist/sntp/m4/version.m4			new
external/bsd/ntp/dist/sntp/scripts/Makefile.am			new
external/bsd/ntp/dist/sntp/scripts/Makefile.in			new
external/bsd/ntp/dist/sntp/scripts/cvo.sh			new
external/bsd/ntp/dist/sntp/scripts/genLocInfo			new
external/bsd/ntp/dist/sntp/scripts/mansec2subst.sed		new
external/bsd/ntp/dist/sntp/tests/Makefile.am			new
external/bsd/ntp/dist/sntp/tests/Makefile.in			new
external/bsd/ntp/dist/sntp/tests/crypto.cpp			new
external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h		new
external/bsd/ntp/dist/sntp/tests/keyFile.cpp			new
external/bsd/ntp/dist/sntp/tests/kodDatabase.cpp		new
external/bsd/ntp/dist/sntp/tests/kodFile.cpp			new
external/bsd/ntp/dist/sntp/tests/networking.cpp			new
external/bsd/ntp/dist/sntp/tests/packetHandling.cpp		new
external/bsd/ntp/dist/sntp/tests/packetProcessing.cpp		new
external/bsd/ntp/dist/sntp/tests/sntptest.h			new
external/bsd/ntp/dist/sntp/tests/tests-runner			new
external/bsd/ntp/dist/sntp/tests/utilities.cpp			new
external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-bin	new
external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-dec	new
external/bsd/ntp/dist/sntp/tests/data/debug-input-pkt		new
external/bsd/ntp/dist/sntp/tests/data/key-test-ascii		new
external/bsd/ntp/dist/sntp/tests/data/key-test-comments		new
external/bsd/ntp/dist/sntp/tests/data/key-test-empty		new
external/bsd/ntp/dist/sntp/tests/data/key-test-hex		new
external/bsd/ntp/dist/sntp/tests/data/key-test-invalid-hex	new
external/bsd/ntp/dist/sntp/tests/data/kod-expected-multiple	new
external/bsd/ntp/dist/sntp/tests/data/kod-expected-single	new
external/bsd/ntp/dist/sntp/tests/data/kod-test-blanks		new
external/bsd/ntp/dist/sntp/tests/data/kod-test-correct		new
external/bsd/ntp/dist/sntp/tests/data/kod-test-empty		new
external/bsd/ntp/dist/tests/Makefile.am				new
external/bsd/ntp/dist/tests/Makefile.in				new
external/bsd/ntp/dist/tests/libntp/Makefile.am			new
external/bsd/ntp/dist/tests/libntp/Makefile.in			new
external/bsd/ntp/dist/tests/libntp/a_md5encrypt.cpp		new
external/bsd/ntp/dist/tests/libntp/atoint.cpp			new
external/bsd/ntp/dist/tests/libntp/atouint.cpp			new
external/bsd/ntp/dist/tests/libntp/authkeys.cpp			new
external/bsd/ntp/dist/tests/libntp/buftvtots.cpp		new
external/bsd/ntp/dist/tests/libntp/calendar.cpp			new
external/bsd/ntp/dist/tests/libntp/caljulian.cpp		new
external/bsd/ntp/dist/tests/libntp/caltontp.cpp			new
external/bsd/ntp/dist/tests/libntp/calyearstart.cpp		new
external/bsd/ntp/dist/tests/libntp/clocktime.cpp		new
external/bsd/ntp/dist/tests/libntp/decodenetnum.cpp		new
external/bsd/ntp/dist/tests/libntp/hextoint.cpp			new
external/bsd/ntp/dist/tests/libntp/hextolfp.cpp			new
external/bsd/ntp/dist/tests/libntp/humandate.cpp		new
external/bsd/ntp/dist/tests/libntp/lfpfunc.cpp			new
external/bsd/ntp/dist/tests/libntp/lfptest.h			new
external/bsd/ntp/dist/tests/libntp/lfptostr.cpp			new
external/bsd/ntp/dist/tests/libntp/libntptest.cpp		new
external/bsd/ntp/dist/tests/libntp/libntptest.h			new
external/bsd/ntp/dist/tests/libntp/modetoa.cpp			new
external/bsd/ntp/dist/tests/libntp/msyslog.cpp			new
external/bsd/ntp/dist/tests/libntp/netof.cpp			new
external/bsd/ntp/dist/tests/libntp/numtoa.cpp			new
external/bsd/ntp/dist/tests/libntp/numtohost.cpp		new
external/bsd/ntp/dist/tests/libntp/octtoint.cpp			new
external/bsd/ntp/dist/tests/libntp/prettydate.cpp		new
external/bsd/ntp/dist/tests/libntp/recvbuff.cpp			new
external/bsd/ntp/dist/tests/libntp/refnumtoa.cpp		new
external/bsd/ntp/dist/tests/libntp/sfptostr.cpp			new
external/bsd/ntp/dist/tests/libntp/sockaddrtest.h		new
external/bsd/ntp/dist/tests/libntp/socktoa.cpp			new
external/bsd/ntp/dist/tests/libntp/ssl_init.cpp			new
external/bsd/ntp/dist/tests/libntp/statestr.cpp			new
external/bsd/ntp/dist/tests/libntp/strtolfp.cpp			new
external/bsd/ntp/dist/tests/libntp/timespecops.cpp		new
external/bsd/ntp/dist/tests/libntp/timestructs.cpp		new
external/bsd/ntp/dist/tests/libntp/timestructs.h		new
external/bsd/ntp/dist/tests/libntp/timevalops.cpp		new
external/bsd/ntp/dist/tests/libntp/tstotv.cpp			new
external/bsd/ntp/dist/tests/libntp/tvtots.cpp			new
external/bsd/ntp/dist/tests/libntp/uglydate.cpp			new
external/bsd/ntp/dist/tests/libntp/vi64ops.cpp			new
external/bsd/ntp/dist/tests/libntp/ymd2yd.cpp			new
external/bsd/ntp/dist/tests/ntpd/Makefile.am			new
external/bsd/ntp/dist/tests/ntpd/Makefile.in			new
external/bsd/ntp/dist/tests/ntpd/leapsec.cpp			new
external/bsd/ntp/dist/tests/ntpd/ntpdtest.cpp			new
external/bsd/ntp/dist/tests/ntpd/ntpdtest.h			new
external/bsd/ntp/dist/util/Makefile.am				new
external/bsd/ntp/dist/util/Makefile.in				new
external/bsd/ntp/dist/util/README				new
external/bsd/ntp/dist/util/audio-pcm.c				new
external/bsd/ntp/dist/util/byteorder.c				new
external/bsd/ntp/dist/util/hist.c				new
external/bsd/ntp/dist/util/invoke-ntp-keygen.menu		new
external/bsd/ntp/dist/util/invoke-ntp-keygen.texi		new
external/bsd/ntp/dist/util/jitter.c				new
external/bsd/ntp/dist/util/jitter.h				new
external/bsd/ntp/dist/util/kern.c				new
external/bsd/ntp/dist/util/longsize.c				new
external/bsd/ntp/dist/util/ntp-keygen-opts.c			new
external/bsd/ntp/dist/util/ntp-keygen-opts.def			new
external/bsd/ntp/dist/util/ntp-keygen-opts.h			new
external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenman		new
external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc		new
external/bsd/ntp/dist/util/ntp-keygen.c				new
external/bsd/ntp/dist/util/ntp-keygen.html			new
external/bsd/ntp/dist/util/ntp-keygen.man.in			new
external/bsd/ntp/dist/util/ntp-keygen.mdoc.in			new
external/bsd/ntp/dist/util/ntp-keygen.texi			new
external/bsd/ntp/dist/util/ntptime.c				new
external/bsd/ntp/dist/util/pps-api.c				new
external/bsd/ntp/dist/util/precision.c				new
external/bsd/ntp/dist/util/sht.c				new
external/bsd/ntp/dist/util/testrs6000.c				new
external/bsd/ntp/dist/util/tg.c					new
external/bsd/ntp/dist/util/tg2.c				new
external/bsd/ntp/dist/util/tickadj.c				new
external/bsd/ntp/dist/util/timetrim.c				new
external/bsd/ntp/html/Makefile					new
external/bsd/ntp/include/config.h				new
external/bsd/ntp/lib/Makefile					new
external/bsd/ntp/lib/Makefile.inc				new
external/bsd/ntp/lib/libiscntp/Makefile				new
external/bsd/ntp/lib/libntp/Makefile				new
external/bsd/ntp/lib/libopts/Makefile				new
external/bsd/ntp/lib/libparse/Makefile				new
external/bsd/ntp/scripts/mkver					new
usr.sbin/Makefile						patch
usr.sbin/ntp/Makefile						delete
usr.sbin/ntp/Makefile.inc					delete
usr.sbin/ntp/importdate						delete
usr.sbin/ntp/html/Makefile					delete
usr.sbin/ntp/include/config.h					delete
usr.sbin/ntp/libisc/Makefile					delete
usr.sbin/ntp/libntp/Makefile					delete
usr.sbin/ntp/libopts/Makefile					delete
usr.sbin/ntp/libparse/Makefile					delete
usr.sbin/ntp/ntp-keygen/Makefile				delete
usr.sbin/ntp/ntp-keygen/ntp-keygen.8				delete
usr.sbin/ntp/ntpd/Makefile					delete
usr.sbin/ntp/ntpd/ntpd.8					delete
usr.sbin/ntp/ntpdate/Makefile					delete
usr.sbin/ntp/ntpdate/ntpdate.8					delete
usr.sbin/ntp/ntpdc/Makefile					delete
usr.sbin/ntp/ntpdc/ntpdc.8					delete
usr.sbin/ntp/ntpq/Makefile					delete
usr.sbin/ntp/ntpq/ntpq.8					delete
usr.sbin/ntp/ntptime/Makefile					delete
usr.sbin/ntp/ntptime/ntptime.8					delete
usr.sbin/ntp/ntptrace/Makefile					delete
usr.sbin/ntp/ntptrace/ntptrace.8				delete
usr.sbin/ntp/ntptrace/ntptrace.awk				delete
usr.sbin/ntp/scripts/mkver					delete
usr.sbin/sntp/Makefile						delete
usr.sbin/sntp/sntp.1						delete

	Update ntp to 4.2.8. CVE-2014-9293, CVE-2014-9294, CVE-2014-9295,
	and CVE-2014-9296.
	[he, ticket #1938]
@
text
@a0 1667
#!/usr/bin/perl -w
;# --*-perl-*--
;#
;# /src/NTP/ntp4-dev/scripts/monitoring/ntploopwatch,v 4.7 2004/11/14 16:11:05 kardel RELEASE_20050508_A
;#
;# process loop filter statistics file and either
;#     - show statistics periodically using gnuplot
;#     - or print a single plot
;#
;#  Copyright (c) 1992-1998 
;#  Rainer Pruy, Friedrich-Alexander Universität Erlangen-Nürnberg
;#
;#
;#############################################################
$0 =~ s!^.*/([^/]+)$!$1!;
$F = ' ' x length($0);
$|=1;

$ENV{'SHELL'} = '/bin/sh'; # use bourne shell

undef($config);
undef($workdir);
undef($PrintIt);
undef($samples);
undef($StartTime);
undef($EndTime);
($a,$b) if 0;			# keep -w happy
$usage = <<"E-O-P";
usage:
  to watch statistics permanently:
     $0 [-v[<level>]] [-c <config-file>] [-d <working-dir>]
     $F [-h <hostname>]

  to get a single print out specify also
     $F -P[<printer>] [-s<samples>]
     $F               [-S <start-time>] [-E <end-time>]
     $F               [-Y <MaxOffs>] [-y <MinOffs>]

If You like long option names, You can use:
    -help
    -c    +config
    -d    +directory
    -h    +host
    -v    +verbose[=<level>]
    -P    +printer[=<printer>]
    -s    +samples[=<samples>]
    -S    +starttime
    -E    +endtime
    -Y    +maxy
    -y    +miny

If <printer> contains a '/' (slash character) output is directed to 
a file of this name instead of delivered to a printer.
E-O-P

;# add directory to look for lr.pl and timelocal.pl (in front of current list)
unshift(@@INC,".");

require "lr.pl";	# linear regresion routines

$MJD_1970 = 40587;		# from ntp.h (V3)
$RecordSize = 48;		# usually a line fits into 42 bytes
$MinClip = 1;		# clip Y scales with greater range than this

;# largest extension of Y scale from mean value, factor for standart deviation
$FuzzLow = 2.2;			# for side closer to zero
$FuzzBig = 1.8;			# for side farther from zero

require "ctime.pl";
require "timelocal.pl";
;# early distributions of ctime.pl had a bug
$ENV{'TZ'} = 'MET' unless defined $ENV{'TZ'} || $[ > 4.010;
if (defined(@@ctime'MoY))
{
  *Month=*ctime'MoY;
  *Day=*ctime'DoW;
} 					# ' re-sync emacs fontification
else
{
  @@Month = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
  @@Day   = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
}
print @@ctime'DoW if 0; # ' re-sync emacs fontification

;# max number of days per month
@@MaxNumDaysPerMonth = (31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

;# config settable parameters
$delay = 60;
$srcprefix = "./var\@@\$STATHOST/loopstats.";
$showoffs = 1;
$showfreq = 1;
$showcmpl = 0;
$showoreg = 0;
$showfreg = 0;
undef($timebase);
undef($freqbase);
undef($cmplscale);
undef($MaxY);
undef($MinY);
$deltaT  = 512; # indicate sample data gaps greater than $deltaT seconds
$verbose = 1;

while($_ = shift(@@ARGV))
{
    (/^[+-]help$/) && die($usage);
    
    (/^-c$/ || /^\+config$/) &&
	(@@ARGV || die($usage), $config = shift(@@ARGV), next);

    (/^-d$/ || /^\+directory$/) &&
	(@@ARGV || die($usage), $workdir = shift(@@ARGV), next);

    (/^-h$/ || /^\+host$/) &&
	(@@ARGV || die($usage), $STATHOST = shift, next);
    
    (/^-v(\d*)$/ || /^\+verbose=?(\d*)$/) &&
	($verbose=($1 eq "") ? 1 : $1, next);

    (/^-P(\S*)$/ || /^\+[Pp]rinter=?(\S*)$/) &&
	($PrintIt = $1, $verbose==1 && ($verbose = 0), next);

    (/^-s(\d*)$/ || /^\+samples=?(\d*)$/) &&
	(($samples = ($1 eq "") ? (shift || die($usage)): $1), next);
    
    (/^-S$/ || /^\+[Ss]tart[Tt]ime$/) &&
	(@@ARGV || die($usage), $StartTime=&date_time_spec2seconds(shift),next);

    (/^-E$/ || /^\+[Ee]nd[Tt]ime$/) &&
	(@@ARGV || die($usage), $EndTime = &date_time_spec2seconds(shift),next);
    
    (/^-Y$/ || /^\+[Mm]ax[Yy]$/) &&
	(@@ARGV || die($usage), $MaxY = shift, next);
    
    (/^-y$/ || /^\+[Mm]in[Yy]$/) &&
	(@@ARGV || die($usage), $MinY = shift, next);
    
    die("$0: unexpected argument \"$_\"\n$usage");
}

if (defined($workdir))
{
  chdir($workdir) ||
      die("$0: failed to change working dir to \"$workdir\": $!\n");
}

$PrintIt = "ps" if defined($PrintIt) && $PrintIt eq "";

if (!defined($PrintIt))
{
    defined($samples) &&
	print "WARNING: your samples value may be shadowed by config file settings\n";
    defined($StartTime) &&
	print "WARNING: your StartTime value may be shadowed by config file settings\n";
    defined($EndTime) &&
	print "WARNING: your EndTime value may be shadowed by config file settings\n";
    defined($MaxY) &&
	print "WARNING: your MaxY value may be shadowed by config file settings\n";
    defined($MinY) &&
	print "WARNING: your MinY value may be shadowed by config file settings\n";
	
    ;# check operating environment
    ;# 
    ;# gnuplot usually has X support
    ;# I vaguely remember there was one with sunview support
    ;#
    ;# If Your plotcmd can display graphics using some other method
    ;# (Tek window,..) fix the following test
    ;# (or may be, just disable it)
    ;#
    !(defined($ENV{'DISPLAY'}) || defined($ENV{'WINDOW_PARENT'})) &&
	die("Need window system to monitor statistics\n");
}

;# configuration file
$config = "loopwatch.config" unless defined($config);
($STATHOST = $config) =~ s!.*loopwatch\.config.([^/\.]*)$!$1!
    unless defined($STATHOST);
($STATTAG = $STATHOST) =~ s/^([^\.\*\s]+)\..*$/$1/;

$srcprefix =~ s/\$STATHOST/$STATHOST/g;

;# plot command 
@@plotcmd=("gnuplot",
	  '-title', "Ntp loop filter statistics $STATHOST",
	  '-name', "NtpLoopWatch_$STATTAG");
$tmpfile = "/tmp/ntpstat.$$";

;# other variables
$doplot = "";	# assembled command for @@plotcmd to display plot
undef($laststat);

;# plot value ranges
undef($mintime);
undef($maxtime);
undef($minoffs);
undef($maxoffs);
undef($minfreq);
undef($maxfreq);
undef($mincmpl);
undef($maxcmpl);
undef($miny);
undef($maxy);

;# stop operation if plot command dies
sub sigchld
{
  local($pid) = wait;
  unlink($tmpfile);
  warn(sprintf("%s: %s died: exit status: %d signal %d\n",
	      $0,
	       (defined($Plotpid) && $Plotpid == $pid)
	       ? "plotcmd" : "unknown child $pid",
	       $?>>8,$? & 0xff)) if $?;
  exit(1) if $? && defined($Plotpid) && $pid == $Plotpid;
}
&sigchld if 0;
$SIG{'CHLD'} = "sigchld";
$SIG{'CLD'} = "sigchld";

sub abort
{
  unlink($tmpfile);
  defined($Plotpid) && kill('TERM',$Plotpid);
  die("$0: received signal SIG$_[$[] - exiting\n");
}
&abort if 0;	# make -w happy - &abort IS used
$SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = $SIG{'PIPE'} = "abort";

;#
sub abs
{
  ($_[$[] < 0) ? -($_[$[]) : $_[$[];
}

sub boolval
{
  local($v) = ($_[$[]);

  return 1 if ($v eq 'yes') || ($v eq 'y');
  return 1 if ($v =~ /^[0-9]*$/) && ($v != 0);
  return 0;
}

;#####################
;# start of real work 

print "starting plot command (" . join(" ",@@plotcmd) . ")\n" if $verbose > 1;

$Plotpid = open(PLOT,"|-");
select((select(PLOT),$|=1)[$[]);	# make PLOT line bufferd

defined($Plotpid) ||
    die("$0: failed to start plot command: $!\n");

unless ($Plotpid)
{
   ;# child == plot command
   close(STDOUT);
   open(STDOUT,">&STDERR") ||
       die("$0: failed to redirect STDOUT of plot command: $!\n");
   
   print STDOUT "plot command running as $$\n";

   exec @@plotcmd;
   die("$0: failed to exec (@@plotcmd): $!\n");
   exit(1); # in case ...
}

sub read_config
{
  local($at) = (stat($config))[$[+9];
  local($_,$c,$v);

  (undef($laststat),(print("stat $config failed: $!\n")),return) if ! defined($at);
  return if (defined($laststat) && ($laststat == $at));
  $laststat = $at;

  print "reading configuration from \"$config\"\n" if $verbose;

  open(CF,"<$config") ||
      (warn("$0: failed to read \"$config\" - using old settings ($!)\n"),
       return);
  while(<CF>)
  {
    chop;
    s/^([^\#]*[^\#\s]?)\s*\#.*$//;
    next if /^\s*$/;

    s/^\s*([^=\s]*)\s*=\s*(.*\S)\s*$/$1=$2/;

    ($c,$v) = split(/=/,$_,2);
    print "processing \"$c=$v\"\n" if $verbose > 3;
    ($c eq "delay") && ($delay = $v,1) && next;
    ($c eq 'samples') && (!defined($PrintIt) || !defined($samples)) &&
	($samples = $v,1) && next;
    ($c eq 'srcprefix') && (($srcprefix=$v)=~s/\$STATHOST/$STATHOST/g,1)
	&& next;
    ($c eq 'showoffs') &&
	($showoffs = boolval($v),1) && next;
    ($c eq 'showfreq') &&
	($showfreq = boolval($v),1) && next;
    ($c eq 'showcmpl') &&
	($showcmpl = boolval($v),1) && next;
    ($c eq 'showoreg') &&
	($showoreg = boolval($v),1) && next;
    ($c eq 'showfreg') &&
	($showfreg = boolval($v),1) && next;

    ($c eq 'exit') && (unlink($tmpfile),die("$0: exit by config request\n"));

    ($c eq 'freqbase' ||
     $c eq 'cmplscale') &&
	do {
	    if (! defined($v) || $v eq "" || $v eq 'dynamic')
	    {
	      eval "undef(\$$c);";
	    }
	    else
	    {
	      eval "\$$c = \$v;";
	    }
	    next;
	};
    ($c eq 'timebase') &&
	do {
	    if (! defined($v) || $v eq "" || $v eq "dynamic")
	    {
	      undef($timebase);
	    }
	    else
	    {
	      $timebase=&date_time_spec2seconds($v);
	    }
	};
    ($c eq 'EndTime') &&
	do {
	    next if defined($EndTime) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($EndTime);
	    }
	    else
	    {
	      $EndTime=&date_time_spec2seconds($v);
	    }
	};
    ($c eq 'StartTime') &&
	do {
	    next if defined($StartTime) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($StartTime);
	    }
	    else
	    {
	      $StartTime=&date_time_spec2seconds($v);
	    }
	};

    ($c eq 'MaxY') &&
	do {
	    next if defined($MaxY) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($MaxY);
	    }
	    else
	    {
	      $MaxY=$v;
	    }
	};

    ($c eq 'MinY') &&
	do {
	    next if defined($MinY) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($MinY);
	    }
	    else
	    {
	      $MinY=$v;
	    }
	};

    ($c eq 'deltaT') &&
	do {
	    if (!defined($v) || $v eq "")
	    {
	      undef($deltaT);
	    }
	    else
	    {
	      $deltaT = $v;
	    }
	    next;
	};
    ($c eq 'verbose') && ! defined($PrintIt) &&
	do {
	     if (!defined($v) || $v == 0)
	     {
	       $verbose = 0;
	     }
	     else
	     {
	       $verbose = $v;
	     }
	     next;
	};
    ;# otherwise: silently ignore unrecognized config line
  }
  close(CF);
  ;# set show defaults when nothing selected
  $showoffs = $showfreq = $showcmpl = 1
      unless $showoffs || $showfreq || $showcmpl;
  if ($verbose > 3)
  {
    print  "new configuration:\n";
    print  "   delay\t= $delay\n";
    print  "   samples\t= $samples\n";
    print  "   srcprefix\t= $srcprefix\n";
    print  "   showoffs\t= $showoffs\n";
    print  "   showfreq\t= $showfreq\n";
    print  "   showcmpl\t= $showcmpl\n";
    print  "   showoreg\t= $showoreg\n";
    print  "   showfreg\t= $showfreg\n";
    printf "   timebase\t= %s",defined($timebase)?&ctime($timebase):"dynamic\n";
    printf "   freqbase\t= %s\n",defined($freqbase)  ?"$freqbase":"dynamic";
    printf "   cmplscale\t= %s\n",defined($cmplscale)?"$cmplscale":"dynamic";
    printf "   StartTime\t= %s",defined($StartTime)?&ctime($StartTime):"none\n";
    printf "   EndTime\t= %s",  defined($EndTime) ?  &ctime($EndTime):"none\n";
    printf "   MaxY\t= %s",defined($MaxY)? $MaxY      :"none\n";
    printf "   MinY\t= %s",defined($MinY)? $MinY      :"none\n";
    print  "   verbose\t= $verbose\n";
  }
print "configuration file read\n" if $verbose > 2;
}

sub make_doplot($$)
{
    my($lo, $lf) = @@_;
    local($c) = ("");
    local($fmt)
	= ("%s \"%s\" using 1:%d title '%s <%lf %lf> %6s' with lines");
    local($regfmt)
	= ("%s ((%lf * x) + %lf) title 'lin. approx. %s (%f t[h]) %s %f <%f> %6s' with lines");
    
    $doplot = "    set title 'NTP loopfilter statistics for $STATHOST  " .
	"(last $LastCnt samples from $srcprefix*)'\n";
    
    local($xts,$xte,$i,$t);
    
    local($s,$c) = ("");

    ;# number of integral seconds to get at least 12 tic marks on x axis
    $t = int(($maxtime - $mintime) / 12 + 0.5);
    $t = 1 unless $t;		# prevent $t to be zero
    foreach $i (30,
		60,5*60,15*60,30*60,
		60*60,2*60*60,6*60*60,12*60*60,
		24*60*60,48*60*60)
    {
	last if $t < $i;
	$t = $t - ($t % $i);
    }
    print "time label resolution: $t seconds\n" if $verbose > 1;
    
    ;# make gnuplot use wall clock time labels instead of NTP seconds
    for ($c="", $i = $mintime - ($mintime % $t);
	 $i <= $maxtime + $t;
	 $i += $t, $c=",")
    {
	$s .= $c;
	((int($i / $t) % 2) &&
	 ($s .= sprintf("'' %lf",($i - $LastTimeBase)/3600))) ||
	     (($t <= 60) &&
	      ($s .= sprintf("'%d:%02d:%02d' %lf",
			     (localtime($i))[$[+2,$[+1,$[+0],
			     ($i - $LastTimeBase)/3600))) 
		 || (($t <= 2*60*60) &&
		     ($s .= sprintf("'%d:%02d' %lf",
				    (localtime($i))[$[+2,$[+1],
				    ($i - $LastTimeBase)/3600)))
		     || (($t <= 12*60*60) &&
			 ($s .= sprintf("'%s %d:00' %lf",
					$Day[(localtime($i))[$[+6]],
					(localtime($i))[$[+2],
					($i - $LastTimeBase)/3600)))
			 || ($s .= sprintf("'%d.%d-%d:00' %lf",
					   (localtime($i))[$[+3,$[+4,$[+2],
					   ($i - $LastTimeBase)/3600));
    }
    $doplot .= "set xtics ($s)\n";
    
    chop($xts = &ctime($mintime));
    chop($xte = &ctime($maxtime));
    $doplot .= "set xlabel 'Start:  $xts    --   Time Scale   --    End:  $xte'\n";
    $doplot .= "set yrange [" ;
    $doplot .= defined($MinY) ? sprintf("%lf", $MinY) : $miny;
    $doplot .= ':';
    $doplot .= defined($MaxY) ? sprintf("%lf", $MaxY) : $maxy;
    $doplot .= "]\n";
    
    $doplot .= "   plot";
    $c = "";
    $showoffs &&
	($doplot .= sprintf($fmt,$c,$tmpfile,2,
			    "offset",
			    $minoffs,$maxoffs,
			    "[ms]"),
	 $c = ",");
    $LastCmplScale = 1 if ! defined($LastCmplScale);
    $showcmpl &&
	($doplot .= sprintf($fmt,$c,$tmpfile,4,
			    "compliance" .
			    (&abs($LastCmplScale) > 1
			     ? " / $LastCmplScale"
			     : (&abs($LastCmplScale) == 1 ? "" : " * ".(1/$LastCmplScale))),
			    $mincmpl/$LastCmplScale,$maxcmpl/$LastCmplScale,
			    ""),
	 $c = ",");
    $LastFreqBase = 0 if ! defined($LastFreqBase);
    $LastFreqBaseString = "?" if ! defined($LastFreqBaseString);
    $FreqScale = 1 if ! defined($FreqScale);
    $FreqScaleInv = 1 if ! defined($FreqScaleInv);
    $showfreq &&
	($doplot .= sprintf($fmt,$c,$tmpfile,3,
			    "frequency" .
			    ($LastFreqBase > 0
			     ? " - $LastFreqBaseString" 
			     : ($LastFreqBase == 0 ? "" : " + $LastFreqBaseString")),
			    $minfreq * $FreqScale - $LastFreqBase,
			    $maxfreq * $FreqScale - $LastFreqBase,
			    "[${FreqScaleInv}ppm]"),
	 $c = ",");
    $showoreg && $showoffs &&
	($doplot .= sprintf($regfmt, $c,
			    $lo->B(),$lo->A(),
			    "offset   ",
			    $lo->B(),
			    (($lo->A()) < 0 ? '-' : '+'),
			    &abs($lo->A()), $lo->r(),
			    "[ms]"),
	 $c = ",");
    $showfreg && $showfreq &&
	($doplot .= sprintf($regfmt, $c,
			    $lf->B() * $FreqScale,
			    ($lf->A() + $minfreq) * $FreqScale - $LastFreqBase,
			    "frequency",
			    $lf->B() * $FreqScale,
			    (($lf->A() + $minfreq) * $FreqScale - $LastFreqBase) < 0 ? '-' : '+',
			    &abs(($lf->A() + $minfreq) * $FreqScale - $LastFreqBase),
			    $lf->r(),
			    "[${FreqScaleInv}ppm]"),
	 $c = ",");
    $doplot .= "\n";
}

%F_key   = ();
%F_name  = ();
%F_size  = ();
%F_mtime = ();
%F_first = ();
%F_last  = ();

sub genfile
{
    local($cnt,$in,$out,$lo,$lf,@@fpos) = @@_;
    
    local(@@F,@@t,$t,$lastT) = ();
    local(@@break,@@time,@@offs,@@freq,@@cmpl,@@loffset,@@filekey) = ();
    local($lm,$l,@@f);
    
    local($sdir,$sname);
    
    ;# allocate some storage for the tables
    ;# otherwise realloc may get into troubles
    if (defined($StartTime) && defined($EndTime))
    {
	$l = ($EndTime-$StartTime) -$[+1 +1; # worst case: 1 sample per second
    }
    else
    {
	$l = $cnt + 10;
    }
    print "preextending arrays to $l entries\n" if $verbose > 2;
    $#break =   $l; for ($i=$[; $i<=$l;$i++) { $break[$i] = 0; }
    $#time =    $l; for ($i=$[; $i<=$l;$i++) { $time[$i] = 0; }
    $#offs =    $l; for ($i=$[; $i<=$l;$i++) { $offs[$i] = 0; }
    $#freq =    $l; for ($i=$[; $i<=$l;$i++) { $freq[$i] = 0; }
    $#cmpl =    $l; for ($i=$[; $i<=$l;$i++) { $cmpl[$i] = 0; }
    $#loffset = $l; for ($i=$[; $i<=$l;$i++) { $loffset[$i] = 0; }
    $#filekey = $l; for ($i=$[; $i<=$l;$i++) { $filekey[$i] = 0; }
    ;# now reduce size again
    $#break =   $[ - 1;
    $#time =    $[ - 1;
    $#offs =    $[ - 1;
    $#freq =    $[ - 1;
    $#cmpl =    $[ - 1;
    $#loffset = $[ - 1;
    $#filekey = $[ - 1;
    print "memory allocation ready\n" if $verbose > 2;
    sleep(3) if $verbose > 1;

    $fpos[$[] = '' if !defined($fpos[$[]);

    if (index($in,"/") < $[)
    {
	$sdir = ".";
	$sname = $in;
    }
    else
    {
	($sdir,$sname) = ($in =~ m!^(.*)/([^/]*)!);
	$sname = "" unless defined($sname);
    }
    
    $Ltime = -1 if ! defined($Ltime);
    if (!defined($Lsdir) || $Lsdir ne $sdir || $Ltime != (stat($sdir))[$[+9] ||
	grep($F_mtime{$_} != (stat($F_name{$_}))[$[+9], @@F_files))
	
    {
	print "rescanning directory \"$sdir\" for files \"$sname*\"\n"
	    if $verbose > 1;

	;# rescan directory on changes
	$Lsdir = $sdir;
	$Ltime = (stat($sdir))[$[+9];
	</X{> if 0;		# dummy line - calm down my formatter
	local(@@newfiles) = < ${in}*[0-9] >;
	local($st_dev,$st_ino,$st_mtime,$st_size,$name,$key,$modified);

	foreach $name (@@newfiles)
	{
	    ($st_dev,$st_ino,$st_size,$st_mtime) =
		(stat($name))[$[,$[+1,$[+7,$[+9];
	    $modified = 0;
	    $key = sprintf("%lx|%lu", $st_dev, $st_ino);
	    
	    print "candidate file \"$name\"",
                  (defined($st_dev) ? "" : " failed: $!"),"\n"
		      if $verbose > 2;
	    
	    if (! defined($F_key{$name}) || $F_key{$name} ne $key)
	    {
		$F_key{$name} = $key;
		$modified++;
	    }
	    if (!defined($F_name{$key}) || $F_name{$key} ne $name)
	    {
		$F_name{$key} = $name;
		$modified++;
	    }
	    if (!defined($F_size{$key}) || $F_size{$key} != $st_size)
	    {
		$F_size{$key} = $st_size;
		$modified++;
	    }
	    if (!defined($F_mtime{$key}) || $F_mtime{$key} != $st_mtime)
	    {
		$F_mtime{$key} = $st_mtime;
		$modified++;
	    }
	    if ($modified)
	    {
		print "new data \"$name\" key: $key;\n" if $verbose > 1;
	        print "             size: $st_size; mtime: $st_mtime;\n"
		    if $verbose > 1;
		$F_last{$key} = $F_first{$key} = $st_mtime;
		$F_first{$key}--; # prevent zero divide later on
		;# now compute derivated attributes
		open(IN, "<$name") ||
		    do {
			warn "$0: failed to open \"$name\": $!";
			next;
		    };

		while(<IN>)
		{
		    @@F = split;
		    next if @@F < 5;
		    next if $F[$[] eq "";
		    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
		    $t += $F[$[+1];
		    $F_first{$key} = $t;
		    print "\tfound first entry: $t ",&ctime($t)
			if $verbose > 4;
		    last;
		}
		seek(IN,
		     ($st_size > 4*$RecordSize) ? $st_size - 4*$RecordSize : 0,
		     0);
		while(<IN>)
		{
		    @@F = split;
		    next if @@F < 5;
		    next if $F[$[] eq "";
		    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
		    $t += $F[$[+1];
		    $F_last{$key} = $t;
		    $_ = <IN>;
		    print "\tfound last entry: $t ", &ctime($t)
			if $verbose > 4 && ! defined($_);
		    last unless defined($_);
		    redo;
		    ;# Ok, calm down...
		    ;# using $_ = <IN> in conjunction with redo
		    ;# is semantically equivalent to the while loop, but
		    ;# I needed a one line look ahead and this solution
		    ;# was what I thought of first
		    ;# and.. If you do not like it dont look
		}
		close(IN);
		print("             first: ",$F_first{$key},
		      " last: ",$F_last{$key},"\n") if $verbose > 1;
	    }
	}
	;# now reclaim memory used for files no longer referenced ...
	local(%Names);
	grep(Names{_} = 1,@@newfiles);
	foreach (keys %F_key)
	{
	    next if defined(Names{_});
	    delete $F_key{$_};
	    $verbose > 2 && print "no longer referenced: \"$_\"\n";
	}
	%Names = ();
	
	grep(Names{_} = 1,values(%F_key));
	foreach (keys %F_name)
	{
	    next if defined(Names{_});
	    delete $F_name{$_};
	    $verbose > 2 && print "unref name($_)= $F_name{$_}\n";
	}
	foreach (keys %F_size)
	{
	    next if defined(Names{_});
	    delete $F_size{$_};
	    $verbose > 2 && print "unref size($_)\n";
	}
	foreach (keys %F_mtime)
	{
	    next if defined(Names{_});
	    delete $F_mtime{$_};
	    $verbose > 2 && print "unref mtime($_)\n";
	}
	foreach (keys %F_first)
	{
	    next if defined(Names{_});
	    delete $F_first{$_};
	    $verbose > 2 && print "unref first($_)\n";
	}
	foreach (keys %F_last)
	{
	    next if defined(Names{_});
	    delete $F_last{$_};
	    $verbose > 2 && print "unref last($_)\n";
	}
	;# create list sorted by time
	@@F_files = sort {$F_first{$a} <=> $F_first{$b}; } keys(%F_name);
	if ($verbose > 1)
	{
	    print "Resulting file list:\n";
	    foreach (@@F_files)
	    {
		print "\t$_\t$F_name{$_}\n";
	    }
	}
    }
    
    printf("processing %s; output \"$out\" (%d input files)\n",
	   ((defined($StartTime) && defined($EndTime))
	    ? "time range"
	    : (defined($StartTime) ? "$cnt samples from StartTime" :
	      (defined($EndTime) ? "$cnt samples to EndTime" :
		 "last $cnt samples"))),
	    scalar(@@F_files))
	if $verbose > 1;
    
    ;# open output file - will be input for plotcmd
    open(OUT,">$out") || 
	do {
	    warn("$0: cannot create \"$out\": $!\n");
	};
    
    @@f = @@F_files;
    if (defined($StartTime))
    {
	while (@@f && ($F_last{$f[$[]} < $StartTime))
	{
	    print("shifting ", $F_name{$f[$[]},
		  " last: ", $F_last{$f[$[]},
		  " < StartTime: $StartTime\n")
		if $verbose > 3;
	    shift(@@f);
	}


    }
    if (defined($EndTime))
    {
	while (@@f && ($F_first{$f[$#f]} > $EndTime))
	{
	    print("popping  ", $F_name{$f[$#f]},
		  " first: ", $F_first{$f[$#f]},
		  " > EndTime: $EndTime\n")
		if $verbose > 3;
	    pop(@@f);
	}
    }
    
    if (@@f)
    {
	if (defined($StartTime))
	{
	    print "guess start according to StartTime ($StartTime)\n"
		if $verbose > 3;

	    if ($fpos[$[] eq 'start')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('start', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('start' , $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		if ($StartTime <= $F_first{$f[$[]})
		{
		    $fpos[$[+2] = 0;
		}
		else
		{
		    $fpos[$[+2] =
			int($F_size{$f[$[]} *
			    (($StartTime - $F_first{$f[$[]})/
			     ($F_last{$f[$[]} - $F_first{$f[$[]})));
		    $fpos[$[+2] = ($fpos[$[+2] <= 2 * $RecordSize)
			? 0 : $fpos[$[+2] - 2 * $RecordSize;
		    ;# anyway  as the data may contain "time holes" 
		    ;# our heuristics may baldly fail
		    ;# so just start at 0
		    $fpos[$[+2] = 0;
		}
	    }
	}
	elsif (defined($EndTime))
	{
	    print "guess starting point according to EndTime ($EndTime)\n"
		if $verbose > 3;
	    
	    if ($fpos[$[] eq 'end')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('end', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('end', $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		local(@@x) = reverse(@@f);
		local($s,$c) = (0,$cnt);
		if ($EndTime < $F_last{$x[$[]})
		{
		    ;# last file will only be used partially
		    $s = int($F_size{$x[$[]} *
			     (($EndTime - $F_first{$x[$[]}) /
			      ($F_last{$x[$[]} - $F_first{$x[$[]})));
		    $s = int($s/$RecordSize);
		    $c -= $s - 1;
		    if ($c <= 0)
		    {
			;# start is in the same file
			$fpos[$[+1] = $x[$[];
			$fpos[$[+2] = ($c >=-2) ? 0 : (-$c - 2) * $RecordSize;
			shift(@@f) while @@f && ($f[$[] ne $x[$[]);
		    }
		    else
		    {
			shift(@@x);
		    }
		}
		
		if (!defined($fpos[$[+2]))
		{
		    local($_);
		    while($_ = shift(@@x))
		    {
			$s = int($F_size{$_}/$RecordSize);
			$c -= $s - 1;
			if ($c <= 0)
			{
			    $fpos[$[+1] = $_;
			    $fpos[$[+2] = ($c>-2) ? 0 : (-$c - 2) * $RecordSize;
			    shift(@@f) while @@f && ($f[$[] ne $_);
			    last;
			}
		    }
		}
	    }
	}
	else
	{
	    print "guessing starting point according to count ($cnt)\n"
		if $verbose > 3;
	    ;# guess offset to get last available $cnt samples
	    if ($fpos[$[] eq 'cnt')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    print "old positioning applies\n" if $verbose > 3;
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('cnt', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('cnt', $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		local(@@x) = reverse(@@f);
		local($s,$c) = (0,$cnt);
		
		local($_);
		while($_ = shift(@@x))
		{
		    print "examing \"$_\" $c samples still needed\n"
			if $verbose > 4;
		    $s = int($F_size{$_}/$RecordSize);
		    $c -= $s - 1;
		    if ($c <= 0)
		    {
			$fpos[$[+1] = $_;
			$fpos[$[+2] = ($c>-2) ? 0 : (-$c - 2) * $RecordSize;
			shift(@@f) while @@f && ($f[$[] ne $_);
			last;
		    }
		}
		if (!defined($fpos[$[+2]))
		{
		    print "no starting point yet - using start of data\n"
			if $verbose > 2;
		    $fpos[$[+2] = 0;
		}
	    }
	}
    }
    print "Ooops, no suitable input file ??\n"
	if $verbose > 1 && @@f <= 0;

    printf("Starting at (%s) \"%s\" offset %ld using %d files\n",
	   $fpos[$[+1],
	   $F_name{$fpos[$[+1]},
	   $fpos[$[+2],
	   scalar(@@f))
	if $verbose > 2;

    $lm = 1;
    $l = 0;    
    foreach $key (@@f)
    {
	$file = $F_name{$key};
	print "processing file \"$file\"\n" if $verbose > 2;
	
	open(IN,"<$file") ||
	    (warn("$0: cannot read \"$file\": $!\n"), next);
	
	;# try to seek to a position nearer to the start of the interesting lines
	;# should always affect only first item in @@f
	($key eq $fpos[$[+1]) &&
	    (($verbose > 1) &&
	     print("Seeking to offset $fpos[$[+2]\n"),
		seek(IN,$fpos[$[+2],0) ||
		    warn("$0: seek(\"$F_name{$key}\" failed: $|\n"));
	
	while(<IN>)
	{
	    $l++;
	    ($verbose > 3) &&
		(($l % $lm) == 0 && print("\t$l lines read\n") &&
		 (($l ==     2) && ($lm =    10) ||
		  ($l ==   100) && ($lm =   100) ||
		  ($l ==   500) && ($lm =   500) ||
		  ($l ==  1000) && ($lm =  1000) ||
		  ($l ==  5000) && ($lm =  5000) ||
		  ($l == 10000) && ($lm = 10000)));
	    
	    @@F = split;
	    
	    next if @@F < 6;	# no valid input line is this short
	    next if $F[$[] eq "";
	    next if ($F[$[] !~ /^\d+$/);
	    ($F[$[] !~ /^\d+$/) && # A 'never should have happend' error
		die("$0: unexpected input line: >$_<\n");
	    
	    ;# modified Julian to UNIX epoch
	    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
	    $t += $F[$[+1];	# add seconds + fraction
	    
	    ;# multiply offset by 1000 to get ms - try to avoid float op
	    (($F[$[+2] =~ s/(\d*)\.(\d{3})(\d*)/$1$2.$3/) &&
	     $F[$[+2] =~ s/0+([\d\.])/($1 eq '.') ? '0.' : $1/e) # strip leading zeros
		|| ($F[$[+2] *= 1000);

	    
	    ;# skip samples out of specified time range
	    next if (defined($StartTime) && $StartTime > $t);
	    next if (defined($EndTime) && $EndTime < $t);
	    
	    next if defined($lastT) && $t < $lastT; # backward in time ??
	    
	    push(@@offs,$F[$[+2]);
	    push(@@freq,$F[$[+3] * (2**20/10**6));
	    push(@@cmpl,$F[$[+5]);
	    
	    push(@@break, (defined($lastT) && ($t - $lastT > $deltaT))); 
	    $lastT = $t;
	    push(@@time,$t);
	    push(@@loffset, tell(IN) - length($_));
	    push(@@filekey, $key);
	    
	    shift(@@break),shift(@@time),shift(@@offs),
	    shift(@@freq), shift(@@cmpl),shift(@@loffset),
	    shift(@@filekey)
		if @@time > $cnt &&
		    ! (defined($StartTime) && defined($EndTime));

	    last if @@time >= $cnt && defined($StartTime) && !defined($EndTime);
	}
	close(IN);
	last if @@time >= $cnt && defined($StartTime) && !defined($EndTime);
    }
    print "input scanned ($l lines/",scalar(@@time)," samples)\n"
	if $verbose > 1;
    
    if (@@time)
    {
	local($_,@@F);
	
	local($timebase) unless defined($timebase);
	local($freqbase) unless defined($freqbase);
	local($cmplscale) unless defined($cmplscale);
	
	undef $mintime;
	undef $maxtime;
	undef $minoffs;
	undef $maxoffs;
	undef $minfreq;
	undef $maxfreq;
	undef $mincmpl;
	undef $maxcmpl;
	undef $miny;
	undef $maxy ;
	
	print "computing ranges\n" if $verbose > 2;
	
	$LastCnt = @@time;

	;# @@time is in ascending order (;-)
	$mintime = $time[$[];
	$maxtime = $time[$#time];
	unless (defined($timebase))
	{
	    local($time,@@X) = (time);
	    @@X = localtime($time);
	    
	    ;# compute today 00:00:00
	    $timebase = $time - ((($X[$[+2]*60)+$X[$[+1])*60+$X[$[]);

	}
	$LastTimeBase = $timebase;

	if ($showoffs)
	{
	    local($i,$m,$f);
	    
	    $minoffs = &min(@@offs);
	    $maxoffs = &max(@@offs);
	    
	    ;# I know, it is not perl style using indices to access arrays,
	    ;# but I have to proccess two arrays in sync, non-destructively
	    ;# (otherwise a (shift(@@a1),shift(a2)) would do),
	    ;# I dont like to make copies of these arrays as they may be huge
	    $i = $[;
	    $lo->sample(($time[$i]-$timebase)/3600,$offs[$i]),$i++
		while $i <= $#time;

	    ($minoffs == $maxoffs) && ($minoffs -= 0.1,$maxoffs += 0.1);

	    $i = $lo->sigma();
	    $m = $lo->mean();

	    print "mean offset: $m sigma: $i\n" if $verbose > 2;

	    if (($maxoffs - $minoffs) > $MinClip)
	    {
		$f = (&abs($minoffs) < &abs($maxoffs)) ? $FuzzLow : $FuzzBig;
		$miny = (($m - $minoffs) <= ($f * $i))
		    ? $minoffs : ($m - $f * $i);
		$f = ($f == $FuzzLow) ? $FuzzBig : $FuzzLow;
		$maxy = (($maxoffs - $m) <= ($f * $i))
		    ? $maxoffs : ($m + $f * $i);
	    }
	    else
	    {
		$miny = $minoffs;
		$maxy = $maxoffs;
	    }
	    ($maxy-$miny) == 0 &&
		(($maxy,$miny)
		 = (($maxoffs - $minoffs) > 0)
		 ? ($maxoffs,$minoffs) : ($MinClip,-$MinClip));

	    $maxy = $MaxY if defined($MaxY) && $MaxY < $maxy;
	    $miny = $MinY if defined($MinY) && $MinY > $miny;

	    print  "offset min clipped from $minoffs to $miny\n"
		if $verbose > 2 && $minoffs != $miny;
	    print  "offset max clipped from $maxoffs to $maxy\n"
		if $verbose > 2 && $maxoffs != $maxy;
	}
	
	if ($showfreq)
	{
	    local($i,$m);
	    
	    $minfreq = &min(@@freq);
	    $maxfreq = &max(@@freq);
	    
	    $i = $[;
	    $lf->sample(($time[$i]-$timebase)/3600,$freq[$i]-$minfreq),
	    $i++
		while $i <= $#time;
	    
	    $i = $lf->sigma();
	    $m = $lf->mean() + $minfreq;

	    print "mean frequency: $m sigma: $i\n" if $verbose > 2;

	    if (defined($maxy))
	    {
		local($s) =
		    ($maxfreq - $minfreq)
			? ($maxy - $miny) / ($maxfreq - $minfreq) : 1;

		if (defined($freqbase))
		{
		    $FreqScale = 1;
		    $FreqScaleInv = "";
		}
		else
		{
		    $FreqScale = 1;
		    $FreqScale = 10 ** int(log($s)/log(10) - 0.9999);
		    $FreqScaleInv =
			("$FreqScale" =~ /^10(0*)$/) ? "0.${1}1" : 
			 ($FreqScale == 1 ? "" : (1/$FreqScale));
		    
		    $freqbase = ($maxfreq + $minfreq)/ 2 * $FreqScale; #$m * $FreqScale;
		    $freqbase -= ($maxy + $miny) / 2; #$lf->mean();

		    ;# round resulting freqbase
		    ;# to precision of min max difference
		    $s = -12;
		    $s = int(log(($maxfreq-$minfreq)*$FreqScale)/log(10))-1
			unless ($maxfreq-$minfreq) < 1e-12;
		    $s = 10 ** $s;
		    $freqbase = int($freqbase / $s) * $s;
		}
	    }
	    else
	    {
		$FreqScale = 1;
		$FreqScaleInv = "";
		$freqbase = $m unless defined($freqbase);
		if (($maxfreq - $minfreq) > $MinClip)
		{
		    $f = (&abs($minfreq) < &abs($maxfreq))
			? $FuzzLow : $FuzzBig;
		    $miny = (($freqbase - $minfreq) <= ($f * $i))
			? ($minfreq-$freqbase) : (- $f * $i);
		    $f = ($f == $FuzzLow) ? $FuzzBig : $FuzzLow;
		    $maxy = (($maxfreq - $freqbase) <= ($f * $i))
			? ($maxfreq-$freqbase) : ($f * $i);
		}
		else
		{
		    $miny = $minfreq - $freqbase;
		    $maxy = $maxfreq - $freqbase;
		}
		($maxy - $miny) == 0 &&
		    (($maxy,$miny) =
		     (($maxfreq - $minfreq) > 0)
		     ? ($maxfreq-$freqbase,$minfreq-$freqbase) : (0.5,-0.5));
		
		$maxy = $MaxY if defined($MaxY) && $MaxY < $maxy;
		$miny = $MinY if defined($MinY) && $MinY > $miny;

		print("frequency min clipped from ",$minfreq-$freqbase,
		      " to $miny\n")
		    if $verbose > 2 && $miny != ($minfreq - $freqbase);
		print("frequency max clipped from ",$maxfreq-$freqbase,
		      " to $maxy\n")
		    if $verbose > 2 && $maxy != ($maxfreq - $freqbase);
	    }
	    $LastFreqBaseString =
		sprintf("%g",$freqbase >= 0 ? $freqbase : -$freqbase);
	    $LastFreqBase = $freqbase;
	    print "LastFreqBaseString now \"$LastFreqBaseString\"\n"
		if $verbose > 5;
	}
	else
	{
	    $FreqScale = 1;
	    $FreqScaleInv = "";
	    $LastFreqBase = 0;
	    $LastFreqBaseString = "";
	}
		
	if ($showcmpl)
	{
	    $mincmpl = &min(@@cmpl);
	    $maxcmpl = &max(@@cmpl);

	    if (!defined($cmplscale))
	    {
		if (defined($maxy))
		{
		    local($cmp)
			= (&abs($miny) > &abs($maxy)) ? &abs($miny) : $maxy;
		    $cmplscale = $cmp == $maxy ? 1 : -1;

		    foreach (0.01, 0.02, 0.05,
			     0.1, 0.2, 0.25, 0.4, 0.5,
			     1, 2, 4, 5,
			     10, 20, 25, 50,
			     100, 200, 250, 500, 1000)
		    {
			$cmplscale *= $_, last if $maxcmpl/$_ <= $cmp;
		    }
		}
		else
		{
		    $cmplscale = 1;
		    $miny = $mincmpl ? 0 : -$MinClip;
		    $maxy = $maxcmpl+$MinClip;
		}
	    }
	    $LastCmplScale = $cmplscale;
	}
	else
	{
	    $LastCmplScale = 1;
	}
	
	print "creating plot command input file\n" if $verbose > 2;
	
	
	print OUT ("# preprocessed NTP statistics file for $STATHOST\n");
	print OUT ("#    timebase is: ",&ctime($LastTimeBase))
	    if defined($LastTimeBase);
	print OUT ("#    frequency is offset by  ",
		   ($LastFreqBase >= 0 ? "+" : "-"),
		   "$LastFreqBaseString [${FreqScaleInv}ppm]\n");
	print OUT ("#    compliance is scaled by $LastCmplScale\n");
	print OUT ("# time [h]\toffset [ms]\tfrequency [${FreqScaleInv}ppm]\tcompliance\n");
	
	printf OUT ("%s%lf\t%lf\t%lf\t%lf\n",
		    (shift(@@break) ? "\n" : ""),
		    (shift(@@time) - $LastTimeBase)/3600,
		    shift(@@offs),
		    shift(@@freq) * $FreqScale - $LastFreqBase,
		    shift(@@cmpl) / $LastCmplScale)
	    while(@@time);
    }
    else
    {
	;# prevent plotcmd from processing empty file
	print "Creating plot command dummy...\n" if $verbose > 2;
	print OUT "# dummy samples\n0 1 2 3\n1 1 2 3\n";
	$lo->sample(0,1);
	$lo->sample(1,1);
	$lf->sample(0,2);
	$lf->sample(1,2);
	@@time = (0, 1); $maxtime = 1; $mintime = 0;
	@@offs = (1, 1); $maxoffs = 1; $minoffs = 1;
	@@freq = (2, 2); $maxfreq = 2; $minfreq = 2;
	@@cmpl = (3, 3); $maxcmpl = 3; $mincmpl = 3;
	$LastCnt = 2;
	$LastFreqBase = 0;
	$LastCmplScale = 1;
	$LastTimeBase = 0;
	$miny = -$MinClip;
	$maxy = 3 + $MinClip;
    }
    close(OUT);
    
    print "plot command input file created\n"
	if $verbose > 2;
	
	
    if (($fpos[$[] eq 'cnt' && scalar(@@loffset) >= $cnt) ||
	($fpos[$[] eq 'start' && $mintime <= $StartTime) ||
	($fpos[$[] eq 'end'))
    {
	return ($fpos[$[],$filekey[$[],$loffset[$[]);
    }
    else			# found to few lines - next time start search earlier in file
    {
	if ($fpos[$[] eq 'start')
	{
	    ;# the timestamps we got for F_first and F_last guaranteed
	    ;# that no file is left out
	    ;# the only thing that could happen is:
	    ;# we guessed the starting point wrong
	    ;# compute a new guess from the first record found
	    ;# if this equals our last guess use data of first record
	    ;# otherwise try new guess
	    
	    if ($fpos[$[+1] eq $filekey[$[] && $loffset[$[] > $fpos[$[+2])
	    {
		local($noff);
		$noff = $loffset[$[] - ($cnt - @@loffset + 1) * $RecordSize;
		$noff = 0 if $noff < 0;
		
		return (@@fpos[$[,$[+1], ($noff == $fpos[$[+2]) ? $loffset[$[] : $noff);
	    }
	    return ($fpos[$[],$filekey[$[],$loffset[$[]);
	}
	elsif ($fpos[$[] eq 'end' || $fpos[$[] eq 'cnt')
	{
	    ;# try to start earlier in file
	    ;# if we already started at the beginning
	    ;# try to use previous file
	    ;# this assumes distance to better starting point is at most one file
	    ;# the primary guess at top of genfile() should usually allow this
	    ;# assumption
	    ;# if the offset of the first sample used is within 
	    ;# a different file than we guessed it must have occurred later
	    ;# in the sequence of files
	    ;# this only can happen if our starting file did not contain
	    ;# a valid sample from the starting point we guessed
	    ;# however this does not invalidate our assumption, no check needed
	    local($noff,$key);
	    if ($fpos[$[+2] > 0)
	    {
		$noff = $fpos[$[+2] - $RecordSize * ($cnt - @@loffset + 1);
		$noff = 0 if $noff < 0;
		return (@@fpos[$[,$[+1],$noff);
	    }
	    else
	    {
		if ($fpos[$[+1] eq $F_files[$[])
		{
		    ;# first file - and not enough samples
		    ;# use data of first sample
		    return ($fpos[$[], $filekey[$[], $loffset[$[]);
		}
		else
		{
		    ;# search key of previous file
		    $key = $F_files[$[];
		    @@F = reverse(@@F_files);
		    while ($_ = shift(@@F))
		    {
			if ($_ eq $fpos[$[+1])
			{
			    $key = shift(@@F) if @@F;
			    last;
			}
		    }
		    $noff = int($F_size{$key} / $RecordSize);
		    $noff -= $cnt - @@loffset;
		    $noff = 0 if $noff < 0;
		    $noff *= $RecordSize;
		    return ($fpos[$[], $key, $noff);
		}
	    }
	}
	else
	{
	    return ();
	}
	
	return 0 if @@loffset <= 1 || ($loffset[$#loffset] - $loffset[$[]) <= 1;
	
	;# EOF - 1.1 * avg(line) * $cnt
	local($val) =  $loffset[$#loffset]
	    - $cnt * 11 * (($loffset[$#loffset] - $loffset[$[]) / @@loffset) / 10;
	return ($val < 0) ? 0 : $val;
    }
}

$Ltime = -1 if ! defined($Ltime);
$LastFreqBase = 0;
$LastFreqBaseString = "??";

;# initial setup of plot
print "initialize plotting\n" if $verbose;
if (defined($PrintIt))
{
  if ($PrintIt =~ m,/,)
  {
    print "Saving plot to file $PrintIt\n";
    print PLOT "set output '$PrintIt'\n";
  }
  else
  {
    print "Printing plot on printer $PrintIt\n";
    print PLOT "set output '| lpr -P$PrintIt -h'\n";
  }
  print PLOT "set terminal postscript landscape color solid 'Helvetica' 10\n";
}
print PLOT "set grid\n";
print PLOT "set tics out\n";
print PLOT "set format y '%g '\n";
printf PLOT "set time 47\n" unless defined($PrintIt);

@@filepos =();
while(1)
{
  print &ctime(time) if $verbose;

  ;# update diplay characteristics
  &read_config;# unless defined($PrintIt);

  unlink($tmpfile);
  my $lo = lr->new();
  my $lf = lr->new();
    
  @@filepos = &genfile($samples,$srcprefix,$tmpfile,$lo,$lf,@@filepos);

  ;# make plotcmd display samples
  make_doplot($lo, $lf);
  print "Displaying plot...\n" if $verbose > 1;
  print "command for plot sub process:\n$doplot----\n" if $verbose > 3;
  print PLOT $doplot;
}
continue
{
  if (defined($PrintIt))
  {
    delete $SIG{'CHLD'};
    print PLOT "quit\n";
    close(PLOT);
    if ($PrintIt =~ m,/,)
    {
      print "Plot saved to file $PrintIt\n";
    }
    else
    {
      print "Plot spooled to printer $PrintIt\n";
    }
    unlink($tmpfile);
    exit(0);
  }
  ;# wait $delay seconds
  print "waiting $delay seconds ..." if $verbose > 2;
  sleep($delay);
  print " continuing\n" if $verbose > 2;
  undef($LastFreqBaseString);
}


sub date_time_spec2seconds
{
    local($_) = @@_;
    ;# a date_time_spec consistes of:
    ;#  YYYY-MM-DD_HH:MM:SS.ms
    ;# values can be omitted from the beginning and default than to
    ;# values of current date
    ;# values omitted from the end default to lowest possible values

    local($time) = time;
    local($sec,$min,$hour,$mday,$mon,$year)
	= localtime($time);

    local($last) = ();

    s/^\D*(.*\d)\D*/$1/;	# strip off garbage

  PARSE:
    {
	if (s/^(\d{4})(-|$)//)
	{
	    if ($1 < 1970)
	    {
		warn("$0: can not handle years before 1970 - year $1 ignored\n");
		return undef;
	    }
	    elsif ( $1 >= 2070)
	    {
		warn("$0: can not handle years past 2070 - year $1 ignored\n");
		return undef;
	    }
	    else
	    {
		$year = $1 % 100; # 0<= $year < 100
				 ;# - interpreted 70 .. 99,00 .. 69
	    }
	    $last = $[ + 5;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec: \"$_\" found after YEAR\n"),
	    return(undef)
		if $2 eq '';
	}

	if (s/^(\d{1,2})(-|$)//)
	{
	    warn("$0: implausible month $1\n"),return(undef)
		if $1 < 1 || $1 > 12;
	    $mon = $1 - 1;
	    $last = $[ + 4;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec: \"$_\" found after MONTH\n"),
	    return(undef)
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"),return(undef)
		if defined($last);
	    
	}

	if (s/^(\d{1,2})([_ ]|$)//)
	{
	    warn("$0: implausible month day $1 for month ".($mon+1)." (".
		 $MaxNumDaysPerMonth[$mon].")$mon\n"),
	    return(undef)
		if $1 < 1 || $1 > $MaxNumDaysPerMonth[$mon];
	    $mday = $1;
	    $last = $[ + 3;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec \"$_\" found after MDAY\n"),
	    return(undef)
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	;# now we face a problem:
 	;# if ! defined($last) a prefix of "07:"
	;# can be either 07:MM or 07:ss
	;# to get the second interpretation make the user add
 	;# a msec fraction part and check for this special case
	if (! defined($last) && s/^(\d{1,2}):(\d{1,2}\.\d+)//)
	{
	    warn("$0: implausible minute $1\n"), return undef
		if $1 < 0 || $1 >= 60;
	    warn("$0: implausible second $1\n"), return undef
		if $2 < 0 || $2 >= 60;
	    $min = $1;
	    $sec = $2;
	    $last = $[ + 1;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec \"$_\" after SECONDS\n");
	    return undef;
	}
	
	if (s/^(\d{1,2})(:|$)//)
	{
	    warn("$0: implausible hour $1\n"), return undef
		if $1 < 0 || $1 > 24;
	    $hour = $1;
	    $last = $[ + 2;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after HOUR\n"),
	    return undef
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	if (s/^(\d{1,2})(:|$)//)
	{
	    warn("$0: implausible minute $1\n"), return undef
		if $1 < 0 || $1 >=60;
	    $min = $1;
	    $last = $[ + 1;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after MINUTE\n"),
	    return undef
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	if (s/^(\d{1,2}(\.\d+)?)//)
	{
	    warn("$0: implausible second $1\n"), return undef
		if $1 < 0 || $1 >=60;
	    $sec = $1;
	    $last = $[;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after SECOND\n");
	    return undef;
	}
    }

    return $time unless defined($last);

    $sec  = 0 if $last > $[;
    $min  = 0 if $last > $[ + 1;
    $hour = 0 if $last > $[ + 2;
    $mday = 1 if $last > $[ + 3;
    $mon  = 0 if $last > $[ + 4;
    local($rtime) = &timelocal($sec,$min,$hour,$mday,$mon,$year, 0,0, 0);

    ;# $rtime may be off if daylight savings time is in effect at given date
    return $rtime + ($sec - int($sec))
	if $hour == (localtime($rtime))[$[+2];
    return
	&timelocal($sec,$min,$hour,$mday,$mon,$year, 0,0, 1)
	    + ($sec - int($sec));
}


sub min
{
  local($m) = shift;

  grep((($m > $_) && ($m = $_),0),@@_);
  $m;
}

sub max
{
  local($m) = shift;

  grep((($m < $_) && ($m = $_),0),@@_);
  $m;
}
@


1.1.1.2.6.1
log
@file ntploopwatch was added on branch netbsd-5 on 2015-01-07 04:45:33 +0000
@
text
@d1 1667
@


1.1.1.2.6.2
log
@Pullup the following revision (requested by he in ticket #1938):

distrib/sets/lists/man/mi					patch
distrib/sets/lists/misc/mi					patch
external/bsd/Makefile						patch
external/bsd/ntp/Makefile					new
external/bsd/ntp/Makefile.inc					new
external/bsd/ntp/importdate					new
external/bsd/ntp/ntp2netbsd					new
external/bsd/ntp/bin/Makefile					new
external/bsd/ntp/bin/Makefile.inc				new
external/bsd/ntp/bin/ntp-keygen/Makefile			new
external/bsd/ntp/bin/ntp-keygen/ntp-keygen.8			new
external/bsd/ntp/bin/ntpd/Makefile				new
external/bsd/ntp/bin/ntpd/ntp.conf.5				new
external/bsd/ntp/bin/ntpd/ntp.keys.5				new
external/bsd/ntp/bin/ntpd/ntpd.8				new
external/bsd/ntp/bin/ntpdate/Makefile				new
external/bsd/ntp/bin/ntpdate/ntpdate.8				new
external/bsd/ntp/bin/ntpdc/Makefile				new
external/bsd/ntp/bin/ntpdc/ntpdc.8				new
external/bsd/ntp/bin/ntpq/Makefile				new
external/bsd/ntp/bin/ntpq/ntpq.8				new
external/bsd/ntp/bin/ntptime/Makefile				new
external/bsd/ntp/bin/ntptime/ntptime.8				new
external/bsd/ntp/bin/ntptrace/Makefile				new
external/bsd/ntp/bin/ntptrace/ntptrace.8			new
external/bsd/ntp/bin/ntptrace/ntptrace.awk			new
external/bsd/ntp/bin/sntp/Makefile				new
external/bsd/ntp/bin/sntp/sntp.1				new
external/bsd/ntp/dist/COPYRIGHT					new
external/bsd/ntp/dist/ChangeLog					new
external/bsd/ntp/dist/CommitLog					new
external/bsd/ntp/dist/CommitLog-4.1.0				new
external/bsd/ntp/dist/INSTALL					new
external/bsd/ntp/dist/Makefile.am				new
external/bsd/ntp/dist/Makefile.in				new
external/bsd/ntp/dist/NEWS					new
external/bsd/ntp/dist/NOTES.y2kfixes				new
external/bsd/ntp/dist/README					new
external/bsd/ntp/dist/README.bk					new
external/bsd/ntp/dist/README.hackers				new
external/bsd/ntp/dist/README.patches				new
external/bsd/ntp/dist/README.refclocks				new
external/bsd/ntp/dist/README.versions				new
external/bsd/ntp/dist/TODO					new
external/bsd/ntp/dist/WHERE-TO-START				new
external/bsd/ntp/dist/aclocal.m4				new
external/bsd/ntp/dist/bincheck.mf				new
external/bsd/ntp/dist/bootstrap					new
external/bsd/ntp/dist/build					new
external/bsd/ntp/dist/check-libopts.mf				new
external/bsd/ntp/dist/config.h.in				new
external/bsd/ntp/dist/configure					new
external/bsd/ntp/dist/configure.ac				new
external/bsd/ntp/dist/deps-ver					new
external/bsd/ntp/dist/depsver.mf				new
external/bsd/ntp/dist/dot.emacs					new
external/bsd/ntp/dist/flock-build				new
external/bsd/ntp/dist/includes.mf				new
external/bsd/ntp/dist/install-sh				new
external/bsd/ntp/dist/packageinfo.sh				new
external/bsd/ntp/dist/readme.y2kfixes				new
external/bsd/ntp/dist/results.y2kfixes				new
external/bsd/ntp/dist/adjtimed/Makefile.am			new
external/bsd/ntp/dist/adjtimed/Makefile.in			new
external/bsd/ntp/dist/adjtimed/README				new
external/bsd/ntp/dist/adjtimed/adjtimed.c			new
external/bsd/ntp/dist/clockstuff/Makefile.am			new
external/bsd/ntp/dist/clockstuff/Makefile.in			new
external/bsd/ntp/dist/clockstuff/README				new
external/bsd/ntp/dist/clockstuff/chutest.c			new
external/bsd/ntp/dist/clockstuff/propdelay.c			new
external/bsd/ntp/dist/conf/README				new
external/bsd/ntp/dist/conf/baldwin.conf				new
external/bsd/ntp/dist/conf/beauregard.conf			new
external/bsd/ntp/dist/conf/grundoon.conf			new
external/bsd/ntp/dist/conf/malarky.conf				new
external/bsd/ntp/dist/conf/pogo.conf				new
external/bsd/ntp/dist/conf/rackety.conf				new
external/bsd/ntp/dist/html/access.html				new
external/bsd/ntp/dist/html/accopt.html				new
external/bsd/ntp/dist/html/assoc.html				new
external/bsd/ntp/dist/html/audio.html				new
external/bsd/ntp/dist/html/authentic.html			new
external/bsd/ntp/dist/html/authopt.html				new
external/bsd/ntp/dist/html/autokey.html				new
external/bsd/ntp/dist/html/bugs.html				new
external/bsd/ntp/dist/html/build.html				new
external/bsd/ntp/dist/html/clock.html				new
external/bsd/ntp/dist/html/clockopt.html			new
external/bsd/ntp/dist/html/cluster.html				new
external/bsd/ntp/dist/html/comdex.html				new
external/bsd/ntp/dist/html/config.html				new
external/bsd/ntp/dist/html/confopt.html				new
external/bsd/ntp/dist/html/copyright.html			new
external/bsd/ntp/dist/html/debug.html				new
external/bsd/ntp/dist/html/decode.html				new
external/bsd/ntp/dist/html/discipline.html			new
external/bsd/ntp/dist/html/discover.html			new
external/bsd/ntp/dist/html/extern.html				new
external/bsd/ntp/dist/html/filter.html				new
external/bsd/ntp/dist/html/hints.html				new
external/bsd/ntp/dist/html/history.html				new
external/bsd/ntp/dist/html/howto.html				new
external/bsd/ntp/dist/html/huffpuff.html			new
external/bsd/ntp/dist/html/index.html				new
external/bsd/ntp/dist/html/kern.html				new
external/bsd/ntp/dist/html/kernpps.html				new
external/bsd/ntp/dist/html/keygen.html				new
external/bsd/ntp/dist/html/leap.html				new
external/bsd/ntp/dist/html/miscopt.html				new
external/bsd/ntp/dist/html/monopt.html				new
external/bsd/ntp/dist/html/msyslog.html				new
external/bsd/ntp/dist/html/ntp-wait.html			new
external/bsd/ntp/dist/html/ntp_conf.html			new
external/bsd/ntp/dist/html/ntpd.html				new
external/bsd/ntp/dist/html/ntpdate.html				new
external/bsd/ntp/dist/html/ntpdc.html				new
external/bsd/ntp/dist/html/ntpdsim.html				new
external/bsd/ntp/dist/html/ntpdsim_new.html			new
external/bsd/ntp/dist/html/ntpq.html				new
external/bsd/ntp/dist/html/ntptime.html				new
external/bsd/ntp/dist/html/ntptrace.html			new
external/bsd/ntp/dist/html/orphan.html				new
external/bsd/ntp/dist/html/parsedata.html			new
external/bsd/ntp/dist/html/parsenew.html			new
external/bsd/ntp/dist/html/poll.html				new
external/bsd/ntp/dist/html/pps.html				new
external/bsd/ntp/dist/html/prefer.html				new
external/bsd/ntp/dist/html/quick.html				new
external/bsd/ntp/dist/html/rate.html				new
external/bsd/ntp/dist/html/rdebug.html				new
external/bsd/ntp/dist/html/refclock.html			new
external/bsd/ntp/dist/html/release.html				new
external/bsd/ntp/dist/html/select.html				new
external/bsd/ntp/dist/html/sitemap.html				new
external/bsd/ntp/dist/html/sntp.html				new
external/bsd/ntp/dist/html/stats.html				new
external/bsd/ntp/dist/html/tickadj.html				new
external/bsd/ntp/dist/html/warp.html				new
external/bsd/ntp/dist/html/xleave.html				new
external/bsd/ntp/dist/html/drivers/driver1.html			new
external/bsd/ntp/dist/html/drivers/driver10.html		new
external/bsd/ntp/dist/html/drivers/driver11.html		new
external/bsd/ntp/dist/html/drivers/driver12.html		new
external/bsd/ntp/dist/html/drivers/driver16.html		new
external/bsd/ntp/dist/html/drivers/driver18.html		new
external/bsd/ntp/dist/html/drivers/driver19.html		new
external/bsd/ntp/dist/html/drivers/driver20.html		new
external/bsd/ntp/dist/html/drivers/driver22.html		new
external/bsd/ntp/dist/html/drivers/driver26.html		new
external/bsd/ntp/dist/html/drivers/driver27.html		new
external/bsd/ntp/dist/html/drivers/driver28.html		new
external/bsd/ntp/dist/html/drivers/driver29.html		new
external/bsd/ntp/dist/html/drivers/driver3.html			new
external/bsd/ntp/dist/html/drivers/driver30.html		new
external/bsd/ntp/dist/html/drivers/driver31.html		new
external/bsd/ntp/dist/html/drivers/driver32.html		new
external/bsd/ntp/dist/html/drivers/driver33.html		new
external/bsd/ntp/dist/html/drivers/driver34.html		new
external/bsd/ntp/dist/html/drivers/driver35.html		new
external/bsd/ntp/dist/html/drivers/driver36.html		new
external/bsd/ntp/dist/html/drivers/driver37.html		new
external/bsd/ntp/dist/html/drivers/driver38.html		new
external/bsd/ntp/dist/html/drivers/driver39.html		new
external/bsd/ntp/dist/html/drivers/driver4.html			new
external/bsd/ntp/dist/html/drivers/driver40.html		new
external/bsd/ntp/dist/html/drivers/driver42.html		new
external/bsd/ntp/dist/html/drivers/driver43.html		new
external/bsd/ntp/dist/html/drivers/driver44.html		new
external/bsd/ntp/dist/html/drivers/driver45.html		new
external/bsd/ntp/dist/html/drivers/driver46.html		new
external/bsd/ntp/dist/html/drivers/driver5.html			new
external/bsd/ntp/dist/html/drivers/driver6.html			new
external/bsd/ntp/dist/html/drivers/driver7.html			new
external/bsd/ntp/dist/html/drivers/driver8.html			new
external/bsd/ntp/dist/html/drivers/driver9.html			new
external/bsd/ntp/dist/html/drivers/mx4200data.html		new
external/bsd/ntp/dist/html/drivers/oncore-shmem.html		new
external/bsd/ntp/dist/html/drivers/tf582_4.html			new
external/bsd/ntp/dist/html/drivers/icons/home.gif		new
external/bsd/ntp/dist/html/drivers/icons/mail2.gif		new
external/bsd/ntp/dist/html/drivers/scripts/footer.txt		new
external/bsd/ntp/dist/html/drivers/scripts/style.css		new
external/bsd/ntp/dist/html/hints/a-ux				new
external/bsd/ntp/dist/html/hints/aix				new
external/bsd/ntp/dist/html/hints/bsdi				new
external/bsd/ntp/dist/html/hints/changes			new
external/bsd/ntp/dist/html/hints/decosf1			new
external/bsd/ntp/dist/html/hints/decosf2			new
external/bsd/ntp/dist/html/hints/freebsd			new
external/bsd/ntp/dist/html/hints/hpux				new
external/bsd/ntp/dist/html/hints/linux				new
external/bsd/ntp/dist/html/hints/mpeix				new
external/bsd/ntp/dist/html/hints/notes-xntp-v3			new
external/bsd/ntp/dist/html/hints/parse				new
external/bsd/ntp/dist/html/hints/refclocks			new
external/bsd/ntp/dist/html/hints/rs6000				new
external/bsd/ntp/dist/html/hints/sco.html			new
external/bsd/ntp/dist/html/hints/sgi				new
external/bsd/ntp/dist/html/hints/solaris-dosynctodr.html	new
external/bsd/ntp/dist/html/hints/solaris.html			new
external/bsd/ntp/dist/html/hints/solaris.xtra.4023118		new
external/bsd/ntp/dist/html/hints/solaris.xtra.4095849		new
external/bsd/ntp/dist/html/hints/solaris.xtra.S99ntpd		new
external/bsd/ntp/dist/html/hints/solaris.xtra.patchfreq		new
external/bsd/ntp/dist/html/hints/sun4				new
external/bsd/ntp/dist/html/hints/svr4-dell			new
external/bsd/ntp/dist/html/hints/svr4_package			new
external/bsd/ntp/dist/html/hints/todo				new
external/bsd/ntp/dist/html/hints/vxworks.html			new
external/bsd/ntp/dist/html/hints/winnt.html			new
external/bsd/ntp/dist/html/icons/home.gif			new
external/bsd/ntp/dist/html/icons/mail2.gif			new
external/bsd/ntp/dist/html/icons/sitemap.png			new
external/bsd/ntp/dist/html/scripts/accopt.txt			new
external/bsd/ntp/dist/html/scripts/audio.txt			new
external/bsd/ntp/dist/html/scripts/authopt.txt			new
external/bsd/ntp/dist/html/scripts/clockopt.txt			new
external/bsd/ntp/dist/html/scripts/command.txt			new
external/bsd/ntp/dist/html/scripts/config.txt			new
external/bsd/ntp/dist/html/scripts/confopt.txt			new
external/bsd/ntp/dist/html/scripts/external.txt			new
external/bsd/ntp/dist/html/scripts/footer.txt			new
external/bsd/ntp/dist/html/scripts/hand.txt			new
external/bsd/ntp/dist/html/scripts/install.txt			new
external/bsd/ntp/dist/html/scripts/manual.txt			new
external/bsd/ntp/dist/html/scripts/misc.txt			new
external/bsd/ntp/dist/html/scripts/miscopt.txt			new
external/bsd/ntp/dist/html/scripts/monopt.txt			new
external/bsd/ntp/dist/html/scripts/refclock.txt			new
external/bsd/ntp/dist/html/scripts/special.txt			new
external/bsd/ntp/dist/html/scripts/style.css			new
external/bsd/ntp/dist/include/Makefile.am			new
external/bsd/ntp/dist/include/Makefile.in			new
external/bsd/ntp/dist/include/README				new
external/bsd/ntp/dist/include/adjtime.h				new
external/bsd/ntp/dist/include/ascii.h				new
external/bsd/ntp/dist/include/audio.h				new
external/bsd/ntp/dist/include/binio.h				new
external/bsd/ntp/dist/include/declcond.h			new
external/bsd/ntp/dist/include/gps.h				new
external/bsd/ntp/dist/include/hopf6039.h			new
external/bsd/ntp/dist/include/icom.h				new
external/bsd/ntp/dist/include/ieee754io.h			new
external/bsd/ntp/dist/include/intreswork.h			new
external/bsd/ntp/dist/include/iosignal.h			new
external/bsd/ntp/dist/include/l_stdlib.h			new
external/bsd/ntp/dist/include/lib_strbuf.h			new
external/bsd/ntp/dist/include/libntp.h				new
external/bsd/ntp/dist/include/mbg_gps166.h			new
external/bsd/ntp/dist/include/mx4200.h				new
external/bsd/ntp/dist/include/ntif.h				new
external/bsd/ntp/dist/include/ntp.h				new
external/bsd/ntp/dist/include/ntp_assert.h			new
external/bsd/ntp/dist/include/ntp_calendar.h			new
external/bsd/ntp/dist/include/ntp_cmdargs.h			new
external/bsd/ntp/dist/include/ntp_config.h			new
external/bsd/ntp/dist/include/ntp_control.h			new
external/bsd/ntp/dist/include/ntp_crypto.h			new
external/bsd/ntp/dist/include/ntp_datum.h			new
external/bsd/ntp/dist/include/ntp_debug.h			new
external/bsd/ntp/dist/include/ntp_filegen.h			new
external/bsd/ntp/dist/include/ntp_fp.h				new
external/bsd/ntp/dist/include/ntp_if.h				new
external/bsd/ntp/dist/include/ntp_intres.h			new
external/bsd/ntp/dist/include/ntp_io.h				new
external/bsd/ntp/dist/include/ntp_libopts.h			new
external/bsd/ntp/dist/include/ntp_lineedit.h			new
external/bsd/ntp/dist/include/ntp_lists.h			new
external/bsd/ntp/dist/include/ntp_machine.h			new
external/bsd/ntp/dist/include/ntp_malloc.h			new
external/bsd/ntp/dist/include/ntp_md5.h				new
external/bsd/ntp/dist/include/ntp_net.h				new
external/bsd/ntp/dist/include/ntp_prio_q.h			new
external/bsd/ntp/dist/include/ntp_proto.h			new
external/bsd/ntp/dist/include/ntp_random.h			new
external/bsd/ntp/dist/include/ntp_refclock.h			new
external/bsd/ntp/dist/include/ntp_request.h			new
external/bsd/ntp/dist/include/ntp_rfc2553.h			new
external/bsd/ntp/dist/include/ntp_select.h			new
external/bsd/ntp/dist/include/ntp_stdlib.h			new
external/bsd/ntp/dist/include/ntp_string.h			new
external/bsd/ntp/dist/include/ntp_syscall.h			new
external/bsd/ntp/dist/include/ntp_syslog.h			new
external/bsd/ntp/dist/include/ntp_tty.h				new
external/bsd/ntp/dist/include/ntp_types.h			new
external/bsd/ntp/dist/include/ntp_unixtime.h			new
external/bsd/ntp/dist/include/ntp_worker.h			new
external/bsd/ntp/dist/include/ntp_workimpl.h			new
external/bsd/ntp/dist/include/ntpd.h				new
external/bsd/ntp/dist/include/ntpsim.h				new
external/bsd/ntp/dist/include/parse.h				new
external/bsd/ntp/dist/include/parse_conf.h			new
external/bsd/ntp/dist/include/recvbuff.h			new
external/bsd/ntp/dist/include/refclock_atom.h			new
external/bsd/ntp/dist/include/ssl_applink.c			new
external/bsd/ntp/dist/include/timepps-SCO.h			new
external/bsd/ntp/dist/include/timepps-Solaris.h			new
external/bsd/ntp/dist/include/timepps-SunOS.h			new
external/bsd/ntp/dist/include/timespecops.h			new
external/bsd/ntp/dist/include/timetoa.h				new
external/bsd/ntp/dist/include/timevalops.h			new
external/bsd/ntp/dist/include/trimble.h				new
external/bsd/ntp/dist/include/vint64ops.h			new
external/bsd/ntp/dist/include/isc/Makefile.am			new
external/bsd/ntp/dist/include/isc/Makefile.in			new
external/bsd/ntp/dist/include/isc/mem.h				new
external/bsd/ntp/dist/kernel/Makefile.am			new
external/bsd/ntp/dist/kernel/Makefile.in			new
external/bsd/ntp/dist/kernel/sys/Makefile.am			new
external/bsd/ntp/dist/kernel/sys/Makefile.in			new
external/bsd/ntp/dist/kernel/sys/README				new
external/bsd/ntp/dist/kernel/sys/bsd_audioirig.h		new
external/bsd/ntp/dist/kernel/sys/i8253.h			new
external/bsd/ntp/dist/kernel/sys/parsestreams.h			new
external/bsd/ntp/dist/kernel/sys/pcl720.h			new
external/bsd/ntp/dist/kernel/sys/ppsclock.h			new
external/bsd/ntp/dist/kernel/sys/timex.h			new
external/bsd/ntp/dist/kernel/sys/tpro.h				new
external/bsd/ntp/dist/kernel/sys/tt560_api.h			new
external/bsd/ntp/dist/lib/isc/Atffile				new
external/bsd/ntp/dist/lib/isc/api				new
external/bsd/ntp/dist/lib/isc/app_api.c				new
external/bsd/ntp/dist/lib/isc/assertions.c			new
external/bsd/ntp/dist/lib/isc/backtrace-emptytbl.c		new
external/bsd/ntp/dist/lib/isc/backtrace.c			new
external/bsd/ntp/dist/lib/isc/base32.c				new
external/bsd/ntp/dist/lib/isc/base64.c				new
external/bsd/ntp/dist/lib/isc/bitstring.c			new
external/bsd/ntp/dist/lib/isc/buffer.c				new
external/bsd/ntp/dist/lib/isc/bufferlist.c			new
external/bsd/ntp/dist/lib/isc/commandline.c			new
external/bsd/ntp/dist/lib/isc/entropy.c				new
external/bsd/ntp/dist/lib/isc/error.c				new
external/bsd/ntp/dist/lib/isc/event.c				new
external/bsd/ntp/dist/lib/isc/fsaccess.c			new
external/bsd/ntp/dist/lib/isc/hash.c				new
external/bsd/ntp/dist/lib/isc/heap.c				new
external/bsd/ntp/dist/lib/isc/hex.c				new
external/bsd/ntp/dist/lib/isc/hmacmd5.c				new
external/bsd/ntp/dist/lib/isc/hmacsha.c				new
external/bsd/ntp/dist/lib/isc/httpd.c				new
external/bsd/ntp/dist/lib/isc/inet_aton.c			new
external/bsd/ntp/dist/lib/isc/inet_ntop.c			new
external/bsd/ntp/dist/lib/isc/inet_pton.c			new
external/bsd/ntp/dist/lib/isc/iterated_hash.c			new
external/bsd/ntp/dist/lib/isc/lex.c				new
external/bsd/ntp/dist/lib/isc/lfsr.c				new
external/bsd/ntp/dist/lib/isc/lib.c				new
external/bsd/ntp/dist/lib/isc/log.c				new
external/bsd/ntp/dist/lib/isc/md5.c				new
external/bsd/ntp/dist/lib/isc/mem.c				new
external/bsd/ntp/dist/lib/isc/mem_api.c				new
external/bsd/ntp/dist/lib/isc/mutexblock.c			new
external/bsd/ntp/dist/lib/isc/netaddr.c				new
external/bsd/ntp/dist/lib/isc/netscope.c			new
external/bsd/ntp/dist/lib/isc/ondestroy.c			new
external/bsd/ntp/dist/lib/isc/parseint.c			new
external/bsd/ntp/dist/lib/isc/portset.c				new
external/bsd/ntp/dist/lib/isc/print.c				new
external/bsd/ntp/dist/lib/isc/quota.c				new
external/bsd/ntp/dist/lib/isc/radix.c				new
external/bsd/ntp/dist/lib/isc/random.c				new
external/bsd/ntp/dist/lib/isc/ratelimiter.c			new
external/bsd/ntp/dist/lib/isc/refcount.c			new
external/bsd/ntp/dist/lib/isc/region.c				new
external/bsd/ntp/dist/lib/isc/result.c				new
external/bsd/ntp/dist/lib/isc/rwlock.c				new
external/bsd/ntp/dist/lib/isc/serial.c				new
external/bsd/ntp/dist/lib/isc/sha1.c				new
external/bsd/ntp/dist/lib/isc/sha2.c				new
external/bsd/ntp/dist/lib/isc/sockaddr.c			new
external/bsd/ntp/dist/lib/isc/socket_api.c			new
external/bsd/ntp/dist/lib/isc/stats.c				new
external/bsd/ntp/dist/lib/isc/string.c				new
external/bsd/ntp/dist/lib/isc/strtoul.c				new
external/bsd/ntp/dist/lib/isc/symtab.c				new
external/bsd/ntp/dist/lib/isc/task.c				new
external/bsd/ntp/dist/lib/isc/task_api.c			new
external/bsd/ntp/dist/lib/isc/task_p.h				new
external/bsd/ntp/dist/lib/isc/taskpool.c			new
external/bsd/ntp/dist/lib/isc/timer.c				new
external/bsd/ntp/dist/lib/isc/timer_api.c			new
external/bsd/ntp/dist/lib/isc/timer_p.h				new
external/bsd/ntp/dist/lib/isc/version.c				new
external/bsd/ntp/dist/lib/isc/alpha/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/ia64/include/isc/atomic.h		new
external/bsd/ntp/dist/lib/isc/include/isc/app.h			new
external/bsd/ntp/dist/lib/isc/include/isc/assertions.h		new
external/bsd/ntp/dist/lib/isc/include/isc/backtrace.h		new
external/bsd/ntp/dist/lib/isc/include/isc/base32.h		new
external/bsd/ntp/dist/lib/isc/include/isc/base64.h		new
external/bsd/ntp/dist/lib/isc/include/isc/bind9.h		new
external/bsd/ntp/dist/lib/isc/include/isc/bitstring.h		new
external/bsd/ntp/dist/lib/isc/include/isc/boolean.h		new
external/bsd/ntp/dist/lib/isc/include/isc/buffer.h		new
external/bsd/ntp/dist/lib/isc/include/isc/bufferlist.h		new
external/bsd/ntp/dist/lib/isc/include/isc/commandline.h		new
external/bsd/ntp/dist/lib/isc/include/isc/entropy.h		new
external/bsd/ntp/dist/lib/isc/include/isc/error.h		new
external/bsd/ntp/dist/lib/isc/include/isc/event.h		new
external/bsd/ntp/dist/lib/isc/include/isc/eventclass.h		new
external/bsd/ntp/dist/lib/isc/include/isc/file.h		new
external/bsd/ntp/dist/lib/isc/include/isc/formatcheck.h		new
external/bsd/ntp/dist/lib/isc/include/isc/fsaccess.h		new
external/bsd/ntp/dist/lib/isc/include/isc/hash.h		new
external/bsd/ntp/dist/lib/isc/include/isc/heap.h		new
external/bsd/ntp/dist/lib/isc/include/isc/hex.h			new
external/bsd/ntp/dist/lib/isc/include/isc/hmacmd5.h		new
external/bsd/ntp/dist/lib/isc/include/isc/hmacsha.h		new
external/bsd/ntp/dist/lib/isc/include/isc/httpd.h		new
external/bsd/ntp/dist/lib/isc/include/isc/interfaceiter.h	new
external/bsd/ntp/dist/lib/isc/include/isc/ipv6.h		new
external/bsd/ntp/dist/lib/isc/include/isc/iterated_hash.h	new
external/bsd/ntp/dist/lib/isc/include/isc/lang.h		new
external/bsd/ntp/dist/lib/isc/include/isc/lex.h			new
external/bsd/ntp/dist/lib/isc/include/isc/lfsr.h		new
external/bsd/ntp/dist/lib/isc/include/isc/lib.h			new
external/bsd/ntp/dist/lib/isc/include/isc/list.h		new
external/bsd/ntp/dist/lib/isc/include/isc/log.h			new
external/bsd/ntp/dist/lib/isc/include/isc/magic.h		new
external/bsd/ntp/dist/lib/isc/include/isc/md5.h			new
external/bsd/ntp/dist/lib/isc/include/isc/mem.h			new
external/bsd/ntp/dist/lib/isc/include/isc/msgcat.h		new
external/bsd/ntp/dist/lib/isc/include/isc/msgs.h		new
external/bsd/ntp/dist/lib/isc/include/isc/mutexblock.h		new
external/bsd/ntp/dist/lib/isc/include/isc/namespace.h		new
external/bsd/ntp/dist/lib/isc/include/isc/netaddr.h		new
external/bsd/ntp/dist/lib/isc/include/isc/netscope.h		new
external/bsd/ntp/dist/lib/isc/include/isc/ondestroy.h		new
external/bsd/ntp/dist/lib/isc/include/isc/os.h			new
external/bsd/ntp/dist/lib/isc/include/isc/parseint.h		new
external/bsd/ntp/dist/lib/isc/include/isc/platform.h		new
external/bsd/ntp/dist/lib/isc/include/isc/platform.h.in		new
external/bsd/ntp/dist/lib/isc/include/isc/portset.h		new
external/bsd/ntp/dist/lib/isc/include/isc/print.h		new
external/bsd/ntp/dist/lib/isc/include/isc/queue.h		new
external/bsd/ntp/dist/lib/isc/include/isc/quota.h		new
external/bsd/ntp/dist/lib/isc/include/isc/radix.h		new
external/bsd/ntp/dist/lib/isc/include/isc/random.h		new
external/bsd/ntp/dist/lib/isc/include/isc/ratelimiter.h		new
external/bsd/ntp/dist/lib/isc/include/isc/refcount.h		new
external/bsd/ntp/dist/lib/isc/include/isc/region.h		new
external/bsd/ntp/dist/lib/isc/include/isc/resource.h		new
external/bsd/ntp/dist/lib/isc/include/isc/result.h		new
external/bsd/ntp/dist/lib/isc/include/isc/resultclass.h		new
external/bsd/ntp/dist/lib/isc/include/isc/rwlock.h		new
external/bsd/ntp/dist/lib/isc/include/isc/serial.h		new
external/bsd/ntp/dist/lib/isc/include/isc/sha1.h		new
external/bsd/ntp/dist/lib/isc/include/isc/sha2.h		new
external/bsd/ntp/dist/lib/isc/include/isc/sockaddr.h		new
external/bsd/ntp/dist/lib/isc/include/isc/socket.h		new
external/bsd/ntp/dist/lib/isc/include/isc/stats.h		new
external/bsd/ntp/dist/lib/isc/include/isc/stdio.h		new
external/bsd/ntp/dist/lib/isc/include/isc/stdlib.h		new
external/bsd/ntp/dist/lib/isc/include/isc/string.h		new
external/bsd/ntp/dist/lib/isc/include/isc/symtab.h		new
external/bsd/ntp/dist/lib/isc/include/isc/task.h		new
external/bsd/ntp/dist/lib/isc/include/isc/taskpool.h		new
external/bsd/ntp/dist/lib/isc/include/isc/timer.h		new
external/bsd/ntp/dist/lib/isc/include/isc/types.h		new
external/bsd/ntp/dist/lib/isc/include/isc/util.h		new
external/bsd/ntp/dist/lib/isc/include/isc/version.h		new
external/bsd/ntp/dist/lib/isc/include/isc/xml.h			new
external/bsd/ntp/dist/lib/isc/mips/include/isc/atomic.h		new
external/bsd/ntp/dist/lib/isc/nls/msgcat.c			new
external/bsd/ntp/dist/lib/isc/noatomic/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/nothreads/condition.c		new
external/bsd/ntp/dist/lib/isc/nothreads/mutex.c			new
external/bsd/ntp/dist/lib/isc/nothreads/thread.c		new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/condition.h	new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/mutex.h	new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/once.h	new
external/bsd/ntp/dist/lib/isc/nothreads/include/isc/thread.h	new
external/bsd/ntp/dist/lib/isc/powerpc/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/pthreads/condition.c		new
external/bsd/ntp/dist/lib/isc/pthreads/mutex.c			new
external/bsd/ntp/dist/lib/isc/pthreads/thread.c			new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/condition.h	new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/mutex.h	new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/once.h	new
external/bsd/ntp/dist/lib/isc/pthreads/include/isc/thread.h	new
external/bsd/ntp/dist/lib/isc/sparc64/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/tests/Atffile			new
external/bsd/ntp/dist/lib/isc/tests/hash_test.c			new
external/bsd/ntp/dist/lib/isc/tests/isctest.c			new
external/bsd/ntp/dist/lib/isc/tests/isctest.h			new
external/bsd/ntp/dist/lib/isc/tests/queue_test.c		new
external/bsd/ntp/dist/lib/isc/tests/socket_test.c		new
external/bsd/ntp/dist/lib/isc/tests/symtab_test.c		new
external/bsd/ntp/dist/lib/isc/tests/task_test.c			new
external/bsd/ntp/dist/lib/isc/tests/taskpool_test.c		new
external/bsd/ntp/dist/lib/isc/unix/app.c			new
external/bsd/ntp/dist/lib/isc/unix/dir.c			new
external/bsd/ntp/dist/lib/isc/unix/entropy.c			new
external/bsd/ntp/dist/lib/isc/unix/errno2result.c		new
external/bsd/ntp/dist/lib/isc/unix/errno2result.h		new
external/bsd/ntp/dist/lib/isc/unix/file.c			new
external/bsd/ntp/dist/lib/isc/unix/fsaccess.c			new
external/bsd/ntp/dist/lib/isc/unix/ifiter_getifaddrs.c		new
external/bsd/ntp/dist/lib/isc/unix/ifiter_ioctl.c		new
external/bsd/ntp/dist/lib/isc/unix/ifiter_sysctl.c		new
external/bsd/ntp/dist/lib/isc/unix/interfaceiter.c		new
external/bsd/ntp/dist/lib/isc/unix/ipv6.c			new
external/bsd/ntp/dist/lib/isc/unix/keyboard.c			new
external/bsd/ntp/dist/lib/isc/unix/net.c			new
external/bsd/ntp/dist/lib/isc/unix/os.c				new
external/bsd/ntp/dist/lib/isc/unix/resource.c			new
external/bsd/ntp/dist/lib/isc/unix/socket.c			new
external/bsd/ntp/dist/lib/isc/unix/socket_p.h			new
external/bsd/ntp/dist/lib/isc/unix/stdio.c			new
external/bsd/ntp/dist/lib/isc/unix/stdtime.c			new
external/bsd/ntp/dist/lib/isc/unix/strerror.c			new
external/bsd/ntp/dist/lib/isc/unix/syslog.c			new
external/bsd/ntp/dist/lib/isc/unix/time.c			new
external/bsd/ntp/dist/lib/isc/unix/include/isc/dir.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/int.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/keyboard.h	new
external/bsd/ntp/dist/lib/isc/unix/include/isc/net.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/netdb.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/offset.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/stat.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/stdtime.h	new
external/bsd/ntp/dist/lib/isc/unix/include/isc/strerror.h	new
external/bsd/ntp/dist/lib/isc/unix/include/isc/syslog.h		new
external/bsd/ntp/dist/lib/isc/unix/include/isc/time.h		new
external/bsd/ntp/dist/lib/isc/win32/DLLMain.c			new
external/bsd/ntp/dist/lib/isc/win32/app.c			new
external/bsd/ntp/dist/lib/isc/win32/condition.c			new
external/bsd/ntp/dist/lib/isc/win32/dir.c			new
external/bsd/ntp/dist/lib/isc/win32/entropy.c			new
external/bsd/ntp/dist/lib/isc/win32/errno2result.c		new
external/bsd/ntp/dist/lib/isc/win32/errno2result.h		new
external/bsd/ntp/dist/lib/isc/win32/file.c			new
external/bsd/ntp/dist/lib/isc/win32/fsaccess.c			new
external/bsd/ntp/dist/lib/isc/win32/interfaceiter.c		new
external/bsd/ntp/dist/lib/isc/win32/ipv6.c			new
external/bsd/ntp/dist/lib/isc/win32/keyboard.c			new
external/bsd/ntp/dist/lib/isc/win32/libgen.h			new
external/bsd/ntp/dist/lib/isc/win32/libisc.def			new
external/bsd/ntp/dist/lib/isc/win32/libisc.dsp			new
external/bsd/ntp/dist/lib/isc/win32/libisc.dsw			new
external/bsd/ntp/dist/lib/isc/win32/libisc.mak			new
external/bsd/ntp/dist/lib/isc/win32/net.c			new
external/bsd/ntp/dist/lib/isc/win32/netdb.h			new
external/bsd/ntp/dist/lib/isc/win32/ntgroups.c			new
external/bsd/ntp/dist/lib/isc/win32/ntpaths.c			new
external/bsd/ntp/dist/lib/isc/win32/once.c			new
external/bsd/ntp/dist/lib/isc/win32/os.c			new
external/bsd/ntp/dist/lib/isc/win32/resource.c			new
external/bsd/ntp/dist/lib/isc/win32/socket.c			new
external/bsd/ntp/dist/lib/isc/win32/stdio.c			new
external/bsd/ntp/dist/lib/isc/win32/stdtime.c			new
external/bsd/ntp/dist/lib/isc/win32/strerror.c			new
external/bsd/ntp/dist/lib/isc/win32/syslog.c			new
external/bsd/ntp/dist/lib/isc/win32/syslog.h			new
external/bsd/ntp/dist/lib/isc/win32/thread.c			new
external/bsd/ntp/dist/lib/isc/win32/time.c			new
external/bsd/ntp/dist/lib/isc/win32/unistd.h			new
external/bsd/ntp/dist/lib/isc/win32/version.c			new
external/bsd/ntp/dist/lib/isc/win32/win32os.c			new
external/bsd/ntp/dist/lib/isc/win32/include/isc/bind_registry.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/bindevt.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/condition.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/dir.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/int.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/ipv6.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/keyboard.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/mutex.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/net.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/netdb.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/ntgroups.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/ntpaths.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/offset.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/once.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/platform.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/stat.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/stdtime.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/strerror.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/syslog.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/thread.h	new
external/bsd/ntp/dist/lib/isc/win32/include/isc/time.h		new
external/bsd/ntp/dist/lib/isc/win32/include/isc/win32os.h	new
external/bsd/ntp/dist/lib/isc/x86_32/include/isc/atomic.h	new
external/bsd/ntp/dist/lib/isc/x86_64/include/isc/atomic.h	new
external/bsd/ntp/dist/libjsmn/LICENSE				new
external/bsd/ntp/dist/libjsmn/Makefile				new
external/bsd/ntp/dist/libjsmn/README.md				new
external/bsd/ntp/dist/libjsmn/jsmn.c				new
external/bsd/ntp/dist/libjsmn/jsmn.h				new
external/bsd/ntp/dist/libjsmn/jsmn_test.c			new
external/bsd/ntp/dist/libntp/Makefile.am			new
external/bsd/ntp/dist/libntp/Makefile.in			new
external/bsd/ntp/dist/libntp/README				new
external/bsd/ntp/dist/libntp/a_md5encrypt.c			new
external/bsd/ntp/dist/libntp/adjtime.c				new
external/bsd/ntp/dist/libntp/adjtimex.c				new
external/bsd/ntp/dist/libntp/atoint.c				new
external/bsd/ntp/dist/libntp/atolfp.c				new
external/bsd/ntp/dist/libntp/atouint.c				new
external/bsd/ntp/dist/libntp/audio.c				new
external/bsd/ntp/dist/libntp/authkeys.c				new
external/bsd/ntp/dist/libntp/authreadkeys.c			new
external/bsd/ntp/dist/libntp/authusekey.c			new
external/bsd/ntp/dist/libntp/bsd_strerror.c			new
external/bsd/ntp/dist/libntp/buftvtots.c			new
external/bsd/ntp/dist/libntp/caljulian.c			new
external/bsd/ntp/dist/libntp/caltontp.c				new
external/bsd/ntp/dist/libntp/calyearstart.c			new
external/bsd/ntp/dist/libntp/clocktime.c			new
external/bsd/ntp/dist/libntp/clocktypes.c			new
external/bsd/ntp/dist/libntp/decodenetnum.c			new
external/bsd/ntp/dist/libntp/dofptoa.c				new
external/bsd/ntp/dist/libntp/dolfptoa.c				new
external/bsd/ntp/dist/libntp/emalloc.c				new
external/bsd/ntp/dist/libntp/findconfig.c			new
external/bsd/ntp/dist/libntp/getopt.c				new
external/bsd/ntp/dist/libntp/hextoint.c				new
external/bsd/ntp/dist/libntp/hextolfp.c				new
external/bsd/ntp/dist/libntp/humandate.c			new
external/bsd/ntp/dist/libntp/icom.c				new
external/bsd/ntp/dist/libntp/iosignal.c				new
external/bsd/ntp/dist/libntp/lib_strbuf.c			new
external/bsd/ntp/dist/libntp/machines.c				new
external/bsd/ntp/dist/libntp/mktime.c				new
external/bsd/ntp/dist/libntp/modetoa.c				new
external/bsd/ntp/dist/libntp/mstolfp.c				new
external/bsd/ntp/dist/libntp/msyslog.c				new
external/bsd/ntp/dist/libntp/netof.c				new
external/bsd/ntp/dist/libntp/ntp_calendar.c			new
external/bsd/ntp/dist/libntp/ntp_crypto_rnd.c			new
external/bsd/ntp/dist/libntp/ntp_intres.c			new
external/bsd/ntp/dist/libntp/ntp_libopts.c			new
external/bsd/ntp/dist/libntp/ntp_lineedit.c			new
external/bsd/ntp/dist/libntp/ntp_random.c			new
external/bsd/ntp/dist/libntp/ntp_rfc2553.c			new
external/bsd/ntp/dist/libntp/ntp_worker.c			new
external/bsd/ntp/dist/libntp/numtoa.c				new
external/bsd/ntp/dist/libntp/numtohost.c			new
external/bsd/ntp/dist/libntp/octtoint.c				new
external/bsd/ntp/dist/libntp/prettydate.c			new
external/bsd/ntp/dist/libntp/recvbuff.c				new
external/bsd/ntp/dist/libntp/refnumtoa.c			new
external/bsd/ntp/dist/libntp/snprintf.c				new
external/bsd/ntp/dist/libntp/socket.c				new
external/bsd/ntp/dist/libntp/socktoa.c				new
external/bsd/ntp/dist/libntp/socktohost.c			new
external/bsd/ntp/dist/libntp/ssl_init.c				new
external/bsd/ntp/dist/libntp/statestr.c				new
external/bsd/ntp/dist/libntp/strdup.c				new
external/bsd/ntp/dist/libntp/strl_obsd.c			new
external/bsd/ntp/dist/libntp/syssignal.c			new
external/bsd/ntp/dist/libntp/systime.c				new
external/bsd/ntp/dist/libntp/systime_s.c			new
external/bsd/ntp/dist/libntp/timetoa.c				new
external/bsd/ntp/dist/libntp/timevalops.c			new
external/bsd/ntp/dist/libntp/uglydate.c				new
external/bsd/ntp/dist/libntp/vint64ops.c			new
external/bsd/ntp/dist/libntp/work_fork.c			new
external/bsd/ntp/dist/libntp/work_thread.c			new
external/bsd/ntp/dist/libntp/ymd2yd.c				new
external/bsd/ntp/dist/libparse/Makefile.am			new
external/bsd/ntp/dist/libparse/Makefile.in			new
external/bsd/ntp/dist/libparse/README				new
external/bsd/ntp/dist/libparse/binio.c				new
external/bsd/ntp/dist/libparse/clk_computime.c			new
external/bsd/ntp/dist/libparse/clk_dcf7000.c			new
external/bsd/ntp/dist/libparse/clk_hopf6021.c			new
external/bsd/ntp/dist/libparse/clk_meinberg.c			new
external/bsd/ntp/dist/libparse/clk_rawdcf.c			new
external/bsd/ntp/dist/libparse/clk_rcc8000.c			new
external/bsd/ntp/dist/libparse/clk_schmid.c			new
external/bsd/ntp/dist/libparse/clk_sel240x.c			new
external/bsd/ntp/dist/libparse/clk_trimtaip.c			new
external/bsd/ntp/dist/libparse/clk_trimtsip.c			new
external/bsd/ntp/dist/libparse/clk_varitext.c			new
external/bsd/ntp/dist/libparse/clk_wharton.c			new
external/bsd/ntp/dist/libparse/data_mbg.c			new
external/bsd/ntp/dist/libparse/gpstolfp.c			new
external/bsd/ntp/dist/libparse/ieee754io.c			new
external/bsd/ntp/dist/libparse/info_trimble.c			new
external/bsd/ntp/dist/libparse/mfp_mul.c			new
external/bsd/ntp/dist/libparse/mkinfo_rcmd.sed			new
external/bsd/ntp/dist/libparse/mkinfo_scmd.sed			new
external/bsd/ntp/dist/libparse/parse.c				new
external/bsd/ntp/dist/libparse/parse_conf.c			new
external/bsd/ntp/dist/libparse/parsesolaris.c			new
external/bsd/ntp/dist/libparse/parsestreams.c			new
external/bsd/ntp/dist/libparse/trim_info.c			new
external/bsd/ntp/dist/ntpd/Makefile.am				new
external/bsd/ntp/dist/ntpd/Makefile.in				new
external/bsd/ntp/dist/ntpd/check_y2k.c				new
external/bsd/ntp/dist/ntpd/cmd_args.c				new
external/bsd/ntp/dist/ntpd/complete.conf.in			new
external/bsd/ntp/dist/ntpd/declcond.h				new
external/bsd/ntp/dist/ntpd/invoke-ntp.conf.menu			new
external/bsd/ntp/dist/ntpd/invoke-ntp.conf.texi			new
external/bsd/ntp/dist/ntpd/invoke-ntp.keys.menu			new
external/bsd/ntp/dist/ntpd/invoke-ntp.keys.texi			new
external/bsd/ntp/dist/ntpd/invoke-ntpd.menu			new
external/bsd/ntp/dist/ntpd/invoke-ntpd.texi			new
external/bsd/ntp/dist/ntpd/jupiter.h				new
external/bsd/ntp/dist/ntpd/keyword-gen-utd			new
external/bsd/ntp/dist/ntpd/keyword-gen.c			new
external/bsd/ntp/dist/ntpd/ntp.conf.5man			new
external/bsd/ntp/dist/ntpd/ntp.conf.5mdoc			new
external/bsd/ntp/dist/ntpd/ntp.conf.def				new
external/bsd/ntp/dist/ntpd/ntp.conf.html			new
external/bsd/ntp/dist/ntpd/ntp.conf.man.in			new
external/bsd/ntp/dist/ntpd/ntp.conf.mdoc.in			new
external/bsd/ntp/dist/ntpd/ntp.conf.texi			new
external/bsd/ntp/dist/ntpd/ntp.keys.5man			new
external/bsd/ntp/dist/ntpd/ntp.keys.5mdoc			new
external/bsd/ntp/dist/ntpd/ntp.keys.def				new
external/bsd/ntp/dist/ntpd/ntp.keys.html			new
external/bsd/ntp/dist/ntpd/ntp.keys.man.in			new
external/bsd/ntp/dist/ntpd/ntp.keys.mdoc.in			new
external/bsd/ntp/dist/ntpd/ntp.keys.texi			new
external/bsd/ntp/dist/ntpd/ntp_config.c				new
external/bsd/ntp/dist/ntpd/ntp_control.c			new
external/bsd/ntp/dist/ntpd/ntp_crypto.c				new
external/bsd/ntp/dist/ntpd/ntp_filegen.c			new
external/bsd/ntp/dist/ntpd/ntp_io.c				new
external/bsd/ntp/dist/ntpd/ntp_keyword.h			new
external/bsd/ntp/dist/ntpd/ntp_leapsec.c			new
external/bsd/ntp/dist/ntpd/ntp_leapsec.h			new
external/bsd/ntp/dist/ntpd/ntp_loopfilter.c			new
external/bsd/ntp/dist/ntpd/ntp_monitor.c			new
external/bsd/ntp/dist/ntpd/ntp_parser.c				new
external/bsd/ntp/dist/ntpd/ntp_parser.h				new
external/bsd/ntp/dist/ntpd/ntp_parser.y				new
external/bsd/ntp/dist/ntpd/ntp_peer.c				new
external/bsd/ntp/dist/ntpd/ntp_prio_q.c				new
external/bsd/ntp/dist/ntpd/ntp_proto.c				new
external/bsd/ntp/dist/ntpd/ntp_refclock.c			new
external/bsd/ntp/dist/ntpd/ntp_request.c			new
external/bsd/ntp/dist/ntpd/ntp_restrict.c			new
external/bsd/ntp/dist/ntpd/ntp_scanner.c			new
external/bsd/ntp/dist/ntpd/ntp_scanner.h			new
external/bsd/ntp/dist/ntpd/ntp_signd.c				new
external/bsd/ntp/dist/ntpd/ntp_timer.c				new
external/bsd/ntp/dist/ntpd/ntp_util.c				new
external/bsd/ntp/dist/ntpd/ntpd-opts.c				new
external/bsd/ntp/dist/ntpd/ntpd-opts.def			new
external/bsd/ntp/dist/ntpd/ntpd-opts.h				new
external/bsd/ntp/dist/ntpd/ntpd.1ntpdman			new
external/bsd/ntp/dist/ntpd/ntpd.1ntpdmdoc			new
external/bsd/ntp/dist/ntpd/ntpd.c				new
external/bsd/ntp/dist/ntpd/ntpd.html				new
external/bsd/ntp/dist/ntpd/ntpd.man.in				new
external/bsd/ntp/dist/ntpd/ntpd.mdoc.in				new
external/bsd/ntp/dist/ntpd/ntpd.texi				new
external/bsd/ntp/dist/ntpd/ntpdbase-opts.def			new
external/bsd/ntp/dist/ntpd/ntpsim.c				new
external/bsd/ntp/dist/ntpd/ppsapi_timepps.h			new
external/bsd/ntp/dist/ntpd/refclock_acts.c			new
external/bsd/ntp/dist/ntpd/refclock_arbiter.c			new
external/bsd/ntp/dist/ntpd/refclock_arc.c			new
external/bsd/ntp/dist/ntpd/refclock_as2201.c			new
external/bsd/ntp/dist/ntpd/refclock_atom.c			new
external/bsd/ntp/dist/ntpd/refclock_bancomm.c			new
external/bsd/ntp/dist/ntpd/refclock_chronolog.c			new
external/bsd/ntp/dist/ntpd/refclock_chu.c			new
external/bsd/ntp/dist/ntpd/refclock_conf.c			new
external/bsd/ntp/dist/ntpd/refclock_datum.c			new
external/bsd/ntp/dist/ntpd/refclock_dumbclock.c			new
external/bsd/ntp/dist/ntpd/refclock_fg.c			new
external/bsd/ntp/dist/ntpd/refclock_gpsdjson.c			new
external/bsd/ntp/dist/ntpd/refclock_gpsvme.c			new
external/bsd/ntp/dist/ntpd/refclock_heath.c			new
external/bsd/ntp/dist/ntpd/refclock_hopfpci.c			new
external/bsd/ntp/dist/ntpd/refclock_hopfser.c			new
external/bsd/ntp/dist/ntpd/refclock_hpgps.c			new
external/bsd/ntp/dist/ntpd/refclock_irig.c			new
external/bsd/ntp/dist/ntpd/refclock_jjy.c			new
external/bsd/ntp/dist/ntpd/refclock_jupiter.c			new
external/bsd/ntp/dist/ntpd/refclock_leitch.c			new
external/bsd/ntp/dist/ntpd/refclock_local.c			new
external/bsd/ntp/dist/ntpd/refclock_msfees.c			new
external/bsd/ntp/dist/ntpd/refclock_mx4200.c			new
external/bsd/ntp/dist/ntpd/refclock_neoclock4x.c		new
external/bsd/ntp/dist/ntpd/refclock_nmea.c			new
external/bsd/ntp/dist/ntpd/refclock_oncore.c			new
external/bsd/ntp/dist/ntpd/refclock_palisade.c			new
external/bsd/ntp/dist/ntpd/refclock_palisade.h			new
external/bsd/ntp/dist/ntpd/refclock_parse.c			new
external/bsd/ntp/dist/ntpd/refclock_pcf.c			new
external/bsd/ntp/dist/ntpd/refclock_pst.c			new
external/bsd/ntp/dist/ntpd/refclock_ripencc.c			new
external/bsd/ntp/dist/ntpd/refclock_shm.c			new
external/bsd/ntp/dist/ntpd/refclock_tpro.c			new
external/bsd/ntp/dist/ntpd/refclock_true.c			new
external/bsd/ntp/dist/ntpd/refclock_tsyncpci.c			new
external/bsd/ntp/dist/ntpd/refclock_tt560.c			new
external/bsd/ntp/dist/ntpd/refclock_ulink.c			new
external/bsd/ntp/dist/ntpd/refclock_wwv.c			new
external/bsd/ntp/dist/ntpd/refclock_wwvb.c			new
external/bsd/ntp/dist/ntpd/refclock_zyfer.c			new
external/bsd/ntp/dist/ntpdate/Makefile.am			new
external/bsd/ntp/dist/ntpdate/Makefile.in			new
external/bsd/ntp/dist/ntpdate/README				new
external/bsd/ntp/dist/ntpdate/ntpdate.c				new
external/bsd/ntp/dist/ntpdate/ntpdate.h				new
external/bsd/ntp/dist/ntpdc/Makefile.am				new
external/bsd/ntp/dist/ntpdc/Makefile.in				new
external/bsd/ntp/dist/ntpdc/README				new
external/bsd/ntp/dist/ntpdc/invoke-ntpdc.menu			new
external/bsd/ntp/dist/ntpdc/invoke-ntpdc.texi			new
external/bsd/ntp/dist/ntpdc/layout.std				new
external/bsd/ntp/dist/ntpdc/nl.pl				new
external/bsd/ntp/dist/ntpdc/nl.pl.in				new
external/bsd/ntp/dist/ntpdc/nl_in.c				new
external/bsd/ntp/dist/ntpdc/ntpdc-layout.c			new
external/bsd/ntp/dist/ntpdc/ntpdc-opts.c			new
external/bsd/ntp/dist/ntpdc/ntpdc-opts.def			new
external/bsd/ntp/dist/ntpdc/ntpdc-opts.h			new
external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcman			new
external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc			new
external/bsd/ntp/dist/ntpdc/ntpdc.c				new
external/bsd/ntp/dist/ntpdc/ntpdc.h				new
external/bsd/ntp/dist/ntpdc/ntpdc.html				new
external/bsd/ntp/dist/ntpdc/ntpdc.man.in			new
external/bsd/ntp/dist/ntpdc/ntpdc.mdoc.in			new
external/bsd/ntp/dist/ntpdc/ntpdc.texi				new
external/bsd/ntp/dist/ntpdc/ntpdc_ops.c				new
external/bsd/ntp/dist/ntpq/Makefile.am				new
external/bsd/ntp/dist/ntpq/Makefile.in				new
external/bsd/ntp/dist/ntpq/README				new
external/bsd/ntp/dist/ntpq/invoke-ntpq.menu			new
external/bsd/ntp/dist/ntpq/invoke-ntpq.texi			new
external/bsd/ntp/dist/ntpq/libntpq.c				new
external/bsd/ntp/dist/ntpq/libntpq.h				new
external/bsd/ntp/dist/ntpq/libntpq_subs.c			new
external/bsd/ntp/dist/ntpq/ntpq-opts.c				new
external/bsd/ntp/dist/ntpq/ntpq-opts.def			new
external/bsd/ntp/dist/ntpq/ntpq-opts.h				new
external/bsd/ntp/dist/ntpq/ntpq-subs.c				new
external/bsd/ntp/dist/ntpq/ntpq.1ntpqman			new
external/bsd/ntp/dist/ntpq/ntpq.1ntpqmdoc			new
external/bsd/ntp/dist/ntpq/ntpq.c				new
external/bsd/ntp/dist/ntpq/ntpq.h				new
external/bsd/ntp/dist/ntpq/ntpq.html				new
external/bsd/ntp/dist/ntpq/ntpq.man.in				new
external/bsd/ntp/dist/ntpq/ntpq.mdoc.in				new
external/bsd/ntp/dist/ntpq/ntpq.texi				new
external/bsd/ntp/dist/ntpsnmpd/Makefile.am			new
external/bsd/ntp/dist/ntpsnmpd/Makefile.in			new
external/bsd/ntp/dist/ntpsnmpd/README				new
external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.menu		new
external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi		new
external/bsd/ntp/dist/ntpsnmpd/netsnmp_daemonize.c		new
external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.c		new
external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.h		new
external/bsd/ntp/dist/ntpsnmpd/ntp_snmp.h			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.def		new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman		new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc		new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.c			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.html			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.man.in			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in			new
external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.texi			new
external/bsd/ntp/dist/ntpsnmpd/ntpv4-mib.mib			new
external/bsd/ntp/dist/parseutil/Makefile.am			new
external/bsd/ntp/dist/parseutil/Makefile.in			new
external/bsd/ntp/dist/parseutil/README				new
external/bsd/ntp/dist/parseutil/dcfd.c				new
external/bsd/ntp/dist/parseutil/testdcf.c			new
external/bsd/ntp/dist/scripts/Makefile.am			new
external/bsd/ntp/dist/scripts/Makefile.in			new
external/bsd/ntp/dist/scripts/README				new
external/bsd/ntp/dist/scripts/invoke-plot_summary.menu		new
external/bsd/ntp/dist/scripts/invoke-plot_summary.texi		new
external/bsd/ntp/dist/scripts/invoke-summary.menu		new
external/bsd/ntp/dist/scripts/invoke-summary.texi		new
external/bsd/ntp/dist/scripts/ntpver.in				new
external/bsd/ntp/dist/scripts/plot_summary-opts			new
external/bsd/ntp/dist/scripts/plot_summary-opts.def		new
external/bsd/ntp/dist/scripts/plot_summary.1plot_summaryman	new
external/bsd/ntp/dist/scripts/plot_summary.1plot_summarymdoc	new
external/bsd/ntp/dist/scripts/plot_summary.html			new
external/bsd/ntp/dist/scripts/plot_summary.in			new
external/bsd/ntp/dist/scripts/plot_summary.man.in		new
external/bsd/ntp/dist/scripts/plot_summary.mdoc.in		new
external/bsd/ntp/dist/scripts/plot_summary.texi			new
external/bsd/ntp/dist/scripts/summary-opts			new
external/bsd/ntp/dist/scripts/summary-opts.def			new
external/bsd/ntp/dist/scripts/summary.1summaryman		new
external/bsd/ntp/dist/scripts/summary.1summarymdoc		new
external/bsd/ntp/dist/scripts/summary.html			new
external/bsd/ntp/dist/scripts/summary.in			new
external/bsd/ntp/dist/scripts/summary.man.in			new
external/bsd/ntp/dist/scripts/summary.mdoc.in			new
external/bsd/ntp/dist/scripts/summary.texi			new
external/bsd/ntp/dist/scripts/build/Makefile.am			new
external/bsd/ntp/dist/scripts/build/Makefile.in			new
external/bsd/ntp/dist/scripts/build/UpdatePoint			new
external/bsd/ntp/dist/scripts/build/VersionName			new
external/bsd/ntp/dist/scripts/build/check--help			new
external/bsd/ntp/dist/scripts/build/checkChangeLog		new
external/bsd/ntp/dist/scripts/build/checkHtmlFileDates		new
external/bsd/ntp/dist/scripts/build/fixautomakedepsmagic	new
external/bsd/ntp/dist/scripts/build/genCommitLog		new
external/bsd/ntp/dist/scripts/build/genver			new
external/bsd/ntp/dist/scripts/build/mkver.in			new
external/bsd/ntp/dist/scripts/build/updateBEDate		new
external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.am		new
external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.in		new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts.def new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmannew
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.html	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.in	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in	new
external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.texi	new
external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.menu new
external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi new
external/bsd/ntp/dist/scripts/deprecated/freq_adj.in		new
external/bsd/ntp/dist/scripts/deprecated/hpadjtime.sh		new
external/bsd/ntp/dist/scripts/deprecated/html2man.in		new
external/bsd/ntp/dist/scripts/deprecated/ntp-close		new
external/bsd/ntp/dist/scripts/deprecated/ntp-groper		new
external/bsd/ntp/dist/scripts/deprecated/ntp-restart		new
external/bsd/ntp/dist/scripts/deprecated/ntp-status		new
external/bsd/ntp/dist/scripts/lib/Makefile.am			new
external/bsd/ntp/dist/scripts/lib/Makefile.in			new
external/bsd/ntp/dist/scripts/lib/NTP/Util.pm			new
external/bsd/ntp/dist/scripts/monitoring/README			new
external/bsd/ntp/dist/scripts/monitoring/loopwatch.config.SAMPLE new
external/bsd/ntp/dist/scripts/monitoring/lr.pl			new
external/bsd/ntp/dist/scripts/monitoring/ntp.pl			new
external/bsd/ntp/dist/scripts/monitoring/ntploopstat		new
external/bsd/ntp/dist/scripts/monitoring/ntploopwatch		new
external/bsd/ntp/dist/scripts/monitoring/ntptrap		new
external/bsd/ntp/dist/scripts/monitoring/timelocal.pl		new
external/bsd/ntp/dist/scripts/ntp-wait/Makefile.am		new
external/bsd/ntp/dist/scripts/ntp-wait/Makefile.in		new
external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.menu	new
external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts.def	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc	new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.html		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.in		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.man.in		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in		new
external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.texi		new
external/bsd/ntp/dist/scripts/ntpsweep/Makefile.am		new
external/bsd/ntp/dist/scripts/ntpsweep/Makefile.in		new
external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.menu	new
external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts.def	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc	new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.html		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.in		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.man.in		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in		new
external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.texi		new
external/bsd/ntp/dist/scripts/ntptrace/Makefile.am		new
external/bsd/ntp/dist/scripts/ntptrace/Makefile.in		new
external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.menu	new
external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts.def	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc	new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.html		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.in		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.man.in		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in		new
external/bsd/ntp/dist/scripts/ntptrace/ntptrace.texi		new
external/bsd/ntp/dist/scripts/rc/README				new
external/bsd/ntp/dist/scripts/rc/ntpd				new
external/bsd/ntp/dist/scripts/rc/ntpwait			new
external/bsd/ntp/dist/scripts/rc/rc.d/TIMESYNC			new
external/bsd/ntp/dist/scripts/rc/rc.d/ntpd			new
external/bsd/ntp/dist/scripts/rc/rc.d/ntpwait			new
external/bsd/ntp/dist/scripts/stats/README			new
external/bsd/ntp/dist/scripts/stats/README.stats		new
external/bsd/ntp/dist/scripts/stats/README.timecodes		new
external/bsd/ntp/dist/scripts/stats/clock.awk			new
external/bsd/ntp/dist/scripts/stats/dupe.awk			new
external/bsd/ntp/dist/scripts/stats/ensemble.S			new
external/bsd/ntp/dist/scripts/stats/ensemble.awk		new
external/bsd/ntp/dist/scripts/stats/etf.S			new
external/bsd/ntp/dist/scripts/stats/etf.awk			new
external/bsd/ntp/dist/scripts/stats/itf.S			new
external/bsd/ntp/dist/scripts/stats/itf.awk			new
external/bsd/ntp/dist/scripts/stats/loop.S			new
external/bsd/ntp/dist/scripts/stats/loop.awk			new
external/bsd/ntp/dist/scripts/stats/loop_summary		new
external/bsd/ntp/dist/scripts/stats/peer.awk			new
external/bsd/ntp/dist/scripts/stats/psummary.awk		new
external/bsd/ntp/dist/scripts/stats/summary.sh			new
external/bsd/ntp/dist/scripts/stats/tdata.S			new
external/bsd/ntp/dist/scripts/stats/tdata.awk			new
external/bsd/ntp/dist/sntp/COPYRIGHT				new
external/bsd/ntp/dist/sntp/Makefile.am				new
external/bsd/ntp/dist/sntp/Makefile.in				new
external/bsd/ntp/dist/sntp/aclocal.m4				new
external/bsd/ntp/dist/sntp/bincheck.mf				new
external/bsd/ntp/dist/sntp/check-libntp.mf			new
external/bsd/ntp/dist/sntp/check-libopts.mf			new
external/bsd/ntp/dist/sntp/config.h.in				new
external/bsd/ntp/dist/sntp/configure				new
external/bsd/ntp/dist/sntp/configure.ac				new
external/bsd/ntp/dist/sntp/crypto.c				new
external/bsd/ntp/dist/sntp/crypto.h				new
external/bsd/ntp/dist/sntp/data_formats.h			new
external/bsd/ntp/dist/sntp/deps-ver				new
external/bsd/ntp/dist/sntp/depsver.mf				new
external/bsd/ntp/dist/sntp/evlog.c				new
external/bsd/ntp/dist/sntp/includes.mf				new
external/bsd/ntp/dist/sntp/install-sh				new
external/bsd/ntp/dist/sntp/invoke-sntp.menu			new
external/bsd/ntp/dist/sntp/invoke-sntp.texi			new
external/bsd/ntp/dist/sntp/kod_management.c			new
external/bsd/ntp/dist/sntp/kod_management.h			new
external/bsd/ntp/dist/sntp/log.c				new
external/bsd/ntp/dist/sntp/log.h				new
external/bsd/ntp/dist/sntp/main.c				new
external/bsd/ntp/dist/sntp/main.h				new
external/bsd/ntp/dist/sntp/networking.c				new
external/bsd/ntp/dist/sntp/networking.h				new
external/bsd/ntp/dist/sntp/scm-rev				new
external/bsd/ntp/dist/sntp/sntp-opts.c				new
external/bsd/ntp/dist/sntp/sntp-opts.def			new
external/bsd/ntp/dist/sntp/sntp-opts.h				new
external/bsd/ntp/dist/sntp/sntp.1sntpman			new
external/bsd/ntp/dist/sntp/sntp.1sntpmdoc			new
external/bsd/ntp/dist/sntp/sntp.c				new
external/bsd/ntp/dist/sntp/sntp.html				new
external/bsd/ntp/dist/sntp/sntp.man.in				new
external/bsd/ntp/dist/sntp/sntp.mdoc.in				new
external/bsd/ntp/dist/sntp/sntp.texi				new
external/bsd/ntp/dist/sntp/tests_main.cpp			new
external/bsd/ntp/dist/sntp/tests_main.h				new
external/bsd/ntp/dist/sntp/utilities.c				new
external/bsd/ntp/dist/sntp/utilities.h				new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/Mdoc.pm			new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/agman-cmd.tpl		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/agmdoc-cmd.tpl		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/cmd-doc.tlib		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc-synopsis.tlib	new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2man		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2texi		new
external/bsd/ntp/dist/sntp/ag-tpl/0-old/perlopt.tpl		new
external/bsd/ntp/dist/sntp/event2/event-config.h		new
external/bsd/ntp/dist/sntp/include/Makefile.am			new
external/bsd/ntp/dist/sntp/include/Makefile.in			new
external/bsd/ntp/dist/sntp/include/autogen-version.def		new
external/bsd/ntp/dist/sntp/include/copyright.def		new
external/bsd/ntp/dist/sntp/include/debug-opt.def		new
external/bsd/ntp/dist/sntp/include/homerc.def			new
external/bsd/ntp/dist/sntp/include/ntp.lic			new
external/bsd/ntp/dist/sntp/include/version.def			new
external/bsd/ntp/dist/sntp/include/version.texi			new
external/bsd/ntp/dist/sntp/libevent/ChangeLog			new
external/bsd/ntp/dist/sntp/libevent/ChangeLog-1.4		new
external/bsd/ntp/dist/sntp/libevent/ChangeLog-2.0		new
external/bsd/ntp/dist/sntp/libevent/Doxyfile			new
external/bsd/ntp/dist/sntp/libevent/LICENSE			new
external/bsd/ntp/dist/sntp/libevent/Makefile.am			new
external/bsd/ntp/dist/sntp/libevent/Makefile.in			new
external/bsd/ntp/dist/sntp/libevent/Makefile.nmake		new
external/bsd/ntp/dist/sntp/libevent/README			new
external/bsd/ntp/dist/sntp/libevent/aclocal.m4			new
external/bsd/ntp/dist/sntp/libevent/arc4random.c		new
external/bsd/ntp/dist/sntp/libevent/autogen.sh			new
external/bsd/ntp/dist/sntp/libevent/buffer.c			new
external/bsd/ntp/dist/sntp/libevent/buffer_iocp.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent-internal.h	new
external/bsd/ntp/dist/sntp/libevent/bufferevent.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent_async.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent_filter.c	new
external/bsd/ntp/dist/sntp/libevent/bufferevent_openssl.c	new
external/bsd/ntp/dist/sntp/libevent/bufferevent_pair.c		new
external/bsd/ntp/dist/sntp/libevent/bufferevent_ratelim.c	new
external/bsd/ntp/dist/sntp/libevent/bufferevent_sock.c		new
external/bsd/ntp/dist/sntp/libevent/changelist-internal.h	new
external/bsd/ntp/dist/sntp/libevent/config.h.in			new
external/bsd/ntp/dist/sntp/libevent/configure			new
external/bsd/ntp/dist/sntp/libevent/configure.ac		new
external/bsd/ntp/dist/sntp/libevent/defer-internal.h		new
external/bsd/ntp/dist/sntp/libevent/devpoll.c			new
external/bsd/ntp/dist/sntp/libevent/epoll.c			new
external/bsd/ntp/dist/sntp/libevent/epoll_sub.c			new
external/bsd/ntp/dist/sntp/libevent/epolltable-internal.h	new
external/bsd/ntp/dist/sntp/libevent/evbuffer-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evconfig-private.h		new
external/bsd/ntp/dist/sntp/libevent/evconfig-private.h.in	new
external/bsd/ntp/dist/sntp/libevent/evdns.c			new
external/bsd/ntp/dist/sntp/libevent/event-internal.h		new
external/bsd/ntp/dist/sntp/libevent/event.c			new
external/bsd/ntp/dist/sntp/libevent/event_iocp.c		new
external/bsd/ntp/dist/sntp/libevent/event_rpcgen.py		new
external/bsd/ntp/dist/sntp/libevent/event_tagging.c		new
external/bsd/ntp/dist/sntp/libevent/evmap-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evmap.c			new
external/bsd/ntp/dist/sntp/libevent/evport.c			new
external/bsd/ntp/dist/sntp/libevent/evrpc-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evrpc.c			new
external/bsd/ntp/dist/sntp/libevent/evsignal-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evthread-internal.h		new
external/bsd/ntp/dist/sntp/libevent/evthread.c			new
external/bsd/ntp/dist/sntp/libevent/evthread_pthread.c		new
external/bsd/ntp/dist/sntp/libevent/evthread_win32.c		new
external/bsd/ntp/dist/sntp/libevent/evutil.c			new
external/bsd/ntp/dist/sntp/libevent/evutil_rand.c		new
external/bsd/ntp/dist/sntp/libevent/evutil_time.c		new
external/bsd/ntp/dist/sntp/libevent/ht-internal.h		new
external/bsd/ntp/dist/sntp/libevent/http-internal.h		new
external/bsd/ntp/dist/sntp/libevent/http.c			new
external/bsd/ntp/dist/sntp/libevent/iocp-internal.h		new
external/bsd/ntp/dist/sntp/libevent/ipv6-internal.h		new
external/bsd/ntp/dist/sntp/libevent/kqueue-internal.h		new
external/bsd/ntp/dist/sntp/libevent/kqueue.c			new
external/bsd/ntp/dist/sntp/libevent/libevent.pc.in		new
external/bsd/ntp/dist/sntp/libevent/libevent_openssl.pc.in	new
external/bsd/ntp/dist/sntp/libevent/libevent_pthreads.pc.in	new
external/bsd/ntp/dist/sntp/libevent/listener.c			new
external/bsd/ntp/dist/sntp/libevent/log-internal.h		new
external/bsd/ntp/dist/sntp/libevent/log.c			new
external/bsd/ntp/dist/sntp/libevent/make-event-config.sed	new
external/bsd/ntp/dist/sntp/libevent/minheap-internal.h		new
external/bsd/ntp/dist/sntp/libevent/mm-internal.h		new
external/bsd/ntp/dist/sntp/libevent/poll.c			new
external/bsd/ntp/dist/sntp/libevent/ratelim-internal.h		new
external/bsd/ntp/dist/sntp/libevent/select.c			new
external/bsd/ntp/dist/sntp/libevent/signal.c			new
external/bsd/ntp/dist/sntp/libevent/strlcpy-internal.h		new
external/bsd/ntp/dist/sntp/libevent/strlcpy.c			new
external/bsd/ntp/dist/sntp/libevent/time-internal.h		new
external/bsd/ntp/dist/sntp/libevent/util-internal.h		new
external/bsd/ntp/dist/sntp/libevent/whatsnew-2.0.txt		new
external/bsd/ntp/dist/sntp/libevent/whatsnew-2.1.txt		new
external/bsd/ntp/dist/sntp/libevent/win32select.c		new
external/bsd/ntp/dist/sntp/libevent/WIN32-Code/tree.h		new
external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/evconfig-private.h new
external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/event2/event-config.h new
external/bsd/ntp/dist/sntp/libevent/build-aux/compile		new
external/bsd/ntp/dist/sntp/libevent/build-aux/config.guess	new
external/bsd/ntp/dist/sntp/libevent/build-aux/config.sub	new
external/bsd/ntp/dist/sntp/libevent/build-aux/depcomp		new
external/bsd/ntp/dist/sntp/libevent/build-aux/install-sh	new
external/bsd/ntp/dist/sntp/libevent/build-aux/ltmain.sh		new
external/bsd/ntp/dist/sntp/libevent/build-aux/missing		new
external/bsd/ntp/dist/sntp/libevent/build-aux/ylwrap		new
external/bsd/ntp/dist/sntp/libevent/compat/sys/queue.h		new
external/bsd/ntp/dist/sntp/libevent/include/evdns.h		new
external/bsd/ntp/dist/sntp/libevent/include/event.h		new
external/bsd/ntp/dist/sntp/libevent/include/evhttp.h		new
external/bsd/ntp/dist/sntp/libevent/include/evrpc.h		new
external/bsd/ntp/dist/sntp/libevent/include/evutil.h		new
external/bsd/ntp/dist/sntp/libevent/include/include.am		new
external/bsd/ntp/dist/sntp/libevent/include/event2/buffer.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/buffer_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_ssl.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/dns.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/dns_compat.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/dns_struct.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/event.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/event_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/event_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/http.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/http_compat.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/http_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/keyvalq_struct.h new
external/bsd/ntp/dist/sntp/libevent/include/event2/listener.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/rpc.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_compat.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_struct.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/tag.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/tag_compat.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/thread.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/util.h	new
external/bsd/ntp/dist/sntp/libevent/include/event2/visibility.h	new
external/bsd/ntp/dist/sntp/libevent/m4/ac_backport_259_ssizet.m4 new
external/bsd/ntp/dist/sntp/libevent/m4/libevent_openssl.m4	new
external/bsd/ntp/dist/sntp/libevent/m4/libtool.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ltoptions.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ltsugar.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ltversion.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/lt~obsolete.m4		new
external/bsd/ntp/dist/sntp/libevent/m4/ntp_pkg_config.m4	new
external/bsd/ntp/dist/sntp/libevent/m4/openldap-thread-check.m4	new
external/bsd/ntp/dist/sntp/libevent/m4/openldap.m4		new
external/bsd/ntp/dist/sntp/libevent/sample/dns-example.c	new
external/bsd/ntp/dist/sntp/libevent/sample/event-read-fifo.c	new
external/bsd/ntp/dist/sntp/libevent/sample/hello-world.c	new
external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.c		new
external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.h		new
external/bsd/ntp/dist/sntp/libevent/sample/http-server.c	new
external/bsd/ntp/dist/sntp/libevent/sample/https-client.c	new
external/bsd/ntp/dist/sntp/libevent/sample/include.am		new
external/bsd/ntp/dist/sntp/libevent/sample/le-proxy.c		new
external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.cnew
external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.hnew
external/bsd/ntp/dist/sntp/libevent/sample/signal-test.c	new
external/bsd/ntp/dist/sntp/libevent/sample/time-test.c		new
external/bsd/ntp/dist/sntp/libevent/test/Makefile.nmake		new
external/bsd/ntp/dist/sntp/libevent/test/bench.c		new
external/bsd/ntp/dist/sntp/libevent/test/bench_cascade.c	new
external/bsd/ntp/dist/sntp/libevent/test/bench_http.c		new
external/bsd/ntp/dist/sntp/libevent/test/bench_httpclient.c	new
external/bsd/ntp/dist/sntp/libevent/test/check-dumpevents.py	new
external/bsd/ntp/dist/sntp/libevent/test/include.am		new
external/bsd/ntp/dist/sntp/libevent/test/regress.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress.gen.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress.gen.h		new
external/bsd/ntp/dist/sntp/libevent/test/regress.h		new
external/bsd/ntp/dist/sntp/libevent/test/regress.rpc		new
external/bsd/ntp/dist/sntp/libevent/test/regress_buffer.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_bufferevent.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_dns.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_et.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_finalize.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_http.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_iocp.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_listener.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_main.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_minheap.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_rpc.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_ssl.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.h	new
external/bsd/ntp/dist/sntp/libevent/test/regress_thread.c	new
external/bsd/ntp/dist/sntp/libevent/test/regress_thread.h	new
external/bsd/ntp/dist/sntp/libevent/test/regress_util.c		new
external/bsd/ntp/dist/sntp/libevent/test/regress_zlib.c		new
external/bsd/ntp/dist/sntp/libevent/test/rpcgen_wrapper.sh	new
external/bsd/ntp/dist/sntp/libevent/test/test-changelist.c	new
external/bsd/ntp/dist/sntp/libevent/test/test-closed.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-dumpevents.c	new
external/bsd/ntp/dist/sntp/libevent/test/test-eof.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-fdleak.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-init.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-time.c		new
external/bsd/ntp/dist/sntp/libevent/test/test-weof.c		new
external/bsd/ntp/dist/sntp/libevent/test/test.sh		new
external/bsd/ntp/dist/sntp/libevent/test/tinytest.c		new
external/bsd/ntp/dist/sntp/libevent/test/tinytest.h		new
external/bsd/ntp/dist/sntp/libevent/test/tinytest_local.h	new
external/bsd/ntp/dist/sntp/libevent/test/tinytest_macros.h	new
external/bsd/ntp/dist/sntp/libopts/COPYING.gplv3		new
external/bsd/ntp/dist/sntp/libopts/COPYING.lgplv3		new
external/bsd/ntp/dist/sntp/libopts/COPYING.mbsd			new
external/bsd/ntp/dist/sntp/libopts/MakeDefs.inc			new
external/bsd/ntp/dist/sntp/libopts/Makefile.am			new
external/bsd/ntp/dist/sntp/libopts/Makefile.in			new
external/bsd/ntp/dist/sntp/libopts/README			new
external/bsd/ntp/dist/sntp/libopts/ag-char-map.h		new
external/bsd/ntp/dist/sntp/libopts/alias.c			new
external/bsd/ntp/dist/sntp/libopts/ao-strs.c			new
external/bsd/ntp/dist/sntp/libopts/ao-strs.h			new
external/bsd/ntp/dist/sntp/libopts/autoopts.c			new
external/bsd/ntp/dist/sntp/libopts/autoopts.h			new
external/bsd/ntp/dist/sntp/libopts/boolean.c			new
external/bsd/ntp/dist/sntp/libopts/check.c			new
external/bsd/ntp/dist/sntp/libopts/configfile.c			new
external/bsd/ntp/dist/sntp/libopts/cook.c			new
external/bsd/ntp/dist/sntp/libopts/enum.c			new
external/bsd/ntp/dist/sntp/libopts/env.c			new
external/bsd/ntp/dist/sntp/libopts/file.c			new
external/bsd/ntp/dist/sntp/libopts/find.c			new
external/bsd/ntp/dist/sntp/libopts/genshell.c			new
external/bsd/ntp/dist/sntp/libopts/genshell.h			new
external/bsd/ntp/dist/sntp/libopts/gettext.h			new
external/bsd/ntp/dist/sntp/libopts/init.c			new
external/bsd/ntp/dist/sntp/libopts/intprops.h			new
external/bsd/ntp/dist/sntp/libopts/libopts.c			new
external/bsd/ntp/dist/sntp/libopts/load.c			new
external/bsd/ntp/dist/sntp/libopts/makeshell.c			new
external/bsd/ntp/dist/sntp/libopts/nested.c			new
external/bsd/ntp/dist/sntp/libopts/numeric.c			new
external/bsd/ntp/dist/sntp/libopts/option-value-type.c		new
external/bsd/ntp/dist/sntp/libopts/option-value-type.h		new
external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.c	new
external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.h	new
external/bsd/ntp/dist/sntp/libopts/parse-duration.c		new
external/bsd/ntp/dist/sntp/libopts/parse-duration.h		new
external/bsd/ntp/dist/sntp/libopts/pgusage.c			new
external/bsd/ntp/dist/sntp/libopts/proto.h			new
external/bsd/ntp/dist/sntp/libopts/putshell.c			new
external/bsd/ntp/dist/sntp/libopts/reset.c			new
external/bsd/ntp/dist/sntp/libopts/restore.c			new
external/bsd/ntp/dist/sntp/libopts/save.c			new
external/bsd/ntp/dist/sntp/libopts/sort.c			new
external/bsd/ntp/dist/sntp/libopts/stack.c			new
external/bsd/ntp/dist/sntp/libopts/stdnoreturn.in.h		new
external/bsd/ntp/dist/sntp/libopts/streqvcmp.c			new
external/bsd/ntp/dist/sntp/libopts/text_mmap.c			new
external/bsd/ntp/dist/sntp/libopts/time.c			new
external/bsd/ntp/dist/sntp/libopts/tokenize.c			new
external/bsd/ntp/dist/sntp/libopts/usage.c			new
external/bsd/ntp/dist/sntp/libopts/version.c			new
external/bsd/ntp/dist/sntp/libopts/autoopts/options.h		new
external/bsd/ntp/dist/sntp/libopts/autoopts/project.h		new
external/bsd/ntp/dist/sntp/libopts/autoopts/usage-txt.h		new
external/bsd/ntp/dist/sntp/libopts/compat/_Noreturn.h		new
external/bsd/ntp/dist/sntp/libopts/compat/compat.h		new
external/bsd/ntp/dist/sntp/libopts/compat/pathfind.c		new
external/bsd/ntp/dist/sntp/libopts/compat/snprintf.c		new
external/bsd/ntp/dist/sntp/libopts/compat/strchr.c		new
external/bsd/ntp/dist/sntp/libopts/compat/strdup.c		new
external/bsd/ntp/dist/sntp/libopts/compat/windows-config.h	new
external/bsd/ntp/dist/sntp/libopts/m4/libopts.m4		new
external/bsd/ntp/dist/sntp/libopts/m4/liboptschk.m4		new
external/bsd/ntp/dist/sntp/libopts/m4/stdnoreturn.m4		new
external/bsd/ntp/dist/sntp/loc/README				new
external/bsd/ntp/dist/sntp/loc/darwin				new
external/bsd/ntp/dist/sntp/loc/debian				new
external/bsd/ntp/dist/sntp/loc/freebsd				new
external/bsd/ntp/dist/sntp/loc/legacy				new
external/bsd/ntp/dist/sntp/loc/netbsd				new
external/bsd/ntp/dist/sntp/loc/redhat				new
external/bsd/ntp/dist/sntp/loc/solaris				new
external/bsd/ntp/dist/sntp/m4/define_dir.m4			new
external/bsd/ntp/dist/sntp/m4/hms_search_lib.m4			new
external/bsd/ntp/dist/sntp/m4/libtool.m4			new
external/bsd/ntp/dist/sntp/m4/ltoptions.m4			new
external/bsd/ntp/dist/sntp/m4/ltsugar.m4			new
external/bsd/ntp/dist/sntp/m4/ltversion.m4			new
external/bsd/ntp/dist/sntp/m4/lt~obsolete.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_cacheversion.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_compiler.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_crosscompile.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_crypto_rand.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_debug.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_dir_sep.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_facilitynames.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_googletest.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_ipv6.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_lib_m.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_libevent.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_libntp.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_lineeditlibs.m4		new
external/bsd/ntp/dist/sntp/m4/ntp_locinfo.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_openssl.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_pkg_config.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_prog_cc.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_rlimit.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_sntp.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_sysexits.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_ver_suffix.m4			new
external/bsd/ntp/dist/sntp/m4/ntp_vpathhack.m4			new
external/bsd/ntp/dist/sntp/m4/os_cflags.m4			new
external/bsd/ntp/dist/sntp/m4/snprintf.m4			new
external/bsd/ntp/dist/sntp/m4/version.m4			new
external/bsd/ntp/dist/sntp/scripts/Makefile.am			new
external/bsd/ntp/dist/sntp/scripts/Makefile.in			new
external/bsd/ntp/dist/sntp/scripts/cvo.sh			new
external/bsd/ntp/dist/sntp/scripts/genLocInfo			new
external/bsd/ntp/dist/sntp/scripts/mansec2subst.sed		new
external/bsd/ntp/dist/sntp/tests/Makefile.am			new
external/bsd/ntp/dist/sntp/tests/Makefile.in			new
external/bsd/ntp/dist/sntp/tests/crypto.cpp			new
external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h		new
external/bsd/ntp/dist/sntp/tests/keyFile.cpp			new
external/bsd/ntp/dist/sntp/tests/kodDatabase.cpp		new
external/bsd/ntp/dist/sntp/tests/kodFile.cpp			new
external/bsd/ntp/dist/sntp/tests/networking.cpp			new
external/bsd/ntp/dist/sntp/tests/packetHandling.cpp		new
external/bsd/ntp/dist/sntp/tests/packetProcessing.cpp		new
external/bsd/ntp/dist/sntp/tests/sntptest.h			new
external/bsd/ntp/dist/sntp/tests/tests-runner			new
external/bsd/ntp/dist/sntp/tests/utilities.cpp			new
external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-bin	new
external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-dec	new
external/bsd/ntp/dist/sntp/tests/data/debug-input-pkt		new
external/bsd/ntp/dist/sntp/tests/data/key-test-ascii		new
external/bsd/ntp/dist/sntp/tests/data/key-test-comments		new
external/bsd/ntp/dist/sntp/tests/data/key-test-empty		new
external/bsd/ntp/dist/sntp/tests/data/key-test-hex		new
external/bsd/ntp/dist/sntp/tests/data/key-test-invalid-hex	new
external/bsd/ntp/dist/sntp/tests/data/kod-expected-multiple	new
external/bsd/ntp/dist/sntp/tests/data/kod-expected-single	new
external/bsd/ntp/dist/sntp/tests/data/kod-test-blanks		new
external/bsd/ntp/dist/sntp/tests/data/kod-test-correct		new
external/bsd/ntp/dist/sntp/tests/data/kod-test-empty		new
external/bsd/ntp/dist/tests/Makefile.am				new
external/bsd/ntp/dist/tests/Makefile.in				new
external/bsd/ntp/dist/tests/libntp/Makefile.am			new
external/bsd/ntp/dist/tests/libntp/Makefile.in			new
external/bsd/ntp/dist/tests/libntp/a_md5encrypt.cpp		new
external/bsd/ntp/dist/tests/libntp/atoint.cpp			new
external/bsd/ntp/dist/tests/libntp/atouint.cpp			new
external/bsd/ntp/dist/tests/libntp/authkeys.cpp			new
external/bsd/ntp/dist/tests/libntp/buftvtots.cpp		new
external/bsd/ntp/dist/tests/libntp/calendar.cpp			new
external/bsd/ntp/dist/tests/libntp/caljulian.cpp		new
external/bsd/ntp/dist/tests/libntp/caltontp.cpp			new
external/bsd/ntp/dist/tests/libntp/calyearstart.cpp		new
external/bsd/ntp/dist/tests/libntp/clocktime.cpp		new
external/bsd/ntp/dist/tests/libntp/decodenetnum.cpp		new
external/bsd/ntp/dist/tests/libntp/hextoint.cpp			new
external/bsd/ntp/dist/tests/libntp/hextolfp.cpp			new
external/bsd/ntp/dist/tests/libntp/humandate.cpp		new
external/bsd/ntp/dist/tests/libntp/lfpfunc.cpp			new
external/bsd/ntp/dist/tests/libntp/lfptest.h			new
external/bsd/ntp/dist/tests/libntp/lfptostr.cpp			new
external/bsd/ntp/dist/tests/libntp/libntptest.cpp		new
external/bsd/ntp/dist/tests/libntp/libntptest.h			new
external/bsd/ntp/dist/tests/libntp/modetoa.cpp			new
external/bsd/ntp/dist/tests/libntp/msyslog.cpp			new
external/bsd/ntp/dist/tests/libntp/netof.cpp			new
external/bsd/ntp/dist/tests/libntp/numtoa.cpp			new
external/bsd/ntp/dist/tests/libntp/numtohost.cpp		new
external/bsd/ntp/dist/tests/libntp/octtoint.cpp			new
external/bsd/ntp/dist/tests/libntp/prettydate.cpp		new
external/bsd/ntp/dist/tests/libntp/recvbuff.cpp			new
external/bsd/ntp/dist/tests/libntp/refnumtoa.cpp		new
external/bsd/ntp/dist/tests/libntp/sfptostr.cpp			new
external/bsd/ntp/dist/tests/libntp/sockaddrtest.h		new
external/bsd/ntp/dist/tests/libntp/socktoa.cpp			new
external/bsd/ntp/dist/tests/libntp/ssl_init.cpp			new
external/bsd/ntp/dist/tests/libntp/statestr.cpp			new
external/bsd/ntp/dist/tests/libntp/strtolfp.cpp			new
external/bsd/ntp/dist/tests/libntp/timespecops.cpp		new
external/bsd/ntp/dist/tests/libntp/timestructs.cpp		new
external/bsd/ntp/dist/tests/libntp/timestructs.h		new
external/bsd/ntp/dist/tests/libntp/timevalops.cpp		new
external/bsd/ntp/dist/tests/libntp/tstotv.cpp			new
external/bsd/ntp/dist/tests/libntp/tvtots.cpp			new
external/bsd/ntp/dist/tests/libntp/uglydate.cpp			new
external/bsd/ntp/dist/tests/libntp/vi64ops.cpp			new
external/bsd/ntp/dist/tests/libntp/ymd2yd.cpp			new
external/bsd/ntp/dist/tests/ntpd/Makefile.am			new
external/bsd/ntp/dist/tests/ntpd/Makefile.in			new
external/bsd/ntp/dist/tests/ntpd/leapsec.cpp			new
external/bsd/ntp/dist/tests/ntpd/ntpdtest.cpp			new
external/bsd/ntp/dist/tests/ntpd/ntpdtest.h			new
external/bsd/ntp/dist/util/Makefile.am				new
external/bsd/ntp/dist/util/Makefile.in				new
external/bsd/ntp/dist/util/README				new
external/bsd/ntp/dist/util/audio-pcm.c				new
external/bsd/ntp/dist/util/byteorder.c				new
external/bsd/ntp/dist/util/hist.c				new
external/bsd/ntp/dist/util/invoke-ntp-keygen.menu		new
external/bsd/ntp/dist/util/invoke-ntp-keygen.texi		new
external/bsd/ntp/dist/util/jitter.c				new
external/bsd/ntp/dist/util/jitter.h				new
external/bsd/ntp/dist/util/kern.c				new
external/bsd/ntp/dist/util/longsize.c				new
external/bsd/ntp/dist/util/ntp-keygen-opts.c			new
external/bsd/ntp/dist/util/ntp-keygen-opts.def			new
external/bsd/ntp/dist/util/ntp-keygen-opts.h			new
external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenman		new
external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc		new
external/bsd/ntp/dist/util/ntp-keygen.c				new
external/bsd/ntp/dist/util/ntp-keygen.html			new
external/bsd/ntp/dist/util/ntp-keygen.man.in			new
external/bsd/ntp/dist/util/ntp-keygen.mdoc.in			new
external/bsd/ntp/dist/util/ntp-keygen.texi			new
external/bsd/ntp/dist/util/ntptime.c				new
external/bsd/ntp/dist/util/pps-api.c				new
external/bsd/ntp/dist/util/precision.c				new
external/bsd/ntp/dist/util/sht.c				new
external/bsd/ntp/dist/util/testrs6000.c				new
external/bsd/ntp/dist/util/tg.c					new
external/bsd/ntp/dist/util/tg2.c				new
external/bsd/ntp/dist/util/tickadj.c				new
external/bsd/ntp/dist/util/timetrim.c				new
external/bsd/ntp/html/Makefile					new
external/bsd/ntp/include/config.h				new
external/bsd/ntp/lib/Makefile					new
external/bsd/ntp/lib/Makefile.inc				new
external/bsd/ntp/lib/libiscntp/Makefile				new
external/bsd/ntp/lib/libntp/Makefile				new
external/bsd/ntp/lib/libopts/Makefile				new
external/bsd/ntp/lib/libparse/Makefile				new
external/bsd/ntp/scripts/mkver					new
usr.sbin/Makefile						patch
usr.sbin/ntp/Makefile						delete
usr.sbin/ntp/Makefile.inc					delete
usr.sbin/ntp/importdate						delete
usr.sbin/ntp/html/Makefile					delete
usr.sbin/ntp/include/config.h					delete
usr.sbin/ntp/libisc/Makefile					delete
usr.sbin/ntp/libntp/Makefile					delete
usr.sbin/ntp/libopts/Makefile					delete
usr.sbin/ntp/libparse/Makefile					delete
usr.sbin/ntp/ntp-keygen/Makefile				delete
usr.sbin/ntp/ntp-keygen/ntp-keygen.8				delete
usr.sbin/ntp/ntpd/Makefile					delete
usr.sbin/ntp/ntpd/ntpd.8					delete
usr.sbin/ntp/ntpdate/Makefile					delete
usr.sbin/ntp/ntpdate/ntpdate.8					delete
usr.sbin/ntp/ntpdc/Makefile					delete
usr.sbin/ntp/ntpdc/ntpdc.8					delete
usr.sbin/ntp/ntpq/Makefile					delete
usr.sbin/ntp/ntpq/ntpq.8					delete
usr.sbin/ntp/ntptime/Makefile					delete
usr.sbin/ntp/ntptime/ntptime.8					delete
usr.sbin/ntp/ntptrace/Makefile					delete
usr.sbin/ntp/ntptrace/ntptrace.8				delete
usr.sbin/ntp/ntptrace/ntptrace.awk				delete
usr.sbin/ntp/scripts/mkver					delete
usr.sbin/sntp/Makefile						delete
usr.sbin/sntp/sntp.1						delete

	Update ntp to 4.2.8. This pullup syncs with -current as of
	2014/01/06.
	CVE-2014-9293,  CVE-2014-9294,  CVE-2014-9295, and CVE-2014-9296.
@
text
@a0 1667
#!/usr/bin/perl -w
;# --*-perl-*--
;#
;# /src/NTP/ntp4-dev/scripts/monitoring/ntploopwatch,v 4.7 2004/11/14 16:11:05 kardel RELEASE_20050508_A
;#
;# process loop filter statistics file and either
;#     - show statistics periodically using gnuplot
;#     - or print a single plot
;#
;#  Copyright (c) 1992-1998 
;#  Rainer Pruy, Friedrich-Alexander Universität Erlangen-Nürnberg
;#
;#
;#############################################################
$0 =~ s!^.*/([^/]+)$!$1!;
$F = ' ' x length($0);
$|=1;

$ENV{'SHELL'} = '/bin/sh'; # use bourne shell

undef($config);
undef($workdir);
undef($PrintIt);
undef($samples);
undef($StartTime);
undef($EndTime);
($a,$b) if 0;			# keep -w happy
$usage = <<"E-O-P";
usage:
  to watch statistics permanently:
     $0 [-v[<level>]] [-c <config-file>] [-d <working-dir>]
     $F [-h <hostname>]

  to get a single print out specify also
     $F -P[<printer>] [-s<samples>]
     $F               [-S <start-time>] [-E <end-time>]
     $F               [-Y <MaxOffs>] [-y <MinOffs>]

If You like long option names, You can use:
    -help
    -c    +config
    -d    +directory
    -h    +host
    -v    +verbose[=<level>]
    -P    +printer[=<printer>]
    -s    +samples[=<samples>]
    -S    +starttime
    -E    +endtime
    -Y    +maxy
    -y    +miny

If <printer> contains a '/' (slash character) output is directed to 
a file of this name instead of delivered to a printer.
E-O-P

;# add directory to look for lr.pl and timelocal.pl (in front of current list)
unshift(@@INC,".");

require "lr.pl";	# linear regresion routines

$MJD_1970 = 40587;		# from ntp.h (V3)
$RecordSize = 48;		# usually a line fits into 42 bytes
$MinClip = 1;		# clip Y scales with greater range than this

;# largest extension of Y scale from mean value, factor for standart deviation
$FuzzLow = 2.2;			# for side closer to zero
$FuzzBig = 1.8;			# for side farther from zero

require "ctime.pl";
require "timelocal.pl";
;# early distributions of ctime.pl had a bug
$ENV{'TZ'} = 'MET' unless defined $ENV{'TZ'} || $[ > 4.010;
if (defined(@@ctime'MoY))
{
  *Month=*ctime'MoY;
  *Day=*ctime'DoW;
} 					# ' re-sync emacs fontification
else
{
  @@Month = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
  @@Day   = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
}
print @@ctime'DoW if 0; # ' re-sync emacs fontification

;# max number of days per month
@@MaxNumDaysPerMonth = (31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

;# config settable parameters
$delay = 60;
$srcprefix = "./var\@@\$STATHOST/loopstats.";
$showoffs = 1;
$showfreq = 1;
$showcmpl = 0;
$showoreg = 0;
$showfreg = 0;
undef($timebase);
undef($freqbase);
undef($cmplscale);
undef($MaxY);
undef($MinY);
$deltaT  = 512; # indicate sample data gaps greater than $deltaT seconds
$verbose = 1;

while($_ = shift(@@ARGV))
{
    (/^[+-]help$/) && die($usage);
    
    (/^-c$/ || /^\+config$/) &&
	(@@ARGV || die($usage), $config = shift(@@ARGV), next);

    (/^-d$/ || /^\+directory$/) &&
	(@@ARGV || die($usage), $workdir = shift(@@ARGV), next);

    (/^-h$/ || /^\+host$/) &&
	(@@ARGV || die($usage), $STATHOST = shift, next);
    
    (/^-v(\d*)$/ || /^\+verbose=?(\d*)$/) &&
	($verbose=($1 eq "") ? 1 : $1, next);

    (/^-P(\S*)$/ || /^\+[Pp]rinter=?(\S*)$/) &&
	($PrintIt = $1, $verbose==1 && ($verbose = 0), next);

    (/^-s(\d*)$/ || /^\+samples=?(\d*)$/) &&
	(($samples = ($1 eq "") ? (shift || die($usage)): $1), next);
    
    (/^-S$/ || /^\+[Ss]tart[Tt]ime$/) &&
	(@@ARGV || die($usage), $StartTime=&date_time_spec2seconds(shift),next);

    (/^-E$/ || /^\+[Ee]nd[Tt]ime$/) &&
	(@@ARGV || die($usage), $EndTime = &date_time_spec2seconds(shift),next);
    
    (/^-Y$/ || /^\+[Mm]ax[Yy]$/) &&
	(@@ARGV || die($usage), $MaxY = shift, next);
    
    (/^-y$/ || /^\+[Mm]in[Yy]$/) &&
	(@@ARGV || die($usage), $MinY = shift, next);
    
    die("$0: unexpected argument \"$_\"\n$usage");
}

if (defined($workdir))
{
  chdir($workdir) ||
      die("$0: failed to change working dir to \"$workdir\": $!\n");
}

$PrintIt = "ps" if defined($PrintIt) && $PrintIt eq "";

if (!defined($PrintIt))
{
    defined($samples) &&
	print "WARNING: your samples value may be shadowed by config file settings\n";
    defined($StartTime) &&
	print "WARNING: your StartTime value may be shadowed by config file settings\n";
    defined($EndTime) &&
	print "WARNING: your EndTime value may be shadowed by config file settings\n";
    defined($MaxY) &&
	print "WARNING: your MaxY value may be shadowed by config file settings\n";
    defined($MinY) &&
	print "WARNING: your MinY value may be shadowed by config file settings\n";
	
    ;# check operating environment
    ;# 
    ;# gnuplot usually has X support
    ;# I vaguely remember there was one with sunview support
    ;#
    ;# If Your plotcmd can display graphics using some other method
    ;# (Tek window,..) fix the following test
    ;# (or may be, just disable it)
    ;#
    !(defined($ENV{'DISPLAY'}) || defined($ENV{'WINDOW_PARENT'})) &&
	die("Need window system to monitor statistics\n");
}

;# configuration file
$config = "loopwatch.config" unless defined($config);
($STATHOST = $config) =~ s!.*loopwatch\.config.([^/\.]*)$!$1!
    unless defined($STATHOST);
($STATTAG = $STATHOST) =~ s/^([^\.\*\s]+)\..*$/$1/;

$srcprefix =~ s/\$STATHOST/$STATHOST/g;

;# plot command 
@@plotcmd=("gnuplot",
	  '-title', "Ntp loop filter statistics $STATHOST",
	  '-name', "NtpLoopWatch_$STATTAG");
$tmpfile = "/tmp/ntpstat.$$";

;# other variables
$doplot = "";	# assembled command for @@plotcmd to display plot
undef($laststat);

;# plot value ranges
undef($mintime);
undef($maxtime);
undef($minoffs);
undef($maxoffs);
undef($minfreq);
undef($maxfreq);
undef($mincmpl);
undef($maxcmpl);
undef($miny);
undef($maxy);

;# stop operation if plot command dies
sub sigchld
{
  local($pid) = wait;
  unlink($tmpfile);
  warn(sprintf("%s: %s died: exit status: %d signal %d\n",
	      $0,
	       (defined($Plotpid) && $Plotpid == $pid)
	       ? "plotcmd" : "unknown child $pid",
	       $?>>8,$? & 0xff)) if $?;
  exit(1) if $? && defined($Plotpid) && $pid == $Plotpid;
}
&sigchld if 0;
$SIG{'CHLD'} = "sigchld";
$SIG{'CLD'} = "sigchld";

sub abort
{
  unlink($tmpfile);
  defined($Plotpid) && kill('TERM',$Plotpid);
  die("$0: received signal SIG$_[$[] - exiting\n");
}
&abort if 0;	# make -w happy - &abort IS used
$SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = $SIG{'PIPE'} = "abort";

;#
sub abs
{
  ($_[$[] < 0) ? -($_[$[]) : $_[$[];
}

sub boolval
{
  local($v) = ($_[$[]);

  return 1 if ($v eq 'yes') || ($v eq 'y');
  return 1 if ($v =~ /^[0-9]*$/) && ($v != 0);
  return 0;
}

;#####################
;# start of real work 

print "starting plot command (" . join(" ",@@plotcmd) . ")\n" if $verbose > 1;

$Plotpid = open(PLOT,"|-");
select((select(PLOT),$|=1)[$[]);	# make PLOT line bufferd

defined($Plotpid) ||
    die("$0: failed to start plot command: $!\n");

unless ($Plotpid)
{
   ;# child == plot command
   close(STDOUT);
   open(STDOUT,">&STDERR") ||
       die("$0: failed to redirect STDOUT of plot command: $!\n");
   
   print STDOUT "plot command running as $$\n";

   exec @@plotcmd;
   die("$0: failed to exec (@@plotcmd): $!\n");
   exit(1); # in case ...
}

sub read_config
{
  local($at) = (stat($config))[$[+9];
  local($_,$c,$v);

  (undef($laststat),(print("stat $config failed: $!\n")),return) if ! defined($at);
  return if (defined($laststat) && ($laststat == $at));
  $laststat = $at;

  print "reading configuration from \"$config\"\n" if $verbose;

  open(CF,"<$config") ||
      (warn("$0: failed to read \"$config\" - using old settings ($!)\n"),
       return);
  while(<CF>)
  {
    chop;
    s/^([^\#]*[^\#\s]?)\s*\#.*$//;
    next if /^\s*$/;

    s/^\s*([^=\s]*)\s*=\s*(.*\S)\s*$/$1=$2/;

    ($c,$v) = split(/=/,$_,2);
    print "processing \"$c=$v\"\n" if $verbose > 3;
    ($c eq "delay") && ($delay = $v,1) && next;
    ($c eq 'samples') && (!defined($PrintIt) || !defined($samples)) &&
	($samples = $v,1) && next;
    ($c eq 'srcprefix') && (($srcprefix=$v)=~s/\$STATHOST/$STATHOST/g,1)
	&& next;
    ($c eq 'showoffs') &&
	($showoffs = boolval($v),1) && next;
    ($c eq 'showfreq') &&
	($showfreq = boolval($v),1) && next;
    ($c eq 'showcmpl') &&
	($showcmpl = boolval($v),1) && next;
    ($c eq 'showoreg') &&
	($showoreg = boolval($v),1) && next;
    ($c eq 'showfreg') &&
	($showfreg = boolval($v),1) && next;

    ($c eq 'exit') && (unlink($tmpfile),die("$0: exit by config request\n"));

    ($c eq 'freqbase' ||
     $c eq 'cmplscale') &&
	do {
	    if (! defined($v) || $v eq "" || $v eq 'dynamic')
	    {
	      eval "undef(\$$c);";
	    }
	    else
	    {
	      eval "\$$c = \$v;";
	    }
	    next;
	};
    ($c eq 'timebase') &&
	do {
	    if (! defined($v) || $v eq "" || $v eq "dynamic")
	    {
	      undef($timebase);
	    }
	    else
	    {
	      $timebase=&date_time_spec2seconds($v);
	    }
	};
    ($c eq 'EndTime') &&
	do {
	    next if defined($EndTime) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($EndTime);
	    }
	    else
	    {
	      $EndTime=&date_time_spec2seconds($v);
	    }
	};
    ($c eq 'StartTime') &&
	do {
	    next if defined($StartTime) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($StartTime);
	    }
	    else
	    {
	      $StartTime=&date_time_spec2seconds($v);
	    }
	};

    ($c eq 'MaxY') &&
	do {
	    next if defined($MaxY) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($MaxY);
	    }
	    else
	    {
	      $MaxY=$v;
	    }
	};

    ($c eq 'MinY') &&
	do {
	    next if defined($MinY) && defined($PrintIt);
	    if (! defined($v) || $v eq "" || $v eq "none")
	    {
	      undef($MinY);
	    }
	    else
	    {
	      $MinY=$v;
	    }
	};

    ($c eq 'deltaT') &&
	do {
	    if (!defined($v) || $v eq "")
	    {
	      undef($deltaT);
	    }
	    else
	    {
	      $deltaT = $v;
	    }
	    next;
	};
    ($c eq 'verbose') && ! defined($PrintIt) &&
	do {
	     if (!defined($v) || $v == 0)
	     {
	       $verbose = 0;
	     }
	     else
	     {
	       $verbose = $v;
	     }
	     next;
	};
    ;# otherwise: silently ignore unrecognized config line
  }
  close(CF);
  ;# set show defaults when nothing selected
  $showoffs = $showfreq = $showcmpl = 1
      unless $showoffs || $showfreq || $showcmpl;
  if ($verbose > 3)
  {
    print  "new configuration:\n";
    print  "   delay\t= $delay\n";
    print  "   samples\t= $samples\n";
    print  "   srcprefix\t= $srcprefix\n";
    print  "   showoffs\t= $showoffs\n";
    print  "   showfreq\t= $showfreq\n";
    print  "   showcmpl\t= $showcmpl\n";
    print  "   showoreg\t= $showoreg\n";
    print  "   showfreg\t= $showfreg\n";
    printf "   timebase\t= %s",defined($timebase)?&ctime($timebase):"dynamic\n";
    printf "   freqbase\t= %s\n",defined($freqbase)  ?"$freqbase":"dynamic";
    printf "   cmplscale\t= %s\n",defined($cmplscale)?"$cmplscale":"dynamic";
    printf "   StartTime\t= %s",defined($StartTime)?&ctime($StartTime):"none\n";
    printf "   EndTime\t= %s",  defined($EndTime) ?  &ctime($EndTime):"none\n";
    printf "   MaxY\t= %s",defined($MaxY)? $MaxY      :"none\n";
    printf "   MinY\t= %s",defined($MinY)? $MinY      :"none\n";
    print  "   verbose\t= $verbose\n";
  }
print "configuration file read\n" if $verbose > 2;
}

sub make_doplot($$)
{
    my($lo, $lf) = @@_;
    local($c) = ("");
    local($fmt)
	= ("%s \"%s\" using 1:%d title '%s <%lf %lf> %6s' with lines");
    local($regfmt)
	= ("%s ((%lf * x) + %lf) title 'lin. approx. %s (%f t[h]) %s %f <%f> %6s' with lines");
    
    $doplot = "    set title 'NTP loopfilter statistics for $STATHOST  " .
	"(last $LastCnt samples from $srcprefix*)'\n";
    
    local($xts,$xte,$i,$t);
    
    local($s,$c) = ("");

    ;# number of integral seconds to get at least 12 tic marks on x axis
    $t = int(($maxtime - $mintime) / 12 + 0.5);
    $t = 1 unless $t;		# prevent $t to be zero
    foreach $i (30,
		60,5*60,15*60,30*60,
		60*60,2*60*60,6*60*60,12*60*60,
		24*60*60,48*60*60)
    {
	last if $t < $i;
	$t = $t - ($t % $i);
    }
    print "time label resolution: $t seconds\n" if $verbose > 1;
    
    ;# make gnuplot use wall clock time labels instead of NTP seconds
    for ($c="", $i = $mintime - ($mintime % $t);
	 $i <= $maxtime + $t;
	 $i += $t, $c=",")
    {
	$s .= $c;
	((int($i / $t) % 2) &&
	 ($s .= sprintf("'' %lf",($i - $LastTimeBase)/3600))) ||
	     (($t <= 60) &&
	      ($s .= sprintf("'%d:%02d:%02d' %lf",
			     (localtime($i))[$[+2,$[+1,$[+0],
			     ($i - $LastTimeBase)/3600))) 
		 || (($t <= 2*60*60) &&
		     ($s .= sprintf("'%d:%02d' %lf",
				    (localtime($i))[$[+2,$[+1],
				    ($i - $LastTimeBase)/3600)))
		     || (($t <= 12*60*60) &&
			 ($s .= sprintf("'%s %d:00' %lf",
					$Day[(localtime($i))[$[+6]],
					(localtime($i))[$[+2],
					($i - $LastTimeBase)/3600)))
			 || ($s .= sprintf("'%d.%d-%d:00' %lf",
					   (localtime($i))[$[+3,$[+4,$[+2],
					   ($i - $LastTimeBase)/3600));
    }
    $doplot .= "set xtics ($s)\n";
    
    chop($xts = &ctime($mintime));
    chop($xte = &ctime($maxtime));
    $doplot .= "set xlabel 'Start:  $xts    --   Time Scale   --    End:  $xte'\n";
    $doplot .= "set yrange [" ;
    $doplot .= defined($MinY) ? sprintf("%lf", $MinY) : $miny;
    $doplot .= ':';
    $doplot .= defined($MaxY) ? sprintf("%lf", $MaxY) : $maxy;
    $doplot .= "]\n";
    
    $doplot .= "   plot";
    $c = "";
    $showoffs &&
	($doplot .= sprintf($fmt,$c,$tmpfile,2,
			    "offset",
			    $minoffs,$maxoffs,
			    "[ms]"),
	 $c = ",");
    $LastCmplScale = 1 if ! defined($LastCmplScale);
    $showcmpl &&
	($doplot .= sprintf($fmt,$c,$tmpfile,4,
			    "compliance" .
			    (&abs($LastCmplScale) > 1
			     ? " / $LastCmplScale"
			     : (&abs($LastCmplScale) == 1 ? "" : " * ".(1/$LastCmplScale))),
			    $mincmpl/$LastCmplScale,$maxcmpl/$LastCmplScale,
			    ""),
	 $c = ",");
    $LastFreqBase = 0 if ! defined($LastFreqBase);
    $LastFreqBaseString = "?" if ! defined($LastFreqBaseString);
    $FreqScale = 1 if ! defined($FreqScale);
    $FreqScaleInv = 1 if ! defined($FreqScaleInv);
    $showfreq &&
	($doplot .= sprintf($fmt,$c,$tmpfile,3,
			    "frequency" .
			    ($LastFreqBase > 0
			     ? " - $LastFreqBaseString" 
			     : ($LastFreqBase == 0 ? "" : " + $LastFreqBaseString")),
			    $minfreq * $FreqScale - $LastFreqBase,
			    $maxfreq * $FreqScale - $LastFreqBase,
			    "[${FreqScaleInv}ppm]"),
	 $c = ",");
    $showoreg && $showoffs &&
	($doplot .= sprintf($regfmt, $c,
			    $lo->B(),$lo->A(),
			    "offset   ",
			    $lo->B(),
			    (($lo->A()) < 0 ? '-' : '+'),
			    &abs($lo->A()), $lo->r(),
			    "[ms]"),
	 $c = ",");
    $showfreg && $showfreq &&
	($doplot .= sprintf($regfmt, $c,
			    $lf->B() * $FreqScale,
			    ($lf->A() + $minfreq) * $FreqScale - $LastFreqBase,
			    "frequency",
			    $lf->B() * $FreqScale,
			    (($lf->A() + $minfreq) * $FreqScale - $LastFreqBase) < 0 ? '-' : '+',
			    &abs(($lf->A() + $minfreq) * $FreqScale - $LastFreqBase),
			    $lf->r(),
			    "[${FreqScaleInv}ppm]"),
	 $c = ",");
    $doplot .= "\n";
}

%F_key   = ();
%F_name  = ();
%F_size  = ();
%F_mtime = ();
%F_first = ();
%F_last  = ();

sub genfile
{
    local($cnt,$in,$out,$lo,$lf,@@fpos) = @@_;
    
    local(@@F,@@t,$t,$lastT) = ();
    local(@@break,@@time,@@offs,@@freq,@@cmpl,@@loffset,@@filekey) = ();
    local($lm,$l,@@f);
    
    local($sdir,$sname);
    
    ;# allocate some storage for the tables
    ;# otherwise realloc may get into troubles
    if (defined($StartTime) && defined($EndTime))
    {
	$l = ($EndTime-$StartTime) -$[+1 +1; # worst case: 1 sample per second
    }
    else
    {
	$l = $cnt + 10;
    }
    print "preextending arrays to $l entries\n" if $verbose > 2;
    $#break =   $l; for ($i=$[; $i<=$l;$i++) { $break[$i] = 0; }
    $#time =    $l; for ($i=$[; $i<=$l;$i++) { $time[$i] = 0; }
    $#offs =    $l; for ($i=$[; $i<=$l;$i++) { $offs[$i] = 0; }
    $#freq =    $l; for ($i=$[; $i<=$l;$i++) { $freq[$i] = 0; }
    $#cmpl =    $l; for ($i=$[; $i<=$l;$i++) { $cmpl[$i] = 0; }
    $#loffset = $l; for ($i=$[; $i<=$l;$i++) { $loffset[$i] = 0; }
    $#filekey = $l; for ($i=$[; $i<=$l;$i++) { $filekey[$i] = 0; }
    ;# now reduce size again
    $#break =   $[ - 1;
    $#time =    $[ - 1;
    $#offs =    $[ - 1;
    $#freq =    $[ - 1;
    $#cmpl =    $[ - 1;
    $#loffset = $[ - 1;
    $#filekey = $[ - 1;
    print "memory allocation ready\n" if $verbose > 2;
    sleep(3) if $verbose > 1;

    $fpos[$[] = '' if !defined($fpos[$[]);

    if (index($in,"/") < $[)
    {
	$sdir = ".";
	$sname = $in;
    }
    else
    {
	($sdir,$sname) = ($in =~ m!^(.*)/([^/]*)!);
	$sname = "" unless defined($sname);
    }
    
    $Ltime = -1 if ! defined($Ltime);
    if (!defined($Lsdir) || $Lsdir ne $sdir || $Ltime != (stat($sdir))[$[+9] ||
	grep($F_mtime{$_} != (stat($F_name{$_}))[$[+9], @@F_files))
	
    {
	print "rescanning directory \"$sdir\" for files \"$sname*\"\n"
	    if $verbose > 1;

	;# rescan directory on changes
	$Lsdir = $sdir;
	$Ltime = (stat($sdir))[$[+9];
	</X{> if 0;		# dummy line - calm down my formatter
	local(@@newfiles) = < ${in}*[0-9] >;
	local($st_dev,$st_ino,$st_mtime,$st_size,$name,$key,$modified);

	foreach $name (@@newfiles)
	{
	    ($st_dev,$st_ino,$st_size,$st_mtime) =
		(stat($name))[$[,$[+1,$[+7,$[+9];
	    $modified = 0;
	    $key = sprintf("%lx|%lu", $st_dev, $st_ino);
	    
	    print "candidate file \"$name\"",
                  (defined($st_dev) ? "" : " failed: $!"),"\n"
		      if $verbose > 2;
	    
	    if (! defined($F_key{$name}) || $F_key{$name} ne $key)
	    {
		$F_key{$name} = $key;
		$modified++;
	    }
	    if (!defined($F_name{$key}) || $F_name{$key} ne $name)
	    {
		$F_name{$key} = $name;
		$modified++;
	    }
	    if (!defined($F_size{$key}) || $F_size{$key} != $st_size)
	    {
		$F_size{$key} = $st_size;
		$modified++;
	    }
	    if (!defined($F_mtime{$key}) || $F_mtime{$key} != $st_mtime)
	    {
		$F_mtime{$key} = $st_mtime;
		$modified++;
	    }
	    if ($modified)
	    {
		print "new data \"$name\" key: $key;\n" if $verbose > 1;
	        print "             size: $st_size; mtime: $st_mtime;\n"
		    if $verbose > 1;
		$F_last{$key} = $F_first{$key} = $st_mtime;
		$F_first{$key}--; # prevent zero divide later on
		;# now compute derivated attributes
		open(IN, "<$name") ||
		    do {
			warn "$0: failed to open \"$name\": $!";
			next;
		    };

		while(<IN>)
		{
		    @@F = split;
		    next if @@F < 5;
		    next if $F[$[] eq "";
		    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
		    $t += $F[$[+1];
		    $F_first{$key} = $t;
		    print "\tfound first entry: $t ",&ctime($t)
			if $verbose > 4;
		    last;
		}
		seek(IN,
		     ($st_size > 4*$RecordSize) ? $st_size - 4*$RecordSize : 0,
		     0);
		while(<IN>)
		{
		    @@F = split;
		    next if @@F < 5;
		    next if $F[$[] eq "";
		    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
		    $t += $F[$[+1];
		    $F_last{$key} = $t;
		    $_ = <IN>;
		    print "\tfound last entry: $t ", &ctime($t)
			if $verbose > 4 && ! defined($_);
		    last unless defined($_);
		    redo;
		    ;# Ok, calm down...
		    ;# using $_ = <IN> in conjunction with redo
		    ;# is semantically equivalent to the while loop, but
		    ;# I needed a one line look ahead and this solution
		    ;# was what I thought of first
		    ;# and.. If you do not like it dont look
		}
		close(IN);
		print("             first: ",$F_first{$key},
		      " last: ",$F_last{$key},"\n") if $verbose > 1;
	    }
	}
	;# now reclaim memory used for files no longer referenced ...
	local(%Names);
	grep(Names{_} = 1,@@newfiles);
	foreach (keys %F_key)
	{
	    next if defined(Names{_});
	    delete $F_key{$_};
	    $verbose > 2 && print "no longer referenced: \"$_\"\n";
	}
	%Names = ();
	
	grep(Names{_} = 1,values(%F_key));
	foreach (keys %F_name)
	{
	    next if defined(Names{_});
	    delete $F_name{$_};
	    $verbose > 2 && print "unref name($_)= $F_name{$_}\n";
	}
	foreach (keys %F_size)
	{
	    next if defined(Names{_});
	    delete $F_size{$_};
	    $verbose > 2 && print "unref size($_)\n";
	}
	foreach (keys %F_mtime)
	{
	    next if defined(Names{_});
	    delete $F_mtime{$_};
	    $verbose > 2 && print "unref mtime($_)\n";
	}
	foreach (keys %F_first)
	{
	    next if defined(Names{_});
	    delete $F_first{$_};
	    $verbose > 2 && print "unref first($_)\n";
	}
	foreach (keys %F_last)
	{
	    next if defined(Names{_});
	    delete $F_last{$_};
	    $verbose > 2 && print "unref last($_)\n";
	}
	;# create list sorted by time
	@@F_files = sort {$F_first{$a} <=> $F_first{$b}; } keys(%F_name);
	if ($verbose > 1)
	{
	    print "Resulting file list:\n";
	    foreach (@@F_files)
	    {
		print "\t$_\t$F_name{$_}\n";
	    }
	}
    }
    
    printf("processing %s; output \"$out\" (%d input files)\n",
	   ((defined($StartTime) && defined($EndTime))
	    ? "time range"
	    : (defined($StartTime) ? "$cnt samples from StartTime" :
	      (defined($EndTime) ? "$cnt samples to EndTime" :
		 "last $cnt samples"))),
	    scalar(@@F_files))
	if $verbose > 1;
    
    ;# open output file - will be input for plotcmd
    open(OUT,">$out") || 
	do {
	    warn("$0: cannot create \"$out\": $!\n");
	};
    
    @@f = @@F_files;
    if (defined($StartTime))
    {
	while (@@f && ($F_last{$f[$[]} < $StartTime))
	{
	    print("shifting ", $F_name{$f[$[]},
		  " last: ", $F_last{$f[$[]},
		  " < StartTime: $StartTime\n")
		if $verbose > 3;
	    shift(@@f);
	}


    }
    if (defined($EndTime))
    {
	while (@@f && ($F_first{$f[$#f]} > $EndTime))
	{
	    print("popping  ", $F_name{$f[$#f]},
		  " first: ", $F_first{$f[$#f]},
		  " > EndTime: $EndTime\n")
		if $verbose > 3;
	    pop(@@f);
	}
    }
    
    if (@@f)
    {
	if (defined($StartTime))
	{
	    print "guess start according to StartTime ($StartTime)\n"
		if $verbose > 3;

	    if ($fpos[$[] eq 'start')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('start', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('start' , $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		if ($StartTime <= $F_first{$f[$[]})
		{
		    $fpos[$[+2] = 0;
		}
		else
		{
		    $fpos[$[+2] =
			int($F_size{$f[$[]} *
			    (($StartTime - $F_first{$f[$[]})/
			     ($F_last{$f[$[]} - $F_first{$f[$[]})));
		    $fpos[$[+2] = ($fpos[$[+2] <= 2 * $RecordSize)
			? 0 : $fpos[$[+2] - 2 * $RecordSize;
		    ;# anyway  as the data may contain "time holes" 
		    ;# our heuristics may baldly fail
		    ;# so just start at 0
		    $fpos[$[+2] = 0;
		}
	    }
	}
	elsif (defined($EndTime))
	{
	    print "guess starting point according to EndTime ($EndTime)\n"
		if $verbose > 3;
	    
	    if ($fpos[$[] eq 'end')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('end', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('end', $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		local(@@x) = reverse(@@f);
		local($s,$c) = (0,$cnt);
		if ($EndTime < $F_last{$x[$[]})
		{
		    ;# last file will only be used partially
		    $s = int($F_size{$x[$[]} *
			     (($EndTime - $F_first{$x[$[]}) /
			      ($F_last{$x[$[]} - $F_first{$x[$[]})));
		    $s = int($s/$RecordSize);
		    $c -= $s - 1;
		    if ($c <= 0)
		    {
			;# start is in the same file
			$fpos[$[+1] = $x[$[];
			$fpos[$[+2] = ($c >=-2) ? 0 : (-$c - 2) * $RecordSize;
			shift(@@f) while @@f && ($f[$[] ne $x[$[]);
		    }
		    else
		    {
			shift(@@x);
		    }
		}
		
		if (!defined($fpos[$[+2]))
		{
		    local($_);
		    while($_ = shift(@@x))
		    {
			$s = int($F_size{$_}/$RecordSize);
			$c -= $s - 1;
			if ($c <= 0)
			{
			    $fpos[$[+1] = $_;
			    $fpos[$[+2] = ($c>-2) ? 0 : (-$c - 2) * $RecordSize;
			    shift(@@f) while @@f && ($f[$[] ne $_);
			    last;
			}
		    }
		}
	    }
	}
	else
	{
	    print "guessing starting point according to count ($cnt)\n"
		if $verbose > 3;
	    ;# guess offset to get last available $cnt samples
	    if ($fpos[$[] eq 'cnt')
	    {
		if (grep($_ eq $fpos[$[+1],@@f))
		{
		    print "old positioning applies\n" if $verbose > 3;
		    shift(@@f) while @@f && $f[$[] ne $fpos[$[+1];
		}
		else
		{
		    @@fpos = ('cnt', $f[$[], undef);
		}
	    }
	    else
	    {
		@@fpos = ('cnt', $f[$[], undef);
	    }
	    
	    if (!defined($fpos[$[+2]))
	    {
		local(@@x) = reverse(@@f);
		local($s,$c) = (0,$cnt);
		
		local($_);
		while($_ = shift(@@x))
		{
		    print "examing \"$_\" $c samples still needed\n"
			if $verbose > 4;
		    $s = int($F_size{$_}/$RecordSize);
		    $c -= $s - 1;
		    if ($c <= 0)
		    {
			$fpos[$[+1] = $_;
			$fpos[$[+2] = ($c>-2) ? 0 : (-$c - 2) * $RecordSize;
			shift(@@f) while @@f && ($f[$[] ne $_);
			last;
		    }
		}
		if (!defined($fpos[$[+2]))
		{
		    print "no starting point yet - using start of data\n"
			if $verbose > 2;
		    $fpos[$[+2] = 0;
		}
	    }
	}
    }
    print "Ooops, no suitable input file ??\n"
	if $verbose > 1 && @@f <= 0;

    printf("Starting at (%s) \"%s\" offset %ld using %d files\n",
	   $fpos[$[+1],
	   $F_name{$fpos[$[+1]},
	   $fpos[$[+2],
	   scalar(@@f))
	if $verbose > 2;

    $lm = 1;
    $l = 0;    
    foreach $key (@@f)
    {
	$file = $F_name{$key};
	print "processing file \"$file\"\n" if $verbose > 2;
	
	open(IN,"<$file") ||
	    (warn("$0: cannot read \"$file\": $!\n"), next);
	
	;# try to seek to a position nearer to the start of the interesting lines
	;# should always affect only first item in @@f
	($key eq $fpos[$[+1]) &&
	    (($verbose > 1) &&
	     print("Seeking to offset $fpos[$[+2]\n"),
		seek(IN,$fpos[$[+2],0) ||
		    warn("$0: seek(\"$F_name{$key}\" failed: $|\n"));
	
	while(<IN>)
	{
	    $l++;
	    ($verbose > 3) &&
		(($l % $lm) == 0 && print("\t$l lines read\n") &&
		 (($l ==     2) && ($lm =    10) ||
		  ($l ==   100) && ($lm =   100) ||
		  ($l ==   500) && ($lm =   500) ||
		  ($l ==  1000) && ($lm =  1000) ||
		  ($l ==  5000) && ($lm =  5000) ||
		  ($l == 10000) && ($lm = 10000)));
	    
	    @@F = split;
	    
	    next if @@F < 6;	# no valid input line is this short
	    next if $F[$[] eq "";
	    next if ($F[$[] !~ /^\d+$/);
	    ($F[$[] !~ /^\d+$/) && # A 'never should have happend' error
		die("$0: unexpected input line: >$_<\n");
	    
	    ;# modified Julian to UNIX epoch
	    $t = ($F[$[] - $MJD_1970) * 24 * 60 * 60;
	    $t += $F[$[+1];	# add seconds + fraction
	    
	    ;# multiply offset by 1000 to get ms - try to avoid float op
	    (($F[$[+2] =~ s/(\d*)\.(\d{3})(\d*)/$1$2.$3/) &&
	     $F[$[+2] =~ s/0+([\d\.])/($1 eq '.') ? '0.' : $1/e) # strip leading zeros
		|| ($F[$[+2] *= 1000);

	    
	    ;# skip samples out of specified time range
	    next if (defined($StartTime) && $StartTime > $t);
	    next if (defined($EndTime) && $EndTime < $t);
	    
	    next if defined($lastT) && $t < $lastT; # backward in time ??
	    
	    push(@@offs,$F[$[+2]);
	    push(@@freq,$F[$[+3] * (2**20/10**6));
	    push(@@cmpl,$F[$[+5]);
	    
	    push(@@break, (defined($lastT) && ($t - $lastT > $deltaT))); 
	    $lastT = $t;
	    push(@@time,$t);
	    push(@@loffset, tell(IN) - length($_));
	    push(@@filekey, $key);
	    
	    shift(@@break),shift(@@time),shift(@@offs),
	    shift(@@freq), shift(@@cmpl),shift(@@loffset),
	    shift(@@filekey)
		if @@time > $cnt &&
		    ! (defined($StartTime) && defined($EndTime));

	    last if @@time >= $cnt && defined($StartTime) && !defined($EndTime);
	}
	close(IN);
	last if @@time >= $cnt && defined($StartTime) && !defined($EndTime);
    }
    print "input scanned ($l lines/",scalar(@@time)," samples)\n"
	if $verbose > 1;
    
    if (@@time)
    {
	local($_,@@F);
	
	local($timebase) unless defined($timebase);
	local($freqbase) unless defined($freqbase);
	local($cmplscale) unless defined($cmplscale);
	
	undef $mintime;
	undef $maxtime;
	undef $minoffs;
	undef $maxoffs;
	undef $minfreq;
	undef $maxfreq;
	undef $mincmpl;
	undef $maxcmpl;
	undef $miny;
	undef $maxy ;
	
	print "computing ranges\n" if $verbose > 2;
	
	$LastCnt = @@time;

	;# @@time is in ascending order (;-)
	$mintime = $time[$[];
	$maxtime = $time[$#time];
	unless (defined($timebase))
	{
	    local($time,@@X) = (time);
	    @@X = localtime($time);
	    
	    ;# compute today 00:00:00
	    $timebase = $time - ((($X[$[+2]*60)+$X[$[+1])*60+$X[$[]);

	}
	$LastTimeBase = $timebase;

	if ($showoffs)
	{
	    local($i,$m,$f);
	    
	    $minoffs = &min(@@offs);
	    $maxoffs = &max(@@offs);
	    
	    ;# I know, it is not perl style using indices to access arrays,
	    ;# but I have to proccess two arrays in sync, non-destructively
	    ;# (otherwise a (shift(@@a1),shift(a2)) would do),
	    ;# I dont like to make copies of these arrays as they may be huge
	    $i = $[;
	    $lo->sample(($time[$i]-$timebase)/3600,$offs[$i]),$i++
		while $i <= $#time;

	    ($minoffs == $maxoffs) && ($minoffs -= 0.1,$maxoffs += 0.1);

	    $i = $lo->sigma();
	    $m = $lo->mean();

	    print "mean offset: $m sigma: $i\n" if $verbose > 2;

	    if (($maxoffs - $minoffs) > $MinClip)
	    {
		$f = (&abs($minoffs) < &abs($maxoffs)) ? $FuzzLow : $FuzzBig;
		$miny = (($m - $minoffs) <= ($f * $i))
		    ? $minoffs : ($m - $f * $i);
		$f = ($f == $FuzzLow) ? $FuzzBig : $FuzzLow;
		$maxy = (($maxoffs - $m) <= ($f * $i))
		    ? $maxoffs : ($m + $f * $i);
	    }
	    else
	    {
		$miny = $minoffs;
		$maxy = $maxoffs;
	    }
	    ($maxy-$miny) == 0 &&
		(($maxy,$miny)
		 = (($maxoffs - $minoffs) > 0)
		 ? ($maxoffs,$minoffs) : ($MinClip,-$MinClip));

	    $maxy = $MaxY if defined($MaxY) && $MaxY < $maxy;
	    $miny = $MinY if defined($MinY) && $MinY > $miny;

	    print  "offset min clipped from $minoffs to $miny\n"
		if $verbose > 2 && $minoffs != $miny;
	    print  "offset max clipped from $maxoffs to $maxy\n"
		if $verbose > 2 && $maxoffs != $maxy;
	}
	
	if ($showfreq)
	{
	    local($i,$m);
	    
	    $minfreq = &min(@@freq);
	    $maxfreq = &max(@@freq);
	    
	    $i = $[;
	    $lf->sample(($time[$i]-$timebase)/3600,$freq[$i]-$minfreq),
	    $i++
		while $i <= $#time;
	    
	    $i = $lf->sigma();
	    $m = $lf->mean() + $minfreq;

	    print "mean frequency: $m sigma: $i\n" if $verbose > 2;

	    if (defined($maxy))
	    {
		local($s) =
		    ($maxfreq - $minfreq)
			? ($maxy - $miny) / ($maxfreq - $minfreq) : 1;

		if (defined($freqbase))
		{
		    $FreqScale = 1;
		    $FreqScaleInv = "";
		}
		else
		{
		    $FreqScale = 1;
		    $FreqScale = 10 ** int(log($s)/log(10) - 0.9999);
		    $FreqScaleInv =
			("$FreqScale" =~ /^10(0*)$/) ? "0.${1}1" : 
			 ($FreqScale == 1 ? "" : (1/$FreqScale));
		    
		    $freqbase = ($maxfreq + $minfreq)/ 2 * $FreqScale; #$m * $FreqScale;
		    $freqbase -= ($maxy + $miny) / 2; #$lf->mean();

		    ;# round resulting freqbase
		    ;# to precision of min max difference
		    $s = -12;
		    $s = int(log(($maxfreq-$minfreq)*$FreqScale)/log(10))-1
			unless ($maxfreq-$minfreq) < 1e-12;
		    $s = 10 ** $s;
		    $freqbase = int($freqbase / $s) * $s;
		}
	    }
	    else
	    {
		$FreqScale = 1;
		$FreqScaleInv = "";
		$freqbase = $m unless defined($freqbase);
		if (($maxfreq - $minfreq) > $MinClip)
		{
		    $f = (&abs($minfreq) < &abs($maxfreq))
			? $FuzzLow : $FuzzBig;
		    $miny = (($freqbase - $minfreq) <= ($f * $i))
			? ($minfreq-$freqbase) : (- $f * $i);
		    $f = ($f == $FuzzLow) ? $FuzzBig : $FuzzLow;
		    $maxy = (($maxfreq - $freqbase) <= ($f * $i))
			? ($maxfreq-$freqbase) : ($f * $i);
		}
		else
		{
		    $miny = $minfreq - $freqbase;
		    $maxy = $maxfreq - $freqbase;
		}
		($maxy - $miny) == 0 &&
		    (($maxy,$miny) =
		     (($maxfreq - $minfreq) > 0)
		     ? ($maxfreq-$freqbase,$minfreq-$freqbase) : (0.5,-0.5));
		
		$maxy = $MaxY if defined($MaxY) && $MaxY < $maxy;
		$miny = $MinY if defined($MinY) && $MinY > $miny;

		print("frequency min clipped from ",$minfreq-$freqbase,
		      " to $miny\n")
		    if $verbose > 2 && $miny != ($minfreq - $freqbase);
		print("frequency max clipped from ",$maxfreq-$freqbase,
		      " to $maxy\n")
		    if $verbose > 2 && $maxy != ($maxfreq - $freqbase);
	    }
	    $LastFreqBaseString =
		sprintf("%g",$freqbase >= 0 ? $freqbase : -$freqbase);
	    $LastFreqBase = $freqbase;
	    print "LastFreqBaseString now \"$LastFreqBaseString\"\n"
		if $verbose > 5;
	}
	else
	{
	    $FreqScale = 1;
	    $FreqScaleInv = "";
	    $LastFreqBase = 0;
	    $LastFreqBaseString = "";
	}
		
	if ($showcmpl)
	{
	    $mincmpl = &min(@@cmpl);
	    $maxcmpl = &max(@@cmpl);

	    if (!defined($cmplscale))
	    {
		if (defined($maxy))
		{
		    local($cmp)
			= (&abs($miny) > &abs($maxy)) ? &abs($miny) : $maxy;
		    $cmplscale = $cmp == $maxy ? 1 : -1;

		    foreach (0.01, 0.02, 0.05,
			     0.1, 0.2, 0.25, 0.4, 0.5,
			     1, 2, 4, 5,
			     10, 20, 25, 50,
			     100, 200, 250, 500, 1000)
		    {
			$cmplscale *= $_, last if $maxcmpl/$_ <= $cmp;
		    }
		}
		else
		{
		    $cmplscale = 1;
		    $miny = $mincmpl ? 0 : -$MinClip;
		    $maxy = $maxcmpl+$MinClip;
		}
	    }
	    $LastCmplScale = $cmplscale;
	}
	else
	{
	    $LastCmplScale = 1;
	}
	
	print "creating plot command input file\n" if $verbose > 2;
	
	
	print OUT ("# preprocessed NTP statistics file for $STATHOST\n");
	print OUT ("#    timebase is: ",&ctime($LastTimeBase))
	    if defined($LastTimeBase);
	print OUT ("#    frequency is offset by  ",
		   ($LastFreqBase >= 0 ? "+" : "-"),
		   "$LastFreqBaseString [${FreqScaleInv}ppm]\n");
	print OUT ("#    compliance is scaled by $LastCmplScale\n");
	print OUT ("# time [h]\toffset [ms]\tfrequency [${FreqScaleInv}ppm]\tcompliance\n");
	
	printf OUT ("%s%lf\t%lf\t%lf\t%lf\n",
		    (shift(@@break) ? "\n" : ""),
		    (shift(@@time) - $LastTimeBase)/3600,
		    shift(@@offs),
		    shift(@@freq) * $FreqScale - $LastFreqBase,
		    shift(@@cmpl) / $LastCmplScale)
	    while(@@time);
    }
    else
    {
	;# prevent plotcmd from processing empty file
	print "Creating plot command dummy...\n" if $verbose > 2;
	print OUT "# dummy samples\n0 1 2 3\n1 1 2 3\n";
	$lo->sample(0,1);
	$lo->sample(1,1);
	$lf->sample(0,2);
	$lf->sample(1,2);
	@@time = (0, 1); $maxtime = 1; $mintime = 0;
	@@offs = (1, 1); $maxoffs = 1; $minoffs = 1;
	@@freq = (2, 2); $maxfreq = 2; $minfreq = 2;
	@@cmpl = (3, 3); $maxcmpl = 3; $mincmpl = 3;
	$LastCnt = 2;
	$LastFreqBase = 0;
	$LastCmplScale = 1;
	$LastTimeBase = 0;
	$miny = -$MinClip;
	$maxy = 3 + $MinClip;
    }
    close(OUT);
    
    print "plot command input file created\n"
	if $verbose > 2;
	
	
    if (($fpos[$[] eq 'cnt' && scalar(@@loffset) >= $cnt) ||
	($fpos[$[] eq 'start' && $mintime <= $StartTime) ||
	($fpos[$[] eq 'end'))
    {
	return ($fpos[$[],$filekey[$[],$loffset[$[]);
    }
    else			# found to few lines - next time start search earlier in file
    {
	if ($fpos[$[] eq 'start')
	{
	    ;# the timestamps we got for F_first and F_last guaranteed
	    ;# that no file is left out
	    ;# the only thing that could happen is:
	    ;# we guessed the starting point wrong
	    ;# compute a new guess from the first record found
	    ;# if this equals our last guess use data of first record
	    ;# otherwise try new guess
	    
	    if ($fpos[$[+1] eq $filekey[$[] && $loffset[$[] > $fpos[$[+2])
	    {
		local($noff);
		$noff = $loffset[$[] - ($cnt - @@loffset + 1) * $RecordSize;
		$noff = 0 if $noff < 0;
		
		return (@@fpos[$[,$[+1], ($noff == $fpos[$[+2]) ? $loffset[$[] : $noff);
	    }
	    return ($fpos[$[],$filekey[$[],$loffset[$[]);
	}
	elsif ($fpos[$[] eq 'end' || $fpos[$[] eq 'cnt')
	{
	    ;# try to start earlier in file
	    ;# if we already started at the beginning
	    ;# try to use previous file
	    ;# this assumes distance to better starting point is at most one file
	    ;# the primary guess at top of genfile() should usually allow this
	    ;# assumption
	    ;# if the offset of the first sample used is within 
	    ;# a different file than we guessed it must have occurred later
	    ;# in the sequence of files
	    ;# this only can happen if our starting file did not contain
	    ;# a valid sample from the starting point we guessed
	    ;# however this does not invalidate our assumption, no check needed
	    local($noff,$key);
	    if ($fpos[$[+2] > 0)
	    {
		$noff = $fpos[$[+2] - $RecordSize * ($cnt - @@loffset + 1);
		$noff = 0 if $noff < 0;
		return (@@fpos[$[,$[+1],$noff);
	    }
	    else
	    {
		if ($fpos[$[+1] eq $F_files[$[])
		{
		    ;# first file - and not enough samples
		    ;# use data of first sample
		    return ($fpos[$[], $filekey[$[], $loffset[$[]);
		}
		else
		{
		    ;# search key of previous file
		    $key = $F_files[$[];
		    @@F = reverse(@@F_files);
		    while ($_ = shift(@@F))
		    {
			if ($_ eq $fpos[$[+1])
			{
			    $key = shift(@@F) if @@F;
			    last;
			}
		    }
		    $noff = int($F_size{$key} / $RecordSize);
		    $noff -= $cnt - @@loffset;
		    $noff = 0 if $noff < 0;
		    $noff *= $RecordSize;
		    return ($fpos[$[], $key, $noff);
		}
	    }
	}
	else
	{
	    return ();
	}
	
	return 0 if @@loffset <= 1 || ($loffset[$#loffset] - $loffset[$[]) <= 1;
	
	;# EOF - 1.1 * avg(line) * $cnt
	local($val) =  $loffset[$#loffset]
	    - $cnt * 11 * (($loffset[$#loffset] - $loffset[$[]) / @@loffset) / 10;
	return ($val < 0) ? 0 : $val;
    }
}

$Ltime = -1 if ! defined($Ltime);
$LastFreqBase = 0;
$LastFreqBaseString = "??";

;# initial setup of plot
print "initialize plotting\n" if $verbose;
if (defined($PrintIt))
{
  if ($PrintIt =~ m,/,)
  {
    print "Saving plot to file $PrintIt\n";
    print PLOT "set output '$PrintIt'\n";
  }
  else
  {
    print "Printing plot on printer $PrintIt\n";
    print PLOT "set output '| lpr -P$PrintIt -h'\n";
  }
  print PLOT "set terminal postscript landscape color solid 'Helvetica' 10\n";
}
print PLOT "set grid\n";
print PLOT "set tics out\n";
print PLOT "set format y '%g '\n";
printf PLOT "set time 47\n" unless defined($PrintIt);

@@filepos =();
while(1)
{
  print &ctime(time) if $verbose;

  ;# update diplay characteristics
  &read_config;# unless defined($PrintIt);

  unlink($tmpfile);
  my $lo = lr->new();
  my $lf = lr->new();
    
  @@filepos = &genfile($samples,$srcprefix,$tmpfile,$lo,$lf,@@filepos);

  ;# make plotcmd display samples
  make_doplot($lo, $lf);
  print "Displaying plot...\n" if $verbose > 1;
  print "command for plot sub process:\n$doplot----\n" if $verbose > 3;
  print PLOT $doplot;
}
continue
{
  if (defined($PrintIt))
  {
    delete $SIG{'CHLD'};
    print PLOT "quit\n";
    close(PLOT);
    if ($PrintIt =~ m,/,)
    {
      print "Plot saved to file $PrintIt\n";
    }
    else
    {
      print "Plot spooled to printer $PrintIt\n";
    }
    unlink($tmpfile);
    exit(0);
  }
  ;# wait $delay seconds
  print "waiting $delay seconds ..." if $verbose > 2;
  sleep($delay);
  print " continuing\n" if $verbose > 2;
  undef($LastFreqBaseString);
}


sub date_time_spec2seconds
{
    local($_) = @@_;
    ;# a date_time_spec consistes of:
    ;#  YYYY-MM-DD_HH:MM:SS.ms
    ;# values can be omitted from the beginning and default than to
    ;# values of current date
    ;# values omitted from the end default to lowest possible values

    local($time) = time;
    local($sec,$min,$hour,$mday,$mon,$year)
	= localtime($time);

    local($last) = ();

    s/^\D*(.*\d)\D*/$1/;	# strip off garbage

  PARSE:
    {
	if (s/^(\d{4})(-|$)//)
	{
	    if ($1 < 1970)
	    {
		warn("$0: can not handle years before 1970 - year $1 ignored\n");
		return undef;
	    }
	    elsif ( $1 >= 2070)
	    {
		warn("$0: can not handle years past 2070 - year $1 ignored\n");
		return undef;
	    }
	    else
	    {
		$year = $1 % 100; # 0<= $year < 100
				 ;# - interpreted 70 .. 99,00 .. 69
	    }
	    $last = $[ + 5;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec: \"$_\" found after YEAR\n"),
	    return(undef)
		if $2 eq '';
	}

	if (s/^(\d{1,2})(-|$)//)
	{
	    warn("$0: implausible month $1\n"),return(undef)
		if $1 < 1 || $1 > 12;
	    $mon = $1 - 1;
	    $last = $[ + 4;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec: \"$_\" found after MONTH\n"),
	    return(undef)
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"),return(undef)
		if defined($last);
	    
	}

	if (s/^(\d{1,2})([_ ]|$)//)
	{
	    warn("$0: implausible month day $1 for month ".($mon+1)." (".
		 $MaxNumDaysPerMonth[$mon].")$mon\n"),
	    return(undef)
		if $1 < 1 || $1 > $MaxNumDaysPerMonth[$mon];
	    $mday = $1;
	    $last = $[ + 3;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec \"$_\" found after MDAY\n"),
	    return(undef)
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	;# now we face a problem:
 	;# if ! defined($last) a prefix of "07:"
	;# can be either 07:MM or 07:ss
	;# to get the second interpretation make the user add
 	;# a msec fraction part and check for this special case
	if (! defined($last) && s/^(\d{1,2}):(\d{1,2}\.\d+)//)
	{
	    warn("$0: implausible minute $1\n"), return undef
		if $1 < 0 || $1 >= 60;
	    warn("$0: implausible second $1\n"), return undef
		if $2 < 0 || $2 >= 60;
	    $min = $1;
	    $sec = $2;
	    $last = $[ + 1;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec \"$_\" after SECONDS\n");
	    return undef;
	}
	
	if (s/^(\d{1,2})(:|$)//)
	{
	    warn("$0: implausible hour $1\n"), return undef
		if $1 < 0 || $1 > 24;
	    $hour = $1;
	    $last = $[ + 2;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after HOUR\n"),
	    return undef
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	if (s/^(\d{1,2})(:|$)//)
	{
	    warn("$0: implausible minute $1\n"), return undef
		if $1 < 0 || $1 >=60;
	    $min = $1;
	    $last = $[ + 1;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after MINUTE\n"),
	    return undef
		if $2 eq '';
	}
	else
	{
	    warn("$0: bad date_time_spec \"$_\"\n"), return undef
		if defined($last);
	}

	if (s/^(\d{1,2}(\.\d+)?)//)
	{
	    warn("$0: implausible second $1\n"), return undef
		if $1 < 0 || $1 >=60;
	    $sec = $1;
	    $last = $[;
	    last PARSE if $_ eq '';
	    warn("$0: bad date_time_spec found \"$_\" after SECOND\n");
	    return undef;
	}
    }

    return $time unless defined($last);

    $sec  = 0 if $last > $[;
    $min  = 0 if $last > $[ + 1;
    $hour = 0 if $last > $[ + 2;
    $mday = 1 if $last > $[ + 3;
    $mon  = 0 if $last > $[ + 4;
    local($rtime) = &timelocal($sec,$min,$hour,$mday,$mon,$year, 0,0, 0);

    ;# $rtime may be off if daylight savings time is in effect at given date
    return $rtime + ($sec - int($sec))
	if $hour == (localtime($rtime))[$[+2];
    return
	&timelocal($sec,$min,$hour,$mday,$mon,$year, 0,0, 1)
	    + ($sec - int($sec));
}


sub min
{
  local($m) = shift;

  grep((($m > $_) && ($m = $_),0),@@_);
  $m;
}

sub max
{
  local($m) = shift;

  grep((($m < $_) && ($m = $_),0),@@_);
  $m;
}
@


