#!/bin/sh # # Copyright (C) 2007 Bastien Nocera # Copyright (C) 2007 David Zeuthen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. DELL_WCTL=/usr/bin/dellWirelessCtl if [ -x "/usr/sbin/dellWirelessCtl" ]; then DELL_WCTL=/usr/sbin/dellWirelessCtl fi if [ "$HAL_PROP_KILLSWITCH_TYPE" = "bluetooth" ]; then if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "sonypic" ]; then value="`hal-system-sonypic getbluetooth`" if [ $? -ne 0 ]; then echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "hal-system-sonypic returned unexpected value" >&2 exit 1 fi exit ${value} elif [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then if [ -x "$DELL_WCTL" ]; then # TODO: write our own binary that links with libsmbios? $DELL_WCTL --st_bt value=$? if [ "$value" = "0" ]; then exit 1 elif [ "$value" = "1" ]; then exit 0 else echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "dellWirelessCtl returned $value" >&2 exit 1 fi else echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2 exit 1 fi elif [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = thinkpad -a -r "$HAL_PROP_LINUX_SYSFS_PATH" ]; then read value < $HAL_PROP_LINUX_SYSFS_PATH 2> /dev/null if [ $? -eq 0 ]; then exit $value else echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "cannot read $HAL_PROP_LINUX_SYSFS_PATH" >&2 exit 1 fi else echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "Access type not supported" >&2 exit 1 fi elif [ "$HAL_PROP_KILLSWITCH_TYPE" = "wlan" ]; then if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then if [ -x "$DELL_WCTL" ]; then # TODO: write our own binary that links with libsmbios? $DELL_WCTL --st_wlan value=$? if [ "$value" = "0" ]; then exit 1 elif [ "$value" = "1" ]; then exit 0 else echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "dellWirelessCtl returned $value" >&2 exit 1 fi else echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2 exit 1 fi else echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "Access type not supported" >&2 exit 1 fi elif [ "$HAL_PROP_KILLSWITCH_TYPE" = "wwan" ]; then if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then if [ -x "$DELL_WCTL" ]; then # TODO: write our own binary that links with libsmbios? $DELL_WCTL --st_wwan value=$? if [ "$value" = "0" ]; then exit 1 elif [ "$value" = "1" ]; then exit 0 else echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "dellWirelessCtl returned $value" >&2 exit 1 fi else echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2 exit 1 fi else echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "Access type not supported" >&2 exit 1 fi else echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2 echo "Killswitch type not supported" >&2 exit 1 fi