#!/bin/sh

. /etc/oss.conf

TTYDEV=/dev/console

if (cat /dev/null > /dev/tty 2>/dev/null) > /dev/null 2>&1
then # The process has a tty (not in /etc/rc)
   TTYDEV=/dev/tty
fi

LOG=$OSSLIBDIR/soundon.log

echo "Starting OSS/FreeBSD " `date` > $LOG
uptime >> $LOG

if modload $OSSLIBDIR/oss.o >> $LOG 2>&1
then
   OK=1
else
   echo Failed to load the OSS driver module.
   echo Failed to load the OSS driver module. >> $LOG
   echo Check that it is not already loaded.
   echo "========== dmesg printout follows ========" >>$LOG
   dmesg >> $LOG
fi

echo "======= config ===== " >> $LOG
cat $OSSLIBDIR/devices.cfg >> $LOG
echo "==================== " >> $LOG

if $OSSLIBDIR/sndconf - $OSSLIBDIR < $OSSLIBDIR/devices.cfg > $TTYDEV 2>>$LOG
then
   cat /dev/sndstat >> $LOG
   echo "========== dmesg printout follows ========" >>$LOG
   dmesg >> $LOG
else
   echo "==== Starting OSS failed ====" 
   echo "==== Starting OSS failed ====" >> $LOG
   cat $OSSLIBDIR/license.asc >> $LOG 2>&1
fi
