(List (= scope= flags=0 words=[] bindings=[('PATH', {[LIT_CHARS /sbin] [LIT_OTHER ":"] [LIT_CHARS /bin] [LIT_OTHER ":"] [LIT_CHARS /usr/sbin] [LIT_OTHER ":"] [LIT_CHARS /usr/bin]})]) (= scope= flags=0 words=[] bindings=[('DESC', {[LIT_CHARS bluetooth]})]) (= scope= flags=0 words=[] bindings=[('DAEMON', {[LIT_CHARS /usr/sbin/bluetoothd]})]) (= scope= flags=0 words=[] bindings=[('HCIATTACH', {[LIT_CHARS /usr/sbin/hciattach]})]) (= scope= flags=0 words=[] bindings=[('HID2HCI_ENABLED', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('HID2HCI_UNDO', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('UART_CONF', {[LIT_CHARS /etc/bluetooth/uart]})]) (= scope= flags=0 words=[] bindings=[('RFCOMM_NAME', {[LIT_CHARS rfcomm]})]) (= scope= flags=0 words=[] bindings=[('RFCOMM', {[LIT_CHARS /usr/bin/] [VarSub RFCOMM_NAME]})]) (= scope= flags=0 words=[] bindings=[('RFCOMM_CONF', {[LIT_CHARS /etc/bluetooth/] [VarSub RFCOMM_NAME] [LIT_CHARS .conf]})]) (= scope= flags=0 words=[] bindings=[('SDPTOOL', {[LIT_CHARS /usr/bin/sdptool]})]) (= scope= flags=0 words=[] bindings=[('SSD_OPTIONS', {[DQ [LIT_CHARS "--oknodo --quiet --exec "][VarSub DAEMON]]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[VarSub DAEMON]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[LIT_CHARS /etc/default/bluetooth]}) (Com {[LIT_CHARS .]} {[LIT_CHARS /etc/default/bluetooth]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[LIT_CHARS /etc/default/rcS]}) (Com {[LIT_CHARS .]} {[LIT_CHARS /etc/default/rcS]}) ) (Com {[LIT_CHARS .]} {[LIT_CHARS /lib/lsb/init-functions]}) (Com {[LIT_CHARS set]} {[LIT_CHARS -e]}) (FunctionDef run_sdptool [] (List (= scope= flags=0 words=[{[LIT_CHARS IFS]}, {[LIT_CHARS o]}] bindings=[]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -x]} {[VarSub SDPTOOL]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) (If (Pipeline! (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub SDPTOOL_OPTIONS]]}) ) (List (= scope= flags=0 words=[] bindings=[('IFS', {[DQ [LIT_CHARS ";"]]})]) (For o [{[VarSub SDPTOOL_OPTIONS]}]) (List (= scope= flags=0 words=[] bindings=[('IFS', {[DQ [LIT_CHARS " "]]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub VERBOSE]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (Com {[VarSub SDPTOOL]} {[VarSub o]}) (ElseTrue) (Com {[VarSub SDPTOOL]} {[VarSub o]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) ) ) ) ) ) ) (FunctionDef hci_input [] (AndOr OP_OR_IF (Com {[LIT_CHARS log_progress_msg]} {[DQ [LIT_CHARS "switching to HID/HCI no longer done in init script, see /usr/share/doc/bluez/NEWS.Debian.gz"]]}) (Com {[LIT_OTHER ":"]}) ) ) (Com {[LIT_CHARS alias]} {[LIT_VAR_LIKE "enable_hci_input="] [LIT_CHARS hci_input] =}) (Com {[LIT_CHARS alias]} {[LIT_VAR_LIKE "disable_hci_input="] [LIT_CHARS hci_input] =}) (FunctionDef start_uarts [] (List (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[VarSub HCIATTACH]} {[LIT_OTHER "]"]}) (AndOr OP_OR_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[VarSub UART_CONF]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS return]}) ) ) (Pipeline (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[SQ ]} {[VarSub UART_CONF]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS i]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub VERBOSE]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (Com {[VarSub HCIATTACH]} {[VarSub i]}) (ElseTrue) (Com {[VarSub HCIATTACH]} {[VarSub i]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) ) ) ) ) (FunctionDef stop_uarts [] (AndOr OP_OR_IF (Com {[LIT_CHARS killall]} {[VarSub HCIATTACH transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_OTHER ":"]}) ) ) (FunctionDef start_rfcomm [] (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -x]} {[VarSub RFCOMM]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[VarSub RFCOMM_CONF]} {[LIT_OTHER "]"]}) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub VERBOSE]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS log_progress_msg]} {[DQ [VarSub RFCOMM transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]]}) (AndOr OP_OR_IF (Com {[VarSub RFCOMM]} {[LIT_CHARS -f]} {[VarSub RFCOMM_CONF]} {[LIT_CHARS bind]} {[LIT_CHARS all]}) (Com {[LIT_OTHER ":"]}) ) ) (ElseTrue) (AndOr OP_OR_IF (Com {[VarSub RFCOMM]} {[LIT_CHARS -f]} {[VarSub RFCOMM_CONF]} {[LIT_CHARS bind]} {[LIT_CHARS all]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_OTHER ":"]}) ) ) ) ) (FunctionDef stop_rfcomm [] (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -x]} {[VarSub RFCOMM]} {[LIT_OTHER "]"]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub VERBOSE]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS log_progress_msg]} {[DQ [VarSub RFCOMM transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]]}) (AndOr OP_OR_IF (Com {[VarSub RFCOMM]} {[LIT_CHARS unbind]} {[LIT_CHARS all]}) (Com {[LIT_OTHER ":"]}) ) ) (ElseTrue) (AndOr OP_OR_IF (Com {[VarSub RFCOMM]} {[LIT_CHARS unbind]} {[LIT_CHARS all]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_OTHER ":"]}) ) ) ) ) (FunctionDef restart_rfcomm [] (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -x]} {[VarSub RFCOMM]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[VarSub RFCOMM_CONF]} {[LIT_OTHER "]"]}) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub VERBOSE]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS log_progress_msg]} {[DQ [VarSub RFCOMM transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]]}) (AndOr OP_OR_IF (Com {[VarSub RFCOMM]} {[LIT_CHARS unbind]} {[LIT_CHARS all]}) (Com {[LIT_OTHER ":"]}) ) (AndOr OP_OR_IF (Com {[VarSub RFCOMM]} {[LIT_CHARS -f]} {[VarSub RFCOMM_CONF]} {[LIT_CHARS bind]} {[LIT_CHARS all]}) (Com {[LIT_OTHER ":"]}) ) ) (ElseTrue) (List (AndOr OP_OR_IF (Com {[VarSub RFCOMM]} {[LIT_CHARS unbind]} {[LIT_CHARS all]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_OTHER ":"]}) ) (AndOr OP_OR_IF (Com {[VarSub RFCOMM]} {[LIT_CHARS -f]} {[VarSub RFCOMM_CONF]} {[LIT_CHARS bind]} {[LIT_CHARS all]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_OTHER ":"]}) ) ) ) ) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS start]}], [{[LIT_CHARS stop]}], [{[LIT_CHARS restart]}, {[LIT_CHARS force-reload]}], [{[LIT_CHARS status]}], [{[LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS log_daemon_msg]} {[DQ [LIT_CHARS "Starting "][VarSub DESC]]}) (If (Com {[LIT_CHARS test]} {[DQ [VarSub BLUETOOTH_ENABLED]]} {[LIT_OTHER "="]} {[LIT_CHARS 0]}) (List (Com {[LIT_CHARS log_progress_msg]} {[DQ [LIT_CHARS "disabled. see /etc/default/bluetooth"]]}) (Com {[LIT_CHARS log_end_msg]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) ) (Com {[LIT_CHARS start-stop-daemon]} {[LIT_CHARS --start]} {[VarSub SSD_OPTIONS]}) (Com {[LIT_CHARS log_progress_msg]} {[DQ [VarSub DAEMON transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS run_sdptool]}) (Com {[LIT_OTHER ":"]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS start_uarts]}) (Com {[LIT_OTHER ":"]}) ) (If (Com {[LIT_CHARS test]} {[DQ [VarSub HID2HCI_ENABLED]]} {[LIT_OTHER "="]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS enable_hci_input]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS start_rfcomm]}) (Com {[LIT_OTHER ":"]}) ) (If (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub HIDD_ENABLED]]} {[LIT_OTHER "="]} {[LIT_CHARS 1]}) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub PAND_ENABLED]]} {[LIT_OTHER "="]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS test]} {[DQ [VarSub DUND_ENABLED]]} {[LIT_OTHER "="]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS log_progress_msg]} {[DQ [LIT_CHARS "compatibily daemons not started, see bluez-compat package"]]}) ) (Com {[LIT_CHARS log_end_msg]} {[LIT_CHARS 0]}) ) (List (Com {[LIT_CHARS log_daemon_msg]} {[DQ [LIT_CHARS "Stopping "][VarSub DESC]]}) (If (Com {[LIT_CHARS test]} {[DQ [VarSub BLUETOOTH_ENABLED]]} {[LIT_OTHER "="]} {[LIT_CHARS 0]}) (List (Com {[LIT_CHARS log_progress_msg]} {[DQ [LIT_CHARS disabled.]]}) (Com {[LIT_CHARS log_end_msg]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS stop_rfcomm]}) (Com {[LIT_OTHER ":"]}) ) (If (Com {[LIT_CHARS test]} {[DQ [VarSub HID2HCI_UNDO]]} {[LIT_OTHER "="]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS disable_hci_input]}) ) (Com {[LIT_CHARS start-stop-daemon]} {[LIT_CHARS --stop]} {[VarSub SSD_OPTIONS]}) (Com {[LIT_CHARS log_progress_msg]} {[DQ [VarSub DAEMON]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS stop_uarts]}) (Com {[LIT_OTHER ":"]}) ) (Com {[LIT_CHARS log_end_msg]} {[LIT_CHARS 0]}) ) (List (Com {[VarSub 0]} {[LIT_CHARS stop]}) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 1]}) (Com {[VarSub 0]} {[LIT_CHARS start]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS status_of_proc]} {[DQ [VarSub DAEMON]]} {[DQ [VarSub DESC]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS exit]} {[VarSub ?]}) ) ) (List (= scope= flags=0 words=[] bindings=[('N', {[LIT_CHARS /etc/init.d/bluetooth]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "][VarSub N][LIT_CHARS " {start|stop|restart|force-reload|status}"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) )