summaryrefslogtreecommitdiffstats
path: root/contrib/ntp/scripts/ntpsweep/ntpsweep-opts
blob: 46a566be92c1a3b9f3f5c879355eb6302cee6161 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# EDIT THIS FILE WITH CAUTION  (ntpsweep-opts)
#
# It has been AutoGen-ed  March 21, 2017 at 10:40:09 AM by AutoGen 5.18.5
# From the definitions    ntpsweep-opts.def
# and the template file   perlopt

use Getopt::Long qw(GetOptionsFromArray);
Getopt::Long::Configure(qw(no_auto_abbrev no_ignore_case_always));

my $usage;

sub usage {
    my ($ret) = @_;
    print STDERR $usage;
    exit $ret;
}

sub paged_usage {
    my ($ret) = @_;
    my $pager = $ENV{PAGER} || '(less || more)';

    open STDOUT, "| $pager" or die "Can't fork a pager: $!";
    print $usage;

    exit $ret;
}

sub processOptions {
    my $args = shift;

    my $opts = {
        'host-list' => [],
        'peers' => '',
        'maxlevel' => '',
        'strip' => '',
        'host' => '',
        'help' => '', 'more-help' => ''
    };
    my $argument = '[hostfile]';
    my $ret = GetOptionsFromArray($args, $opts, (
        'host-list|l=s', 'peers|p', 'maxlevel|m=i',
        'strip|s=s', 'host|h=s',
        'help|?', 'more-help'));

    $usage = <<'USAGE';
ntpsweep - Print various informations about given ntp servers - Ver. 4.2.8p10
USAGE: ntpsweep [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [hostfile]

    -l, --host-list=str          Host to execute actions on
                                   - may appear multiple times
    -p, --peers                  Recursively list all peers a host synchronizes to
    -m, --maxlevel=num           Traverse peers up to this level (4 is a reasonable number)
    -s, --strip=str              Strip this string from hostnames
    -?, --help                   Display usage information and exit
        --more-help              Pass the extended usage text through a pager

Options are specified by doubled hyphens and their name or by a single
hyphen and the flag character.
USAGE

    usage(0)       if $opts->{'help'};
    paged_usage(0) if $opts->{'more-help'};
    $_[0] = $opts;
    return $ret;
}

END { close STDOUT };
OpenPOWER on IntegriCloud