home *** CD-ROM | disk | FTP | other *** search
- # bash completion for bluez utils
-
- have hcitool && {
- _bluetooth_adresses()
- {
- if [ -n "${COMP_BLUETOOTH_SCAN:-}" ]; then
- COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W "$( hcitool scan | \
- awk '/^\t/{print $1}' )" -- "$cur" ) )
- fi
- }
-
- _bluetooth_devices()
- {
- COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W "$( hcitool dev | \
- awk '/^\t/{print $1}' )" -- "$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" ) )
- }
-
- _hcitool()
- {
- local cur prev split=false arg
-
- COMPREPLY=()
- _get_comp_words_by_ref cur prev
-
- _split_longopt && split=true
-
- case $prev in
- -i)
- _bluetooth_devices
- return 0;
- ;;
- --role)
- COMPREPLY=( $( compgen -W 'm s' -- "$cur" ) )
- return 0;
- ;;
- --pkt-type)
- _bluetooth_packet_types
- return 0;
- ;;
- esac
-
- $split && return 0
-
- _get_first_arg
- if [ -z $arg ]; then
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--help -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 $arg 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 split=false
-
- COMPREPLY=()
- _get_comp_words_by_ref cur prev
-
- _split_longopt && split=true
-
- case $prev in
- --bdaddr)
- _bluetooth_adresses
- return 0;
- ;;
- esac
-
- $split && return 0
-
- _get_first_arg
- if [ -z $arg ]; 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 $arg 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=()
- _get_comp_words_by_ref cur prev
-
- 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=()
- _get_comp_words_by_ref cur prev
-
- case $prev in
- -f|--config)
- _filedir
- return 0;
- ;;
- -i)
- _bluetooth_devices
- _bluetooth_adresses
- return 0;
- ;;
- esac
-
- _get_first_arg
- if [ -z $arg ]; then
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--help -a --raw \
- --config -i --auth --encrypt --secure --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 $arg in
- connect|bind)
- if [ $args -eq 3 ]; then
- _bluetooth_adresses
- fi
- ;;
- esac
- fi
- fi
- }
- complete -F _rfcomm rfcomm
-
- _ciptool()
- {
- local cur prev
-
- COMPREPLY=()
- _get_comp_words_by_ref cur prev
-
- case $prev in
- -i)
- _bluetooth_devices
- _bluetooth_adresses
- return 0;
- ;;
- esac
-
- _get_first_arg
- if [ -z $arg ]; then
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--help -i' -- "$cur" ) )
- else
- COMPREPLY=( $( compgen -W 'show search connect release \
- loopback' -- "$cur" ) )
- fi
- else
- case $arg 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=()
- _get_comp_words_by_ref cur prev
-
- case $prev in
- -d|--device)
- _bluetooth_devices
- return 0;
- ;;
- esac
-
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--help --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=()
- _get_comp_words_by_ref cur
-
- _get_first_arg
- if [ -z $arg ]; then
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--help --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 $arg 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=()
- _get_comp_words_by_ref cur
-
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-n -p -t -b -s -l' -- "$cur" ) )
- else
- _count_args
- case $args in
- 1)
- COMPREPLY=( $( printf '%s\n' /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=()
- _get_comp_words_by_ref cur
-
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--help --quiet -0 --tohci -1 \
- --tohid' -- "$cur" ) )
- fi
- }
- complete -F _hid2hci hid2hci
-
- _avctrl()
- {
- local cur
-
- COMPREPLY=()
- _get_comp_words_by_ref cur
-
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--help --quiet' -- "$cur" ) )
- else
- _count_args
- if [ $args -eq 1 ]; then
- COMPREPLY=( $( compgen -W 'discover switch' -- "$cur" ) )
- fi
- fi
- }
- complete -F _avctrl avctrl
- }
-
- # Local variables:
- # mode: shell-script
- # sh-basic-offset: 4
- # sh-indent-comment: t
- # indent-tabs-mode: nil
- # End:
- # ex: ts=4 sw=4 et filetype=sh
-