ntpsweep-opts revision 298699
113116Sbde# EDIT THIS FILE WITH CAUTION  (ntpsweep-opts)
213116Sbde#
313116Sbde# It has been AutoGen-ed  April 26, 2016 at 08:24:28 PM by AutoGen 5.18.5
413116Sbde# From the definitions    ntpsweep-opts.def
513116Sbde# and the template file   perlopt
613116Sbde
713116Sbdeuse Getopt::Long qw(GetOptionsFromArray);
813116SbdeGetopt::Long::Configure(qw(no_auto_abbrev no_ignore_case_always));
913116Sbde
1013116Sbdemy $usage;
1113116Sbde
1213116Sbdesub usage {
1313116Sbde    my ($ret) = @_;
1413116Sbde    print STDERR $usage;
1513116Sbde    exit $ret;
1613116Sbde}
1713116Sbde
1813116Sbdesub paged_usage {
1913116Sbde    my ($ret) = @_;
2013116Sbde    my $pager = $ENV{PAGER} || '(less || more)';
2113116Sbde
2213116Sbde    open STDOUT, "| $pager" or die "Can't fork a pager: $!";
2313116Sbde    print $usage;
2413116Sbde
2513116Sbde    exit $ret;
2613116Sbde}
2713116Sbde
2813116Sbdesub processOptions {
291541Srgrimes    my $args = shift;
30116189Sobrien
31116189Sobrien    my $opts = {
32116189Sobrien        'host-list' => [],
3313116Sbde        'peers' => '',
3413116Sbde        'maxlevel' => '',
3555206Speter        'strip' => '',
3619169Sbde        'host' => '',
3719169Sbde        'help' => '', 'more-help' => ''
3819169Sbde    };
3913116Sbde    my $argument = '[hostfile]';
4013116Sbde    my $ret = GetOptionsFromArray($args, $opts, (
4113116Sbde        'host-list|l=s', 'peers|p', 'maxlevel|m=i',
4213116Sbde        'strip|s=s', 'host|h=s',
4313116Sbde        'help|?', 'more-help'));
4413116Sbde
4513116Sbde    $usage = <<'USAGE';
4613116Sbdentpsweep - Print various informations about given ntp servers - Ver. 4.2.8p7
4713116SbdeUSAGE: ntpsweep [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [hostfile]
4813116Sbde
4913116Sbde    -l, --host-list=str          Host to execute actions on
5013116Sbde                                   - may appear multiple times
5113116Sbde    -p, --peers                  Recursively list all peers a host synchronizes to
5213116Sbde    -m, --maxlevel=num           Traverse peers up to this level (4 is a reasonable number)
5313116Sbde    -s, --strip=str              Strip this string from hostnames
5413116Sbde    -?, --help                   Display usage information and exit
5513116Sbde        --more-help              Pass the extended usage text through a pager
5613116Sbde
5713116SbdeOptions are specified by doubled hyphens and their name or by a single
5813116Sbdehyphen and the flag character.
5913116SbdeUSAGE
60134398Smarcel
6113116Sbde    usage(0)       if $opts->{'help'};
6213116Sbde    paged_usage(0) if $opts->{'more-help'};
6319000Sbde    $_[0] = $opts;
6413116Sbde    return $ret;
65134398Smarcel}
66134398Smarcel
67134398SmarcelEND { close STDOUT };
68134398Smarcel