ntpsweep-opts revision 362716
116009Sserb# EDIT THIS FILE WITH CAUTION  (ntpsweep-opts)
216009Sserb#
316009Sserb# It has been AutoGen-ed  June 23, 2020 at 02:21:34 AM by AutoGen 5.18.5
416009Sserb# From the definitions    ntpsweep-opts.def
516009Sserb# and the template file   perlopt
616009Sserb
716009Sserbuse Getopt::Long qw(GetOptionsFromArray);
816009SserbGetopt::Long::Configure(qw(no_auto_abbrev no_ignore_case_always));
916009Sserb
1016009Sserbmy $usage;
1116009Sserb
1216009Sserbsub usage {
1316009Sserb    my ($ret) = @_;
1416009Sserb    print STDERR $usage;
1516009Sserb    exit $ret;
1616009Sserb}
1716009Sserb
1816009Sserbsub paged_usage {
1916009Sserb    my ($ret) = @_;
2016009Sserb    my $pager = $ENV{PAGER} || '(less || more)';
2116009Sserb
2216009Sserb    open STDOUT, "| $pager" or die "Can't fork a pager: $!";
2316009Sserb    print $usage;
2416009Sserb
2516009Sserb    exit $ret;
2616009Sserb}
2716009Sserb
2816009Sserbsub processOptions {
2916009Sserb    my $args = shift;
3016009Sserb
3116009Sserb    my $opts = {
3216009Sserb        'host-list' => [],
3316009Sserb        'peers' => '',
3416009Sserb        'maxlevel' => '',
3516009Sserb        'strip' => '',
3616009Sserb        'host' => '',
3716009Sserb        'help' => '', 'more-help' => ''
3816009Sserb    };
3916009Sserb    my $argument = '[hostfile]';
4016009Sserb    my $ret = GetOptionsFromArray($args, $opts, (
4116009Sserb        'host-list|l=s', 'peers|p', 'maxlevel|m=i',
4216009Sserb        'strip|s=s', 'host|h=s',
4316009Sserb        'help|?', 'more-help'));
4416009Sserb
4516009Sserb    $usage = <<'USAGE';
4616009Sserbntpsweep - Print various informations about given ntp servers - Ver. 4.2.8p15
4716009SserbUSAGE: ntpsweep [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [hostfile]
4816009Sserb
4916009Sserb    -l, --host-list=str          Host to execute actions on
5016009Sserb                                   - may appear multiple times
5116009Sserb    -p, --peers                  Recursively list all peers a host synchronizes to
5216009Sserb    -m, --maxlevel=num           Traverse peers up to this level (4 is a reasonable number)
5316009Sserb    -s, --strip=str              Strip this string from hostnames
5416009Sserb    -?, --help                   Display usage information and exit
5516009Sserb        --more-help              Pass the extended usage text through a pager
5616009Sserb
5716009SserbOptions are specified by doubled hyphens and their name or by a single
5816009Sserbhyphen and the flag character.
5916009SserbUSAGE
6016009Sserb
6116009Sserb    usage(0)       if $opts->{'help'};
6216009Sserb    paged_usage(0) if $opts->{'more-help'};
6316009Sserb    $_[0] = $opts;
6416009Sserb    return $ret;
6516009Sserb}
6616009Sserb
6716009SserbEND { close STDOUT };
6816009Sserb