xref: /freebsd/contrib/ntp/scripts/summary-opts (revision f5f40dd6)
12b15cb3dSCy Schubert# EDIT THIS FILE WITH CAUTION  (summary-opts)
22b15cb3dSCy Schubert#
3*f5f40dd6SCy Schubert# It has been AutoGen-ed  May 25, 2024 at 12:05:57 AM by AutoGen 5.18.16
42b15cb3dSCy Schubert# From the definitions    summary-opts.def
52b15cb3dSCy Schubert# and the template file   perlopt
62b15cb3dSCy Schubert
72b15cb3dSCy Schubertuse Getopt::Long qw(GetOptionsFromArray);
82b15cb3dSCy SchubertGetopt::Long::Configure(qw(no_auto_abbrev no_ignore_case_always));
92b15cb3dSCy Schubert
102b15cb3dSCy Schubertmy $usage;
112b15cb3dSCy Schubert
122b15cb3dSCy Schubertsub usage {
132b15cb3dSCy Schubert    my ($ret) = @_;
142b15cb3dSCy Schubert    print STDERR $usage;
152b15cb3dSCy Schubert    exit $ret;
162b15cb3dSCy Schubert}
172b15cb3dSCy Schubert
182b15cb3dSCy Schubertsub paged_usage {
192b15cb3dSCy Schubert    my ($ret) = @_;
202b15cb3dSCy Schubert    my $pager = $ENV{PAGER} || '(less || more)';
212b15cb3dSCy Schubert
222b15cb3dSCy Schubert    open STDOUT, "| $pager" or die "Can't fork a pager: $!";
232b15cb3dSCy Schubert    print $usage;
242b15cb3dSCy Schubert
252b15cb3dSCy Schubert    exit $ret;
262b15cb3dSCy Schubert}
272b15cb3dSCy Schubert
282b15cb3dSCy Schubertsub processOptions {
292b15cb3dSCy Schubert    my $args = shift;
302b15cb3dSCy Schubert
312b15cb3dSCy Schubert    my $opts = {
322b15cb3dSCy Schubert        'directory' => '/var/log/ntp',
332b15cb3dSCy Schubert        'end-date' => '',
342b15cb3dSCy Schubert        'output-directory' => '/tmp',
352b15cb3dSCy Schubert        'peer-dist-limit' => '400',
362b15cb3dSCy Schubert        'skip-time-steps' => '3600',
372b15cb3dSCy Schubert        'start-date' => '19700101',
382b15cb3dSCy Schubert        'help' => '', 'more-help' => ''
392b15cb3dSCy Schubert    };
402b15cb3dSCy Schubert    my $argument = '';
412b15cb3dSCy Schubert    my $ret = GetOptionsFromArray($args, $opts, (
422b15cb3dSCy Schubert        'directory=s', 'end-date=i', 'output-directory=s',
432b15cb3dSCy Schubert        'peer-dist-limit=f', 'skip-time-steps=f', 'start-date=i',
442b15cb3dSCy Schubert        'help|?', 'more-help'));
452b15cb3dSCy Schubert
462b15cb3dSCy Schubert    $usage = <<'USAGE';
47*f5f40dd6SCy Schubertsummary - compute various stastics from NTP stat files - Ver. 4.2.8p18
482b15cb3dSCy SchubertUSAGE: summary [ -<flag> [<val>] | --<name>[{=| }<val>] ]...
492b15cb3dSCy Schubert
502b15cb3dSCy Schubert        --directory=str          Directory containing stat files
512b15cb3dSCy Schubert        --end-date=num           End date
522b15cb3dSCy Schubert        --output-directory=str   Output directory
532b15cb3dSCy Schubert        --peer-dist-limit=float  Peer dist limit
542b15cb3dSCy Schubert        --skip-time-steps=float  Ignore time offsets larger that this
552b15cb3dSCy Schubert        --start-date=num         Start date
562b15cb3dSCy Schubert    -?, --help                   Display usage information and exit
572b15cb3dSCy Schubert        --more-help              Pass the extended usage text through a pager
582b15cb3dSCy Schubert
592b15cb3dSCy SchubertOptions are specified by doubled hyphens and their name or by a single
602b15cb3dSCy Schuberthyphen and the flag character.
612b15cb3dSCy SchubertUSAGE
622b15cb3dSCy Schubert
632b15cb3dSCy Schubert    usage(0)       if $opts->{'help'};
642b15cb3dSCy Schubert    paged_usage(0) if $opts->{'more-help'};
652b15cb3dSCy Schubert    $_[0] = $opts;
662b15cb3dSCy Schubert    return $ret;
672b15cb3dSCy Schubert}
682b15cb3dSCy Schubert
692b15cb3dSCy SchubertEND { close STDOUT };
70