basic user-space for pinned-spans
[dahdi/tools.git] / handle_device
1 #! /bin/sh
2 #
3 # /usr/share/dahdi/handle_device
4 #
5 # Called by UDEV when a span goes online/offline to assign spans
6
7 me=`basename $0`
8 dir=`dirname $0`
9 LOGGER="logger -i -t '$me'"
10 NAME=`basename "$DEVPATH" | tr -c 'A-Za-z0-9-' '_'`
11
12 # Always redirect stderr somewhere, otherwise the shell script will die
13 # when it tries to do I/O related stuff on closed file descriptor.
14 # Our default is to throw it down the bit-bucket.
15 exec 2> /dev/null
16 # If you wish to trace this script:
17 #exec 2> "/tmp/${me}.$NAME" 1>&2
18 #exec 2> /dev/console
19
20 # Our directory in the beginning, so we can use local lab setup
21 PATH="$dir:/usr/sbin:/sbin:/usr/bin:/bin"
22
23 set -e
24
25 echo >&2 "$0($ACTION): DEBUG($# args): '$*'"
26
27 case "$ACTION" in
28 add)
29         echo "$ACTION: $DEVPATH" | $LOGGER
30         # FIXME: need a way to add custom environment here:
31         #export DAHDICONFDIR="/tmp/xortel/dahdi"
32         span_types set "/sys/$DEVPATH" 2>&1 | $LOGGER
33         span_assignments add "/sys/$DEVPATH" 2>&1 | $LOGGER
34         ;;
35 remove)
36         echo "$ACTION: $DEVPATH" | $LOGGER
37         ;;
38 *)
39         echo "UNHANDLED: $ACTION: $DEVPATH" | $LOGGER
40         ;;
41 esac