summaryrefslogtreecommitdiffstats
path: root/completions/iscsiadm
diff options
context:
space:
mode:
Diffstat (limited to 'completions/iscsiadm')
-rw-r--r--completions/iscsiadm66
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