about summary refs log tree commit diff
path: root/Completion/Solaris/Command/_netstat
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Solaris/Command/_netstat')
-rw-r--r--Completion/Solaris/Command/_netstat61
1 files changed, 61 insertions, 0 deletions
diff --git a/Completion/Solaris/Command/_netstat b/Completion/Solaris/Command/_netstat
new file mode 100644
index 000000000..bf8e5aaa4
--- /dev/null
+++ b/Completion/Solaris/Command/_netstat
@@ -0,0 +1,61 @@
+#compdef netstat
+
+_netstat() {
+	local -a f_rules
+
+	f_rules=(
+		'af\::specify address family: inet, inet6, unix, number'
+		'outif\::specify output interface: ifName, ifIndex, any, none'
+		'dst\::specify destination IP: ip-addr[/mask], any, none'
+		'flags\::select routes tagged with flags: [+ -]?[ABDGHLMSU]+' 
+	)
+
+	_arguments \
+		- set1 \
+		'-a[show state of all sockets, all routing tables or all interfaces]' \
+		'-R[show extended security attributes for sockets and routing tables]' \
+		'-n[do not resolve addresses to names]' \
+		'-v[verbose]' \
+		'-f[specify address family]:address family:(inet inet6 unix)' \
+		'-P[specify protocol]:protocol:(ip ipv6 icmp icmpv6 igmp udp tcp rawip)' \
+		- set2 \
+		'-r[show routing table]' \
+		'-f[filter routing table]:rule:(($f_rules))' \
+		'-a[show state of all sockets, all routing tables or all interfaces]' \
+		'-v[verbose]' \
+		'-n[do not resolve addresses to names]' \
+		'-R[show extended security attributes for sockets and routing tables]' \
+		- set3 \
+		'-g[show multicast group memberships]' \
+		'-n[do not resolve addresses to names]' \
+		'-v[verbose]' \
+		'-f[specify address family]:address family:(inet inet6 unix)' \
+		- set4 \
+		'-i[show state of interfaces]' \
+		'-a[show state of all sockets, all routing tables or all interfaces]' \
+		'-f[specify address family]:address family:(inet inet6 unix)' \
+		'-n[do not resolve addresses to names]' \
+		'-I[select interface]:interface:_net_interfaces' \
+		- set5 \
+		'-m[show STREAMS memory statistics]' \
+		'-v[verbose]' \
+		- set6 \
+		'-p[show net to media tables]' \
+		'-n[do not resolve addresses to names]' \
+		'-f[specify address family]:address family:(inet inet6 unix)' \
+		- set7 \
+		'-s[show per protocol statistics]' \
+		'-f[specify address family]:address family:(inet inet6 unix)' \
+		'-P[specify protocol]:protocol:(ip ipv6 icmp icmpv6 igmp udp tcp rawip)' \
+		- set8 \
+		'-M[show multicast routing tables]' \
+		'-f[specify address family]:address family:(inet inet6 unix)' \
+		'-n[do not resolve addresses to names]' \
+		'-s[show per protocol statistics]' \
+		- set9 \
+		'-D[show status of DHCP configured interfaces]' \
+		'-f[specify address family]:address family:(inet inet6 unix)' \
+		'-I[select interface]:interface:_net_interfaces' \
+}
+
+_netstat "$@"