author | Danek Duvall <danek.duvall@oracle.com> |
Thu, 17 Feb 2011 13:44:40 -0800 | |
changeset 93 | b579c7b1bb44 |
permissions | -rw-r--r-- |
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1 |
#compdef netstat |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
2 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
3 |
_netstat() { |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
4 |
local -a f_rules |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
5 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
6 |
f_rules=( |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
7 |
'af\::specify address family: inet, inet6, unix, number' |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
8 |
'outif\::specify output interface: ifName, ifIndex, any, none' |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
9 |
'dst\::specify destination IP: ip-addr[/mask], any, none' |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
10 |
'flags\::select routes tagged with flags: [+ -]?[ABDGHLMSU]+' |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
11 |
) |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
12 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
13 |
_arguments \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
14 |
- set1 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
15 |
'-a[show state of all sockets, all routing tables or all interfaces]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
16 |
'-R[show extended security attributes for sockets and routing tables]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
17 |
'-n[do not resolve addresses to names]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
18 |
'-v[verbose]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
19 |
'-f[specify address family]:address family:(inet inet6 unix)' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
20 |
'-P[specify protocol]:protocol:(ip ipv6 icmp icmpv6 igmp udp tcp rawip)' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
21 |
- set2 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
22 |
'-r[show routing table]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
23 |
'-f[filter routing table]:rule:(($f_rules))' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
24 |
'-a[show state of all sockets, all routing tables or all interfaces]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
25 |
'-v[verbose]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
26 |
'-n[do not resolve addresses to names]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
27 |
'-R[show extended security attributes for sockets and routing tables]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
28 |
- set3 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
29 |
'-g[show multicast group memberships]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
30 |
'-n[do not resolve addresses to names]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
31 |
'-v[verbose]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
32 |
'-f[specify address family]:address family:(inet inet6 unix)' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
33 |
- set4 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
34 |
'-i[show state of interfaces]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
35 |
'-a[show state of all sockets, all routing tables or all interfaces]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
36 |
'-f[specify address family]:address family:(inet inet6 unix)' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
37 |
'-n[do not resolve addresses to names]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
38 |
'-I[select interface]:interface:_net_interfaces' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
39 |
- set5 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
40 |
'-m[show STREAMS memory statistics]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
41 |
'-v[verbose]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
42 |
- set6 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
43 |
'-p[show net to media tables]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
44 |
'-n[do not resolve addresses to names]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
45 |
'-f[specify address family]:address family:(inet inet6 unix)' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
46 |
- set7 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
47 |
'-s[show per protocol statistics]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
48 |
'-f[specify address family]:address family:(inet inet6 unix)' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
49 |
'-P[specify protocol]:protocol:(ip ipv6 icmp icmpv6 igmp udp tcp rawip)' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
50 |
- set8 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
51 |
'-M[show multicast routing tables]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
52 |
'-f[specify address family]:address family:(inet inet6 unix)' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
53 |
'-n[do not resolve addresses to names]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
54 |
'-s[show per protocol statistics]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
55 |
- set9 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
56 |
'-D[show status of DHCP configured interfaces]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
57 |
'-f[specify address family]:address family:(inet inet6 unix)' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
58 |
'-I[select interface]:interface:_net_interfaces' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
59 |
} |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
60 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
61 |
_netstat "$@" |