#! /bin/sh

dmesg=/var/run/dmesg.boot
resultfil=/tmp/result
stuffs='10'
disks=`sed -n -E '/^(da|ad)[0-9]:.*</p' $dmesg | sed 's/^\(...\).*/\1/'`
set $disks
disk=$1
export TITLE='ハードディスク消去ツール『wipe-out』'

while true ; do
	dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'`
	bytes=`diskinfo -B /dev/r$disk`
	# bytes=`diskinfo -b /dev/r$disk | rev | sed 's/\(...\)/\1,/g' | sed 's/,$//' | rev`
	cap=`diskinfo -p /dev/r$disk`

	msg="                      ★メインメニュー★\n"
	msg="${msg}現在選択中のディスクは /dev/${disk} ${dname} です。\n"
	msg="${msg}ディスクの容量は $bytes バイト ($cap) です。\n"
	msg="${msg}以下のメニューから処理を選択してください。\n"

	dialog 	2>$resultfil \
		--title "$TITLE" \
		--menu "$msg" \
		19 74 7 \
		z '0を上書きして、このディスクのデータを消す' \
		f '1を上書きして、このディスクのデータを消す' \
		r 'ランダムデータを上書きして、このディスクのデータを消す' \
		s '別のディスクを選択する' \
		n '複数回上書きして、このディスクのデータを念入りに消す' \
		m '念入り消去の上書き方法を選択する' \
		d '起動時のシステムメッセージを確認する' \
		v '「『wipe-out』について」を見る' \
		b 'シェル (sh) を起動する' \
		t 'シェル (csh) を起動する' \
		x 'シャットダウンする' \
		R '再起動する'

	case x"$?" in
		x1)
			break
			;;
	esac

	result=`cat $resultfil`

	case x"${result}" in
		xz)
			sh erase.sh -z $disk
			;;
		xf)
			sh erase.sh -f $disk
			;;
		xr)
			sh erase.sh -r $disk
			;;
		xs)
			. seldisk.sh
			;;
		xn)
			sh fine-erase.sh $stuffs $disk
			;;
		xm)
			. sel-fine.sh
			;;
		xv)
			dialog	--title '『wipe-out』について' \
				--textbox info.txt 22 76
			;;
		xd)
			dialog	--title '起動時のシステムメッセージ' \
				--textbox /var/run/dmesg.boot 22 76
			;;
		xb)
			/bin/sh -i
			;;
		xt)
			if [ -x /bin/csh ]; then
				/bin/csh -i
			else
				msg='この版では「csh」は利用できません'
				dialog	--title "$TITLE" \
					--msgbox "$msg" 5 64
			fi
			;;
		xx)
			init 0
			;;
		xR)
			init 6
			;;
	esac
done

dialog	--title "$TITLE" \
	--infobox '終了します' 3 48

echo '「/bin/sh /wipeout/mainmenu.sh」でメニュー画面を呼び出せます。'
echo ''

exit 0

# EOF
