summaryrefslogtreecommitdiff
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 00000000..326dc208
--- /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
+ -m|--mode)
+ COMPREPLY=( $( compgen -W 'discovery node session iface fw host' \
+ -- "$cur" ) )
+ return 0
+ ;;
+ -o|--op)
+ COMPREPLY=( $( compgen -W 'new delete update show' -- "$cur" ) )
+ return 0
+ ;;
+ -t|--type)
+ COMPREPLY=( $( compgen -W 'sendtargets st slp isns fw' -- "$cur" ) )
+ return 0
+ ;;
+ -L|-U|--loginall|--logoutall)
+ COMPREPLY=( $( compgen -W 'all manual automatic' -- "$cur" ) )
+ return 0
+ ;;
+ esac
+
+ $split && return 0
+
+ local options
+ if [[ $cword -gt 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: ts=4 sw=4 et filetype=sh