003 File Manager
Current Path:
/usr/src/contrib/ntp/scripts/ntptrace
usr
/
src
/
contrib
/
ntp
/
scripts
/
ntptrace
/
📁
..
📄
Makefile.am
(3.05 KB)
📄
Makefile.in
(30.92 KB)
📄
invoke-ntptrace.menu
(53 B)
📄
invoke-ntptrace.texi
(4.08 KB)
📄
ntptrace-opts
(1.64 KB)
📄
ntptrace-opts.def
(2.12 KB)
📄
ntptrace.1ntptraceman
(3.62 KB)
📄
ntptrace.1ntptracemdoc
(3.13 KB)
📄
ntptrace.html
(10.42 KB)
📄
ntptrace.in
(1.84 KB)
📄
ntptrace.man.in
(3.62 KB)
📄
ntptrace.mdoc.in
(3.13 KB)
📄
ntptrace.texi
(1000 B)
Editing: ntptrace.in
#! @PATH_PERL@ -w # John Hay -- John.Hay@icomtek.csir.co.za / jhay@FreeBSD.org package ntptrace; use 5.006_000; use strict; use lib "@PERLLIBDIR@"; use NTP::Util qw(ntp_read_vars do_dns); exit run(@ARGV) unless caller; sub run { my $opts; if (!processOptions(\@_, $opts)) { usage(1); }; my $dodns = $opts->{numeric} ? 0 : 1; my $max_hosts = $opts->{'max-hosts'}; my $host = shift || $opts->{host}; my $nb_host = 0; for (;;) { $nb_host++; my %info = get_info($host); last if not %info; my $dhost = $host; if ($dodns) { my $name = do_dns($host); $dhost = $name if defined $name; } printf "%s: stratum %d, offset %f, synch distance %f", $dhost, $info{stratum}, $info{offset}, $info{syncdistance}; printf ", refid '%s'", $info{refid} if $info{stratum} == 1; print "\n"; last if $info{stratum} == 0 || $info{stratum} == 1 || $info{stratum} == 16; last if $info{refid} =~ /^127\.127\.\d{1,3}\.\d{1,3}$/; last if $nb_host == $max_hosts; my $next_host = get_next_host($info{peer}, $host); last if $next_host eq ''; last if $next_host =~ /^127\.127\.\d{1,3}\.\d{1,3}$/; $host = $next_host; } return 0; } sub get_info { my ($host) = @_; my ($rootdelay, $rootdisp, $info) = (0, 0); $info = ntp_read_vars(0, [], $host); return if not defined $info; return if not exists $info->{stratum}; $info->{offset} /= 1000; $info->{syncdistance} = ($info->{rootdisp} + ($info->{rootdelay} / 2)) / 1000; return %$info; } sub get_next_host { my ($peer, $host) = @_; my $info = ntp_read_vars($peer, [qw(srcadr)], $host); return if not defined $info; return $info->{srcadr}; } @ntptrace_opts@ 1; __END__
Upload File
Create Folder