#
#	VIA attaches Secondary Channel's hard disks shell script.
#	By : HP Chen	
#	Date : '97/08/19 
#
OSVER=`swconfig|awk -e '/SCO UNIX System V Operating Sys/ {print $7}'`
BCHECKRC=/etc/bcheckrc
BNODE0=/dev/mio0
CNODE0=/dev/rmio0
BNODE1=/dev/mio1
CNODE1=/dev/rmio1
HDPATH0=/viahd0
HDPATH1=/viahd1

#Update profile to automount hard disk each time reboot  
update_bcheckrc_0()
{
grep $HDPATH0 $BCHECKRC > /dev/null 2>&1
if [ $? -eq 0 ]; then 
ed $BCHECKRC > /dev/null 2>&1 <<EOF
/viahd0
.
d
.
w
EOF
fi
ed $BCHECKRC > /dev/null 2>&1 <<EOF
/setmnt
a
/etc/mount $BNODE0 $HDPATH0
.
w
EOF

}

update_bcheckrc_1()
{
grep $HDPATH1 $BCHECKRC > /dev/null 2>&1
if [ $? -eq 0 ]; then 
ed $BCHECKRC > /dev/null 2>&1 <<EOF
/viahd1
.
d
.
w
EOF
fi
ed $BCHECKRC > /dev/null 2>&1 <<EOF
/setmnt
a
/etc/mount $BNODE1 $HDPATH1
.
w
EOF
}

#main
while true
do
clear
echo "+--------------------------------------------------------+"
echo "| Attach Secondary Channel Hard Disk to Operating System |"
echo "+--------------------------------------------------------+"
echo ""

# Prompt message and get user selection
	while true
	do
         echo " 		1: Attach Drive 0 "
         echo " 		2: Attach Drive 1 "
	 echo " 		3: Unattach Drive 0 "
	 echo " 		4: Unattach Drive 1 "
         echo " 		q: Quit"
         echo " 		Select:\c"
	    read Sel
	    case $Sel in
	      	 [1234]) break;;
		 [qQ]) exit;;
		 *) echo " Illegal selection! Press <Enter> to continue!"
	 	    read AnyKey;;
	    esac	
	done
    
# Process the user selection
	case $Sel in
	     1) cd /etc/conf/cf.d
		MAJOR=`./configure -j vth1`
		if [ "$OSVER" = "5.0.0Cl" ]; then
		   mknod $BNODE0 b $MAJOR 42
		   mknod $CNODE0 c $MAJOR 42
		else
		   mknod $BNODE0 b $MAJOR 40
		   mknod $CNODE0 c $MAJOR 40
		fi		
		mkdir $HDPATH0 > /dev/null 2>&1
		mount $BNODE0 $HDPATH0 > /dev/null 2>&1
		if [ $? -eq 0 ]; then
		   update_bcheckrc_0
		   echo "The drive 0 on Secondary Channel is mounted to "$HDPATH0
		else
		   echo "Can not mount the drive!"
		   rm $BNODE0 $CNODE0 
		   rmdir $HDPATH0
                fi;;
	      2) cd /etc/conf/cf.d
	         MAJOR=`./configure -j vth1`
		 if [ "$OSVER" = "5.0.0Cl" ]; then
		    mknod $BNODE1 b $MAJOR 106
		    mknod $CNODE1 c $MAJOR 106
		 else
	 	    mknod $BNODE1 b $MAJOR 104	
	 	    mknod $CNODE1 c $MAJOR 104		
		 fi
		 mkdir $HDPATH1
		 mount $BNODE1 $HDPATH1
		 if [ $? -eq 0 ]; then
		    update_bcheckrc_1
	            echo "The drive 1 on Secondary Channel is mounted to "$HDPATH1		
		 else
		    echo "Can not mount the driver!" 
		    rm $BNODE1 $CNODE1
		    rmdir $HDPATH1
		 fi;;
	      3) umount $HDPATH0
		 if [ $? -eq 0 ]; then
		    rmdir $HDPATH0
		    rm $BNODE0 $CNODE0
ed $BCHECKRC >> /dev/null 2>&1 <<EOF
/viahd0
.
d
.
w
EOF
		echo "Unattach drive 0 successfully"
		fi;;
	      4) umount $HDPATH1
		 if [ $? -eq 0 ]; then
		    rmdir $HDPATH1
		    rm $BNODE1 $CNODE1
ed $BCHECKRC >> /dev/null 2>&1 <<EOF
/viahd1
.
d
.
w
EOF
		echo "Unattach drive 1 successfully"
		fi;;
	esac   
echo "Press <Enter> to continue!"
read X
done
