diff options
Diffstat (limited to '')
-rw-r--r-- | completions/iscsiadm | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/completions/iscsiadm b/completions/iscsiadm new file mode 100644 index 0000000..7786ddc --- /dev/null +++ b/completions/iscsiadm @@ -0,0 +1,66 @@ +# iscsiadm(1) completion -*- shell-script -*- + +_iscsiadm() +{ + local cur prev words cword split + _init_completion -s || return + + case $prev in + --mode | -!(-*)m) + COMPREPLY=($(compgen -W 'discovery node session iface fw host' \ + -- "$cur")) + return + ;; + --op | -!(-*)o) + COMPREPLY=($(compgen -W 'new delete update show' -- "$cur")) + return + ;; + --type | -!(-*)t) + COMPREPLY=($(compgen -W 'sendtargets st slp isns fw' -- "$cur")) + return + ;; + --loginall | --logoutall | -!(-*)[LU]) + COMPREPLY=($(compgen -W 'all manual automatic' -- "$cur")) + return + ;; + esac + + $split && return + + local options + if ((cword > 1)); then + + case ${words[2]} in + discovery) + options='--help --version --debug --print --interface --type \ + --portal --login --op --name --value' + ;; + node) + options='--help --version --debug --print --loginall \ + --logoutall--show -T --portal --interface --login \ + --logout --rescan --stats --op --name --value' + ;; + session) + options='--help --version --debug --print --sid --logout \ + --rescan --stats' + ;; + iface) + options='--help --version --debug --print --interface --op \ + --name --value' + ;; + fw) + options='--login' + ;; + host) + options='--print -H' + ;; + esac + else + options='--mode' + fi + + COMPREPLY=($(compgen -W "$options" -- "$cur")) +} && + complete -F _iscsiadm iscsiadm + +# ex: filetype=sh |