_unshare_module()
{
	local cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'--propagation')
			COMPREPLY=( $(compgen -W "slave shared private unchanged" -- $cur) )
			return 0
			;;
		'-s'|'--setgroups')
			COMPREPLY=( $(compgen -W "allow deny" -- $cur) )
			return 0
			;;
		'-h'|'--help'|'-V'|'--version')
			return 0
			;;
	esac
	case $cur in
		-*)
			OPTS="--mount
				--uts
				--ipc
				--net
				--pid
				--user
				--cgroup
				--fork
				--kill-child
				--mount-proc
				--map-root-user
				--propagation
				--setgroups
				--help
				--version"
			COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
			return 0
			;;
	esac
	compopt -o bashdefault
	COMPREPLY=( $(compgen -c -- $cur) )
	return 0
}
complete -F _unshare_module unshare
