Sophie

Sophie

distrib > Mandriva > 2009.0 > x86_64 > media > main-testing-src > by-pkgid > 64d93c4fd782a6bc85d0d70a321c5259 > files > 7

bluez-utils-3.36-6mdv2009.0.src.rpm

# bash completion for bluez-utils
# $Id: vpnc 341 2007-01-16 10:57:23Z guillomovitch $

_bluetooth_adresses()
{
	if [ -n "${COMP_BLUETOOTH_SCAN:-}" ]; then
		COMPREPLY=( ${COMPREPLY[@]:-} $( hcitool scan | \
			awk '/^\t/{print $1}' | grep "^$cur" ) )
	fi
}

_bluetooth_devices()
{
	COMPREPLY=( ${COMPREPLY[@]:-} $( hcitool dev | \
		awk '/^\t/{print $1}' | grep "^$cur" ) )
}

_bluetooth_services()
{
	COMPREPLY=( $( compgen -W 'DID SP DUN LAN FAX OPUSH FTP HS HF HFAG \
		SAP NAP GN PANU HCRP HID CIP A2SRC A2SNK AVRCT AVRTG UDIUE \
		UDITE SYNCML' -- $cur ) )
}

_bluetooth_packet_types()
{
	COMPREPLY=( $( compgen -W 'DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3' -- \
		$cur ) )
}

_get_command() 
{
	local i

	command=
	for (( i=1; i < COMP_CWORD; i++ )); do
		if [[ "${COMP_WORDS[i]}" != -* ]]; then
			command=${COMP_WORDS[i]}
			break
		fi
	done
}

_hcitool()
{
	local cur prev

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}
	prev=${COMP_WORDS[COMP_CWORD-1]}

	case $prev in
		-i)
			_bluetooth_devices
			return 0;
			;;
	esac

	# --name=value style option
	if [[ "$cur" == *=* ]]; then
		prev=${cur/=*/}
		cur=${cur/*=/}
		case $prev in
			--role)
				COMPREPLY=( $( compgen -W 'm s' -- $cur ) )
				return 0;
				;;
			--pkt-type)
				_bluetooth_packet_types
				return 0;
				;;
		esac
	fi


	_get_command
	if [ -z $command ]; then
		if [[ "$cur" == -* ]]; then
			COMPREPLY=( $( compgen -W '-h -i' -- $cur ) )
		else
			COMPREPLY=( $( compgen -W 'dev inq scan name info \
				spinq epinq cmd con cc dc sr cpt rssi lq tpl \
				afh lst auth enc key clkoff clock' -- $cur ) )
		fi
	else
		case $command in
			@(name|info|dc|rssi|lq|afh|auth|key|clkoff|lst))
				_count_args
				if [ $args -eq 2 ]; then
					_bluetooth_adresses
				fi
				;;
			cc)
				if [[ "$cur" == -* ]]; then
					COMPREPLY=( $( compgen -W '--role= \
						--pkt-type=' -- $cur ) )
				else
					_count_args
					if [ $args -eq 2 ]; then
						_bluetooth_adresses
					fi
				fi
				;;
			sr)
				_count_args
				if [ $args -eq 2 ]; then
					_bluetooth_adresses
				else
					COMPREPLY=( $( compgen -W \
						'master slave' -- $cur ) )
				fi
				;;
			cpt)
				_count_args
				if [ $args -eq 2 ]; then
					_bluetooth_adresses
				else
					_bluetooth_packet_types
				fi
				;;
			@(tpl|enc|clock))
				_count_args
				if [ $args -eq 2 ]; then
					_bluetooth_adresses
				else
					COMPREPLY=( $( compgen -W \
						'0 1' -- $cur ) )
				fi
				;;
		esac
	fi
}
complete -F _hcitool hcitool

_sdptool()
{
	local cur prev

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}
	prev=${COMP_WORDS[COMP_CWORD-1]}

	case $prev in
		--bdaddr)
			_bluetooth_adresses
			return 0;
			;;
	esac

	_get_command
	if [ -z $command ]; then
		if [[ "$cur" == -* ]]; then
			COMPREPLY=( $( compgen -W '--help' -- $cur ) )
		else
			COMPREPLY=( $( compgen -W 'search browse records add \
				del get setattr setseq' -- $cur ) )
		fi
	else
		case $command in
			search)
				if [[ "$cur" == -* ]]; then
					COMPREPLY=( $( compgen -W '--bdaddr \
						--tree --raw --xml' -- $cur ) )
				else	
					_bluetooth_services
				fi
				;;
			@(browse|records))
				if [[ "$cur" == -* ]]; then
					COMPREPLY=( $( compgen -W '--tree \
						--raw --xml' -- $cur ) )
				else	
					_bluetooth_adresses
				fi
				;;
			add)
				if [[ "$cur" == -* ]]; then
					COMPREPLY=( $( compgen -W '--handle= \
						--channel=' -- $cur ) )
				else
					_bluetooth_services
				fi
				;;
			get)
				if [[ "$cur" == -* ]]; then
					COMPREPLY=( $( compgen -W '--bdaddr \
						--tree --raw --xml' -- $cur ) )
				fi
				;;
		esac
	fi
}
complete -F _sdptool sdptool

_l2ping()
{
	local cur prev

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}
	prev=${COMP_WORDS[COMP_CWORD-1]}

	case $prev in
		-i)
			_bluetooth_devices
			return 0;
			;;
	esac

	if [[ "$cur" == -* ]]; then
		COMPREPLY=( $( compgen -W '-i -s -c -t -f -r' -- $cur ) )
	else
		_bluetooth_adresses
	fi

}
complete -F _l2ping l2ping

_rfcomm()
{
	local cur prev

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}
	prev=${COMP_WORDS[COMP_CWORD-1]}

	case $prev in
		-@(f|-config))
			_filedir
			return 0;
			;;
		-i)
			_bluetooth_devices
			_bluetooth_adresses
			return 0;
			;;
	esac

	_get_command
	if [ -z $command ]; then
		if [[ "$cur" == -* ]]; then
			COMPREPLY=( $( compgen -W '-h --help -a -r --raw -f \
				--config -i -A --auth -E --encrypt -S --secure \
				-M --master' -- $cur ) )
		else
			COMPREPLY=( $( compgen -W 'show connect listen watch \
				bind release' -- $cur ) )
		fi
	else
		_count_args
		if [ $args -eq 2 ]; then
			_bluetooth_devices
		else
			case $command in
				@(connect|bind))
					if [ $args -eq 3 ]; then
						_bluetooth_adresses
					fi
					;;
			esac
		fi
	fi
}
complete -F _rfcomm rfcomm

_ciptool()
{
	local cur prev

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}
	prev=${COMP_WORDS[COMP_CWORD-1]}

	case $prev in
		-i)
			_bluetooth_devices
			_bluetooth_adresses
			return 0;
			;;
	esac

	_get_command
	if [ -z $command ]; then
		if [[ "$cur" == -* ]]; then
			COMPREPLY=( $( compgen -W '-h --help -i' -- $cur ) )
		else
			COMPREPLY=( $( compgen -W 'show search connect release \
				loopback' -- $cur ) )
		fi
	else
		case $command in
			@(connect|release|loopback))
				_count_args
				if [ $args -eq 2 ]; then
					_bluetooth_adresses
				fi
				;;
		esac
	fi
}
complete -F _ciptool ciptool

_dfutool()
{
	local cur prev

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}
	prev=${COMP_WORDS[COMP_CWORD-1]}

	case $prev in
		-@(d|-device))
			_bluetooth_devices
			return 0;
			;;
	esac

	if [[ "$cur" == -* ]]; then
		COMPREPLY=( $( compgen -W '-h --help -d --device' -- $cur ) )
	else
		_count_args
		case $args in
			1)
				COMPREPLY=( $( compgen -W 'verify modify \
					upgrade archive' -- $cur ) )
				;;
			2)
				_filedir
				;;
		esac
	fi
}
complete -F _dfutool dfutool

_hciconfig()
{
	local cur

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}

	_get_command
	if [ -z $command ]; then
		if [[ "$cur" == -* ]]; then
			COMPREPLY=( $( compgen -W '-h --help -a --all' -- $cur ) )
		else
			COMPREPLY=( $( compgen -W 'up down reset rstat auth \
				noauth encrypt noencrypt secmgr nosecmgr \
				piscan noscan iscan pscan ptype name class \
				voice iac inqmode inqdata inqtype inqparams \
				pageparms pageto afhmode aclmtu scomtu putkey \
				delkey commands features version revision lm' \
				-- $cur ) ) 
		fi
	else
		case $command in
			@(putkey|delkey))
				_count_args
				if [ $args -eq 2 ]; then
					_bluetooth_adresses
				fi
				;;
			lm)
				_count_args
				if [ $args -eq 2 ]; then
					COMPREPLY=( $( compgen -W 'MASTER \
						SLAVE NONE ACCEPT' -- $cur ) )
				fi
				;;
			ptype)
				_count_args
				if [ $args -eq 2 ]; then
					_bluetooth_packet_types
				fi
				;;
		esac
	fi
}
complete -F _hciconfig hciconfig

_hciattach()
{
	local cur

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}

	if [[ "$cur" == -* ]]; then
		COMPREPLY=( $( compgen -W '-n -p -t -b -s -l' -- $cur ) )
	else
		_count_args
		case $args in
			1)
				COMPREPLY=( $( command ls /dev/tty* ) )
				COMPREPLY=( $( compgen -W '${COMPREPLY[@]} \
					${COMPREPLY[@]#/dev/}' -- $cur ) )
				;;
			2)
				COMPREPLY=( $( compgen -W 'any ericsson digi \
					xircom csr bboxes swave bcsp 0x0105 \
					0x080a 0x0160 0x0002' -- $cur ) )
				;;
			3)
				COMPREPLY=( $( compgen -W '9600 19200 38400 \
					57600 115200 230400 460800 921600' \
					-- $cur ) )
				;;
			4)
				COMPREPLY=( $( compgen -W 'flow noflow' \
					-- $cur ) )
				;;
			5)
				_bluetooth_adresses
				;;
		esac
	fi

}
complete -F _hciattach hciattach

_hid2hci()
{
	local cur

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}

	if [[ "$cur" == -* ]]; then
		COMPREPLY=( $( compgen -W '-h --help -q --quiet -0 --tohci -1 \
			--tohid' -- $cur ) )
	fi
}
complete -F _hid2hci hid2hci

_avctrl()
{
	local cur

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}

	if [[ "$cur" == -* ]]; then
		COMPREPLY=( $( compgen -W '-h --help -q --quiet' -- $cur ) )
	else
		_count_args
		if [ $args -eq 1 ]; then
			COMPREPLY=( $( compgen -W 'discover switch' -- $cur ) )
		fi
	fi
}
complete -F _avctrl avctrl