mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-07-29 19:18:36 -07:00
69 lines
2 KiB
Bash
69 lines
2 KiB
Bash
# iperf(1) completion -*- shell-script -*-
|
|
|
|
_iperf()
|
|
{
|
|
local cur prev words cword split
|
|
_init_completion -s -n : || return
|
|
|
|
case $prev in
|
|
--help|--version|--interval|--len|--port|--window|--mss|--bandwidth|\
|
|
--num|--time|--listenport|--parallel|--ttl|--linux-congestion|--omit|\
|
|
--congestion|--bytes|--blockcount|--cport|--set-mss|--flowlabel|\
|
|
--title|--tos|--affinity|-!(-*)[hvilpwMbntLPTZCkOSA])
|
|
return
|
|
;;
|
|
--format|-!(-*)f)
|
|
COMPREPLY=( $(compgen -W 'k m g K M G' -- "$cur") )
|
|
return
|
|
;;
|
|
--output|--fileinput|-!(-*)[oF])
|
|
_filedir
|
|
return
|
|
;;
|
|
--bind|-!(-*)B)
|
|
_available_interfaces -a
|
|
_ip_addresses -a
|
|
__ltrim_colon_completions "$cur"
|
|
return
|
|
;;
|
|
--client|-!(-*)c)
|
|
_known_hosts_real -- "$cur"
|
|
return
|
|
;;
|
|
--reportexclude|-!(-*)x)
|
|
COMPREPLY=( $(compgen -W 'C D M S V' -- "$cur") )
|
|
return
|
|
;;
|
|
--reportstyle|-!(-*)y)
|
|
COMPREPLY=( $(compgen -W 'C' -- "$cur") )
|
|
return
|
|
;;
|
|
--logfile)
|
|
_filedir log
|
|
return
|
|
;;
|
|
esac
|
|
|
|
$split && return
|
|
|
|
# Filter mode specific options
|
|
local i filter=cat
|
|
for i in "${words[@]}"; do
|
|
case $i in
|
|
-s|--server)
|
|
filter='command sed -e /^Client.specific/,/^\(Server.specific.*\)\?$/d'
|
|
;;
|
|
-c|--client)
|
|
filter='command sed -e /^Server.specific/,/^\(Client.specific.*\)\?$/d'
|
|
;;
|
|
esac
|
|
done
|
|
[[ $filter != cat ]] && filter+=' -e /--client/d -e /--server/d'
|
|
|
|
COMPREPLY=( $(compgen -W \
|
|
'$("$1" --help 2>&1 | $filter | _parse_help -)' -- "$cur") )
|
|
[[ $COMPREPLY == *= ]] && compopt -o nospace
|
|
} &&
|
|
complete -F _iperf iperf iperf3
|
|
|
|
# ex: filetype=sh
|