author | Danek Duvall <danek.duvall@oracle.com> |
Fri, 29 Jun 2012 21:49:03 -0700 | |
changeset 904 | 114a5240af22 |
parent 837 | 3496f33edfbb |
permissions | -rw-r--r-- |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1 |
#compdef ipadm |
904
114a5240af22
7179129 "zfs create" should be able to complete parent datasets
Danek Duvall <danek.duvall@oracle.com>
parents:
837
diff
changeset
|
2 |
# Synced with the S11U1 build 19 man page |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
3 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
4 |
_ipadm_ifs() { |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
5 |
local -a extra |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
6 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
7 |
zparseopts -D -E -a extra /+: |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
8 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
9 |
compadd "$@" - $(ipadm show-if -p -o ifname) $extra[2,-1] |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
10 |
} |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
11 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
12 |
_ipadm_enabled_ifs() { |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
13 |
# Interfaces not marked "disabled" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
14 |
compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o state,ifname)}:#disabled:*}#*:}" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
15 |
} |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
16 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
17 |
_ipadm_disabled_ifs() { |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
18 |
compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o state,ifname)}#disabled:*}:#*:*}" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
19 |
} |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
20 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
21 |
_ipadm_vnis() { |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
22 |
compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o class,ifname)}#vni:*}:#*:*}" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
23 |
} |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
24 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
25 |
_ipadm_ipmps() { |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
26 |
compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o class,ifname)}#ipmp:*}:#*:*}" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
27 |
} |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
28 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
29 |
_ipadm_get_possible_values() { |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
30 |
local -a proto poss |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
31 |
local cmd |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
32 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
33 |
cmd=${${(M)words:#set-*}/set/show} |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
34 |
if [[ $cmd == "show-prop" ]]; then |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
35 |
# You have to specify a protocol for show-prop if you specify a |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
36 |
# property, so we loop through them all. |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
37 |
poss=() |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
38 |
for proto in ipv4 ipv6 icmp tcp udp sctp; do |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
39 |
poss=( $poss ${(u)=$(ipadm $cmd -c -p ${IPREFIX%=} -o possible $proto 2> /dev/null)//,/ } ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
40 |
done |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
41 |
poss=( ${(u)poss:#\?} ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
42 |
else |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
43 |
proto=${=opt_args[-m]:+-m $opt_args[-m]} |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
44 |
poss=( ${(u)=$(ipadm $cmd -c -p ${IPREFIX%=} $proto -o possible)//,/ } ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
45 |
fi |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
46 |
if [[ $poss[1] == [0-9]##-[0-9]## ]]; then |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
47 |
if (( $#poss > 1 )); then |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
48 |
_message -e "number in ranges ${(j:, :)poss}" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
49 |
else |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
50 |
_message -e "number in range $poss" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
51 |
fi |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
52 |
elif [[ -z $poss[1] ]]; then |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
53 |
_message -e "value" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
54 |
else |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
55 |
compadd "$@" - $poss |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
56 |
fi |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
57 |
} |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
58 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
59 |
_ipadm_addrobjs() { |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
60 |
compadd "$@" - $(ipadm show-addr -p -o addrobj) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
61 |
} |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
62 |
|
837 | 63 |
_ipadm_addrobjs_or_ifs() { |
64 |
compadd "$@" - $(ipadm show-addr -p -o addrobj) \ |
|
65 |
$(ipadm show-if -p -o ifname) |
|
66 |
} |
|
67 |
||
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
68 |
_ipadm_protos() { |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
69 |
compadd "$@" - $(ipadm show-prop -c -o proto) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
70 |
} |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
71 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
72 |
_ipadm() { |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
73 |
local context state line expl |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
74 |
local -A opt_args |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
75 |
local -a subcmds |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
76 |
local -a if_properties if_propproperties if_properties2 |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
77 |
local -a addr_properties addr_propproperties |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
78 |
local -a addrobj_properties |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
79 |
local -a proto_ipv4_properties proto_ipv6_properties proto_tcp_properties |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
80 |
local -a proto_udp_properties proto_sctp_properties proto_icmp_properties |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
81 |
local -a proto_all_properties proto_propproperties |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
82 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
83 |
subcmds=( |
904
114a5240af22
7179129 "zfs create" should be able to complete parent datasets
Danek Duvall <danek.duvall@oracle.com>
parents:
837
diff
changeset
|
84 |
"help" |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
85 |
{"show","disable","enable"}"-if" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
86 |
{"create","delete"}"-ip" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
87 |
{"create","delete"}"-vni" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
88 |
{"create","delete","add","remove"}"-ipmp" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
89 |
{"set","reset","show"}"-ifprop" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
90 |
{"create","delete","show","up","down","refresh","disable","enable"}"-addr" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
91 |
{"set","reset","show"}"-addrprop" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
92 |
{"set","reset","show"}"-prop" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
93 |
) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
94 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
95 |
if_properties=( "ifname" "class" "state" "active" "current" "persistent" "over" ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
96 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
97 |
if_propproperties=( "ifname" "property" "proto" "perm" "current" "persistent" "default" "possible" ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
98 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
99 |
if_properties2=( |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
100 |
"arp:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
101 |
"forwarding:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
102 |
"metric:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
103 |
"mtu:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
104 |
"nud:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
105 |
"usesrc:value:_ipadm_ifs -/ none" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
106 |
"exchange_routes:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
107 |
"group:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
108 |
"standby:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
109 |
) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
110 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
111 |
addr_properties=( |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
112 |
"broadcast:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
113 |
"deprecated:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
114 |
"prefixlen:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
115 |
"private:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
116 |
"reqhost:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
117 |
"transmit:value:_ipadm_get_possible_values" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
118 |
"zone:value:_zones -t c" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
119 |
) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
120 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
121 |
addr_propproperties=( "addrobj" "property" "perm" "current" "persistent" "default" "possible" ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
122 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
123 |
addrobj_properties=( |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
124 |
"addrobj" "type" "state" "current" "persistent" "addr" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
125 |
"cid-type" "cid-value" "begin" "expire" "renew" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
126 |
) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
127 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
128 |
proto_ipv4_properties=( "hostmodel" "ttl" "forwarding" ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
129 |
proto_ipv6_properties=( "hostmodel" "hoplimit" "forwarding" ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
130 |
proto_tcp_properties=( "cong_default" "cong_enabled" "ecn" "extra_priv_ports" "max_buf" "recv_buf" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
131 |
"send_buf" "sack" "smallest_anon_port" "largest_anon_port" "smallest_nonpriv_port" ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
132 |
proto_udp_properties=( "extra_priv_ports" "max_buf" "recv_buf" "send_buf" "smallest_anon_port" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
133 |
"largest_anon_port" "smallest_nonpriv_port" ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
134 |
proto_sctp_properties=( "cong_default" "cong_enabled" "extra_priv_ports" "max_buf" "recv_buf" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
135 |
"send_buf" "smallest_anon_port" "largest_anon_port" "smallest_nonpriv_port" ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
136 |
proto_icmp_properties=( "max_buf" "recv_buf" "send_buf" ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
137 |
proto_all_properties=( $proto_ipv4_properties $proto_ipv6_properties $proto_tcp_properties |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
138 |
$proto_udp_properties $proto_sctp_properties $proto_icmp_properties ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
139 |
proto_all_properties=( $^proto_all_properties:value:_ipadm_get_possible_values ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
140 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
141 |
proto_propproperties=( "proto" "property" "perm" "current" "persistent" "default" "possible" ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
142 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
143 |
if [[ $service == "ipadm" ]]; then |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
144 |
_arguments -C -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
145 |
'-\?[Help]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
146 |
'*::command:->subcmd' && return 0 |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
147 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
148 |
if (( CURRENT == 1 )); then |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
149 |
_wanted commands expl "ipadm subcommand" compadd -a subcmds |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
150 |
return |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
151 |
fi |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
152 |
service="$words[1]" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
153 |
curcontext="${curcontext%:*}=$service:" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
154 |
fi |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
155 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
156 |
case $service in |
904
114a5240af22
7179129 "zfs create" should be able to complete parent datasets
Danek Duvall <danek.duvall@oracle.com>
parents:
837
diff
changeset
|
157 |
("help") |
114a5240af22
7179129 "zfs create" should be able to complete parent datasets
Danek Duvall <danek.duvall@oracle.com>
parents:
837
diff
changeset
|
158 |
_arguments ':subcommand:($subcmds)' |
114a5240af22
7179129 "zfs create" should be able to complete parent datasets
Danek Duvall <danek.duvall@oracle.com>
parents:
837
diff
changeset
|
159 |
;; |
114a5240af22
7179129 "zfs create" should be able to complete parent datasets
Danek Duvall <danek.duvall@oracle.com>
parents:
837
diff
changeset
|
160 |
|
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
161 |
("create-ip") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
162 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
163 |
'(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
164 |
':interface name:' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
165 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
166 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
167 |
("delete-ip") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
168 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
169 |
':interface name:_ipadm_ifs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
170 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
171 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
172 |
("create-vni") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
173 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
174 |
'(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
175 |
':VNI name:' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
176 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
177 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
178 |
("delete-vni") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
179 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
180 |
':VNI name:_ipadm_vnis' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
181 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
182 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
183 |
("create-ipmp") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
184 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
185 |
'(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
186 |
'(-i --interface)'{-i,--interface}'[List of underlying interfaces]:interface name:_values -s , "interface" $(ipadm show-if -p -o ifname)' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
187 |
':IPMP interface name:' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
188 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
189 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
190 |
("delete-ipmp") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
191 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
192 |
'(-f --force)'{-f,--force}'[First remove all underlying interfaces from group]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
193 |
':IPMP interface name:_ipadm_ipmps' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
194 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
195 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
196 |
("add-ipmp") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
197 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
198 |
'(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
199 |
'(-i --interface)'{-i,--interface}'[List of underlying interfaces]:interface name:_values -s , "interface" $(ipadm show-if -p -o ifname)' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
200 |
':IPMP interface name:_ipadm_ipmps' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
201 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
202 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
203 |
("remove-ipmp") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
204 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
205 |
'(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
206 |
'(-i --interface)'{-i,--interface}'[List of underlying interfaces]:interface name:_values -s , "interface" $(ipadm show-if -p -o ifname)' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
207 |
':IPMP interface name:_ipadm_ipmps' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
208 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
209 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
210 |
("show-if") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
211 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
212 |
'(-p --parseable)'{-p,--parseable}'[Parseable output]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
213 |
'(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $if_properties' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
214 |
':interface name:_ipadm_ifs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
215 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
216 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
217 |
("disable-if") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
218 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
219 |
'(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
220 |
':interface name:_ipadm_enabled_ifs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
221 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
222 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
223 |
("enable-if") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
224 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
225 |
'(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
226 |
':interface name:_ipadm_disabled_ifs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
227 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
228 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
229 |
("set-ifprop") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
230 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
231 |
'(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
232 |
'(-m --module)'{-m,--module}'[Protocol]:protocol:(ipv4 ipv6)' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
233 |
'(-p --prop)'{-p,--prop}'[Property to set]:property:_values -s , "property" $if_properties2' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
234 |
':interface name:_ipadm_ifs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
235 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
236 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
237 |
("reset-ifprop") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
238 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
239 |
'(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
240 |
'(-m --module)'{-m,--module}'[Protocol]:protocol:(ipv4 ipv6)' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
241 |
'(-p --prop)'{-p,--prop}'[Property to reset]:property:($if_properties2)' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
242 |
':interface name:_ipadm_ifs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
243 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
244 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
245 |
("show-ifprop") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
246 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
247 |
'(-c --parseable)'{-c,--parseable}'[Parseable output]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
248 |
'(-m --module)'{-m,--module}'[Protocol]:protocol:(ipv4 ipv6)' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
249 |
'(-o --output)'{-o,--output}'[Property properties to display]:property:_values -s , "property" $if_propproperties' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
250 |
'(-p --prop)'{-p,--prop}'[Interface properties to display]:property:_values -s , "property" ${if_properties2%%\:*}' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
251 |
':interface name:_ipadm_ifs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
252 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
253 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
254 |
("create-addr") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
255 |
# This causes all options and arguments following -T to be |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
256 |
# stuck into $opt_args[-T]. It feels hacky, but it seems |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
257 |
# to do the trick. |
837 | 258 |
# XXX When -T is static, it's not necessary. |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
259 |
_arguments -C -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
260 |
'(-t --temporary)'{-t,--temporary}'[Address should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
261 |
'-T[Address type]:*::address type:->newaddr' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
262 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
263 |
if [[ $state == "newaddr" ]]; then |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
264 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
265 |
case ${opt_args[-T]#-T:} in |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
266 |
("static:"*) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
267 |
local -a addrthingsv4 |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
268 |
addrthingsv4=( "local:address: " "remote:address: ") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
269 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
270 |
'(-d --down)'{-d,--down}'[Address should be marked down]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
271 |
'(-a --address)'{-a,--address}'[Address specification]:address:_values -s , "address" $addrthingsv4' \ |
837 | 272 |
':address object name:_ipadm_addrobjs_or_ifs' |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
273 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
274 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
275 |
("dhcp:"*) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
276 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
277 |
'(-w --wait)'{-w,--wait}'[Seconds to wait for completion]:number or "forever":{if [[ -prefix [0-9]## ]]; then _message -e "number of seconds"; else _wanted forever expl "number or \"forever\"" compadd forever; fi}' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
278 |
'-h[Request a specific hostname]:hostname:' \ |
837 | 279 |
':address object name:_ipadm_addrobjs_or_ifs' |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
280 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
281 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
282 |
("addrconf:"*) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
283 |
local -a addrthingsv6 statefulness |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
284 |
addrthingsv6=( "local:interface id: " "remote:interface id: ") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
285 |
statefulness=( "stateful:statefulness:(yes no)" "stateless:statelessness:(yes no)" ) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
286 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
287 |
'(-i --interface-id)'{-i,--interface-id}'[Interface ID]:address:_values -s , "interface id" $addrthingsv6' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
288 |
'(-p --prop)'{-p,--prop}'[Statefulness configuration]:statefulness configuration:_values -s , "statefulness" $statefulness' \ |
837 | 289 |
':address object name:_ipadm_addrobjs_or_ifs' |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
290 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
291 |
(*) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
292 |
_wanted commands expl "address type" compadd static dhcp addrconf |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
293 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
294 |
esac |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
295 |
fi |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
296 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
297 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
298 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
299 |
("delete-addr") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
300 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
301 |
'(-r --release)'{-r,--release}'[Release DHCP-acquired address]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
302 |
':address object name:_ipadm_addrobjs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
303 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
304 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
305 |
("show-addr") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
306 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
307 |
'(-d --dhcp -p --parseable)'{-d,--dhcp}'[Display DHCP status fields]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
308 |
'(-p --parseable -d --dhcp)'{-p,--parseable}'[Parseable output]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
309 |
'(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $addrobj_properties' \ |
837 | 310 |
':address object name:_ipadm_addrobjs_or_ifs' |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
311 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
312 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
313 |
({"up","down","disable","enable"}"-addr") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
314 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
315 |
'(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
316 |
':address object name:_ipadm_addrobjs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
317 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
318 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
319 |
("refresh-addr") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
320 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
321 |
'(-i --inform)'{-i,--inform}'[Retrieve DHCP parameters]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
322 |
':address object name:_ipadm_addrobjs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
323 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
324 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
325 |
("set-addrprop") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
326 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
327 |
'(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
328 |
'(-p --prop)'{-p,--prop}'[Property to set]:property:_values -s , "property" $addr_properties' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
329 |
':address object name:_ipadm_addrobjs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
330 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
331 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
332 |
("reset-addrprop") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
333 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
334 |
'(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
335 |
'(-p --prop)'{-p,--prop}'[Property to reset]:property:(${addr_properties%%\:*})' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
336 |
':address object name:_ipadm_addrobjs' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
337 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
338 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
339 |
("show-addrprop") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
340 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
341 |
'(-c --parseable)'{-c,--parseable}'[Parseable output]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
342 |
'(-o --output)'{-o,--output}'[Property properties to display]:property:_values -s , "property" $addr_propproperties' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
343 |
'(-p --prop)'{-p,--prop}'[Address object properties to display]:property:_values -s , "property" ${addr_properties%%\:*}' \ |
837 | 344 |
':address object name:_ipadm_addrobjs_or_ifs' |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
345 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
346 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
347 |
("set-prop") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
348 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
349 |
'(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
350 |
'(-p --prop)'{-p,--prop}'[Property to set]:property:_values -s , "property" $proto_all_properties' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
351 |
':protocol name:_ipadm_protos' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
352 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
353 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
354 |
("reset-prop") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
355 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
356 |
'(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
357 |
'(-p --prop)'{-p,--prop}'[Property to reset]:property:(${proto_all_properties%%\:*})' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
358 |
':protocol name:_ipadm_protos' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
359 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
360 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
361 |
("show-prop") |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
362 |
_arguments -A "-*" \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
363 |
'(-c --parseable)'{-c,--parseable}'[Parseable output]' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
364 |
'(-o --output)'{-o,--output}'[Property properties to display]:property:_values -s , "property" $proto_propproperties' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
365 |
'(-p --prop)'{-p,--prop}'[Protocol properties to display]:property:_values -s , "property" ${proto_all_properties%%\:*}' \ |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
366 |
':protocol name:_ipadm_protos' |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
367 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
368 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
369 |
(*) |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
370 |
_message "unknown ipadm subcommand: $service" |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
371 |
;; |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
372 |
esac |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
373 |
} |
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
374 |
|
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
375 |
_ipadm "$@" |