#!/bin/sh
TTYSOFTCAR=/usr/etc/ttysoftcar
VERBOSE=
USAGE="usage: $0 [-v] scriptfile outdev indev [baud]"
while getopts v c
do
    case $c in
     v)
	VERBOSE=-v;;
     \?)
	echo $USAGE;
	exit 2;;
    esac
done
shift `expr $OPTIND - 1`
if [ $# -lt 3 ] ; then
    echo $USAGE
    exit 1
fi
SCRIPT=$1
OUTDEV=$2
INDEV=$3
BAUD=$4
#
# Load in paths..
#
. /etc/dp.conf
#
# Set up a way to back out of this.
#
TTYTAB=/etc/ttytab
TTYTAB_BAK=$TTYTAB.$$
cp $TTYTAB $TTYTAB_BAK
SOFTCAR=`$TTYSOFTCAR $OUTDEV | cut -d" " -f3`
trap "$TTYSOFTCAR -$SOFTCAR $OUTDEV;cp $TTYTAB_BAK $TTYTAB;rm $TTYTAB_BAK;kill -1 1;exit 2" 1 2 3 15
#
# Turn off getty, grab the port and set up the modem.
#
sed "/$INDEV/s/on/off/" < $TTYTAB_BAK > $TTYTAB
kill -1 1
sleep 2
if [ -n "$BAUD" ] ; then
    ${DPMODEM_DIR}/setmodem $VERBOSE $SCRIPT $OUTDEV $BAUD
else
    ${DPMODEM_DIR}/setmodem $VERBOSE $SCRIPT $OUTDEV
fi
#
# Restore things back to normal
#
$TTYSOFTCAR -$SOFTCAR $OUTDEV
cp $TTYTAB_BAK $TTYTAB
rm $TTYTAB_BAK
kill -1 1
exit 0
