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