diff options
Diffstat (limited to 'kernel/xpp/utils/astribank_hook')
-rwxr-xr-x | kernel/xpp/utils/astribank_hook | 61 |
1 files changed, 23 insertions, 38 deletions
diff --git a/kernel/xpp/utils/astribank_hook b/kernel/xpp/utils/astribank_hook index 8dd13c9..9510f7b 100755 --- a/kernel/xpp/utils/astribank_hook +++ b/kernel/xpp/utils/astribank_hook @@ -1,57 +1,42 @@ #! /bin/sh -# This is an example of an Astribank device hook. The xpp.rules file -# calls /usr/share/zaptel/astribank_hook after a new Astribank is ready -# and after and old Astribank device has been destroyed. -# - -set -e - me=`basename $0` -INIT_DIR=`dirname $0` -XPP_BASE=/proc/xpp -export XPP_BASE -LOGGER="logger -s -t $me" - -ZAPTEL_BOOT_DEBIAN=${ZAPTEL_BOOT_DEBIAN:-/etc/default/zaptel} -ZAPTEL_BOOT_FEDORA=${ZAPTEL_BOOT_FEDORA:-/etc/sysconfig/zaptel} - -# read default configuration from /etc/default/zaptel -if [ -r $ZAPTEL_BOOT_DEBIAN ]; then . $ZAPTEL_BOOT_DEBIAN; fi -if [ -r $ZAPTEL_BOOT_FEDORA ]; then . $ZAPTEL_BOOT_FEDORA; fi - -if [ "$ASTRIBANK_HOOK_DISABLED" != '' ]; then - $LOGGER -p kern.info "Exiting... ASTRIBANK_HOOK_DISABLED" - exit 0 -fi +dir=`dirname $0` +LOGGER="logger -i -t '$me'" # Always redirect stderr somewhere, otherwise the shell script will die # when it tries to do I/O related stuff on closed file descriptor. # Our default is to throw it down the bit-bucket. #exec 2> /dev/console ## If you wish to trace this script: -#exec 2> "/tmp/astribank_hook_$XBUS_NAME" +#exec 2> "/tmp/${me}_$XBUS_NAME" 1>&2 -# Maybe add some logging -#$LOGGER -p kern.info "$0: $ACTION: $*." +PATH="$dir:/usr/sbin:/sbin:/usr/bin:/bin" + +set -e + +echo "starting($ACTION): '$*'" | $LOGGER case "$ACTION" in add) - # An Astribank was added and is initialized and ready. - # Put your shell commands bellow - : ;; remove) - # An Astribank was Removed. - # Put your shell commands bellow - # You should not access /proc/xpp/... or run related utilities - # like xpp_sync, since this is likely to cause very bad race - # conditions during driver removal. - : ;; -*) +online) + if [ -x "$dir/twinstar_hook" ]; then + "$dir/twinstar_hook" + fi + ;; +offline) + if [ -x "$dir/twinstar_hook" ]; then + "$dir/twinstar_hook" + fi ;; +*) + echo "$0: Unknown ACTION='$ACTION'" | $LOGGER + echo "$0: ARGS='$*'" | $LOGGER + echo "$0: ENV:" | $LOGGER + env | $LOGGER + exit 1 esac -# Maybe add some logging -#$LOGGER -p kern.info "$0: Done: $ACTION: $*." |