#! /bin/sh
#
#	0.1: Oct. 22, 2002 by Dai ISHIJIMA
#	0.2: May.  1, 2004 by Dai ISHIJIMA
#	0.3: May.  2, 2004 (menu-j.sh, 日本語)
#

PATH=/bin:/sbin:/:.
export PATH

DISK=/dev/rad0; export DISK
NCYLS=`diskinfo -c $DISK`; export NCYLS
NHEAD=`diskinfo -h $DISK`; export NHEAD
NSECS=`diskinfo -s $DISK`; export NSECS
blks=`expr $NCYLS '*' $NHEAD '*' $NSECS`
bytes=`expr $NCYLS '*' $NHEAD '*' $NSECS '*' 512`
kb=`expr $bytes / 1024`
mb=`expr $kb / 1024`
gb=`expr $mb / 1024`

echo '●ハードディスク消去ツール'
echo ''
echo 'このツールを使用したことによって生じたいかなる結果についても'
echo '作者は一切の責任をおいません。自己責任のもとでご利用ください'
echo ''

while echo '' ; do
	#
	# show menu
	echo '================================================================'
	echo "現在のディスクは $DISK です。"
	echo "         容量: $gb [GB], $mb [MB], $kb [kB], $bytes [B]"
	echo -n "        C/H/S: $NCYLS [cylinders]"
	echo " / $NHEAD [heads] / $NSECS [sectors]"
	echo ''
	echo "0. ディスクを変更する"
	echo "1. ディスクの容量(ジオメトリ)を変更する ($NCYLS * $NHEAD * $NSECS = $blks blocks)"
	echo ''
	echo "2. $DISK に「0」を上書きしてデータを消去する"
	echo "3. $DISK に「1」を上書きしてデータを消去する"
	echo "4. $DISK にランダムデータを上書きしてデータを消去する"
	echo "5. $DISK が消去されているかチェックする"
	echo ''
	echo "6. ディスクの丸ごとコピー (/dev/rad0 -> /dev/rad1)"
	echo ''
	echo '9. シェルを起動する'
	echo ''
	echo -n 'どれにしますか? [0-9]: '
	#
	# process
	read x
	case "$x" in
	    0)
		echo ''
		echo '--------------------------------'
		echo "現在のディスクは $DISK です"
		echo "ディスクのデバイスファイル名を入力してください。"
		echo -n "(例. 2台めのATAディスクなら /dev/rad1, "
		echo "1台めのSCSIディスクなら /dev/rda0)"
		echo -n "デバイスファイル名は? "
		read d
		if diskinfo "$d" > /dev/null 2>&1 ; then
			DISK=$d; export DISK
			NCYLS=`diskinfo -c $DISK`; export NCYLS
			NHEAD=`diskinfo -h $DISK`; export NHEAD
			NSECS=`diskinfo -s $DISK`; export NSECS
			blks=`expr $NCYLS '*' $NHEAD '*' $NSECS`
			bytes=`expr $NCYLS '*' $NHEAD '*' $NSECS '*' 512`
			kb=`expr $bytes / 1024`
			mb=`expr $kb / 1024`
			gb=`expr $mb / 1024`
		else
			echo ''
			echo -n "**** ディスク '$d' を読むことができません。"
			echo "ディスクを $DISK にしました"
		fi
		;;
	    1)
		echo ''
		echo '--------------------------------'
		echo -n "シリンダ数を入力してください [$NCYLS]: "
		read n
		if expr "$n" '>=' 0 > /dev/null 2>&1 ; then
			NCYLS=`expr "$n" + 0`; export NCYLS
		fi
		echo -n "ヘッド数を入力してください (tracks/cylinder) [$NHEAD]: "
		read n
		if expr "$n" '>=' 0 > /dev/null 2>&1 ; then
			NHEAD=`expr "$n" + 0`; export NHEAD
		fi
		echo -n "セクタ数を入力してください (sectors/track) [$NSECS]: "
		read n
		if expr "$n" '>=' 0 > /dev/null 2>&1 ; then
			NSECS=`expr "$n" + 0`; export NSECS
		fi
		blks=`expr $NCYLS '*' $NHEAD '*' $NSECS`
		if [ $blks -le 0 ]; then
			echo ''
			echo -n "**** ディスクブロック数がおかしいようです "
			echo -n "($NCYLS * $NHEAD * $NSECS = $blks"
			echo " blocks),"
			echo "**** サイズをディスクから読み取ります"
			NCYLS=`diskinfo -c`; export NCYLS
			NHEAD=`diskinfo -h`; export NHEAD
			NSECS=`diskinfo -s`; export NSECS
			blks=`expr $NCYLS '*' $NHEAD '*' $NSECS`
		fi
		bytes=`expr $NCYLS '*' $NHEAD '*' $NSECS '*' 512`
		kb=`expr $bytes / 1024`
		mb=`expr $kb / 1024`
		gb=`expr $mb / 1024`
		;;
	    2)
		echo ''
		echo '--------------------------------'
		/bin/sh /bin/e-j.sh -z $DISK
		;;
	    3)
		echo ''
		echo '--------------------------------'
		/bin/sh /bin/e-j.sh -f $DISK
		;;
	    4)
		echo ''
		echo '--------------------------------'
		/bin/sh /bin/e-j.sh -r $DISK
		;;
	    5)
		echo ''
		echo '--------------------------------'
		/bin/sh /bin/v-j.sh $DISK
		;;
	    6)
		echo ''
		echo '--------------------------------'
		/bin/sh /bin/c-j.sh
		;;
	    9)
		echo ''
		echo '--------------------------------'
		/bin/sh -i
		;;
	esac
done

exit 0


