window:
	res:
		windowType	wstandard
	endres:
endwindow:
close:
	res:
		bitmapPath	$(bitmaps)
		bitmapFile	CLOSE::CBM
	endres:
endclose:
title:
	res:
		leftLabel	'Disk Management'
		leftKanjiFont	$(kanjiFont)
		leftFont	$(kanaFont)
		rightLabel	/etc/fstab
		rightKanjiFont	$(kanjiFont)
		rightFont	$(kanaFont)
		switch $(COLOR)
			case MONO:
				bitmapPath	$(bitmaps)
				backgroundFile	GRAY3
				transparent	false
				break
		endswitch
	endres:
endtitle:
dialog: dialogs
	res:
		defaultDistance		#(fWidth)
		dialogType		modeless
	endres:
	ditem: drive_label
		res:
			itemType	bitmap
			label		'  Drive         Type'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
		endres:
	endditem:
	ditem: drive_list
		res:
			itemType	scrtext
			fromVert	drive_label
			vertDistance	4
			horizDistance	#(fWidth)
			width		#(fWidth)+1*26
			height		#(lHeight)*6+8
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			bind1		select1
			file		/dev/null
		endres:
		act:
			put $(line)
			put $(line)@0 $(TMP_NO)
			put $(line)@1 $(TMP_TYPE)
		endact:
	endditem:
	ditem: drive_init
		res:
			itemType	button
			fromVert	drive_label
			fromHoriz	drive_list
			label		' Initialize '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	4
			horizDistance	#(fWidth)*2
		endres:
		act:
			put 20 $(menu_no)
			$(etc)/Disk/Sinit_drive.sh mkdev $(DRIVE_NO)
			$(bin)/Sopen_check /dev/r$(DRIVE_NO)c 2> /dev/null
			switch #(status)
				case 0:
					break
				default:
					put 9 $(err_no)
					job err
					quit
			endswitch
			$(TMP) = mktemp
			put /tmp/$(TMP) $(TMP_SED)
			sed '/^\/dev\/$(DRIVE_NO)/w $(TMP_SED)' /etc/fstab
			test -s $(TMP_SED)
			switch #(status)
				case 0:
					/bin/rm -f $(TMP_SED)
					put 'Disk "$(DRIVE_NO)" is already initialized.' $(confirm_msg1)
					put 'Now initialize the disk again.' $(confirm_msg2)
					$(confirm) = sub $(commonPath)/confirm3 ++48++48
					trap $(confirm) init_confirm
					quit
			endswitch
			/bin/rm -f $(TMP_SED)
			put 'Do you format the disk ?' $(confirm_msg1)
			$(confirm) = sub $(commonPath)/yesno1 ++48++48
			trap $(confirm) form_confirm
			buzzer
		endact:
	endditem:
	ditem: drive_del
		res:
			itemType	button
			fromVert	drive_init
			fromHoriz	drive_list
			label		'Remove'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
		endres:
		act:
			$(etc)/Disk/Sinit_drive.sh conn_chk $(DRIVE_NO)
			switch #(status)
				case 0:
					break
				default:
					put 7 $(err_no)
					job err
					quit
			endswitch
			job insense
			setval user sensitive false
			setval disk_redf sensitive false
			put off $(select_on_cmd2)
			$(etc)/Disk/Sumount_drv.sh $(DRIVE_NO)
			switch #(status)
				case 0:
					$(bin)/Sdf -f $(DRIVE_LIST) 1> $(DISK_LIST) 2> /dev/null
					setval disk_list file $(DISK_LIST)
					break
				default:
					$(bin)/Sdf -f $(DRIVE_LIST) 1> $(DISK_LIST) 2> /dev/null
					setval disk_list file $(DISK_LIST)
					put 1 $(err_no)
					job err
					quit
			endswitch
			put 20 $(menu_no)
			put 2 $(cmd)
			put 'Remove Disk' $(cmdName)
			put 'Now remove the disk "$(DRIVE_NO).' $(confirm_msg1)
			$(confirm) = sub $(commonPath)/confirm1 ++48++48
			trap $(confirm) confirm
		endact:
	endditem:
	ditem: user
		res:
			itemType	button
			fromHoriz	drive_del
			label		'Capacity used per user'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*8
		endres:
		act:
			put 1 $(step)
			put on $(ONRUN)
			put 101 $(menu_no)
			setval user sensitive false
			$(onrun) = sub $(commonPath)/onrun ++48++48
			$(pid) = bg $(bin)/Sdu -s 1> $(USER_TMP) 2> /dev/null
			$(bgstat) = trap $(pid) user_end
		endact:
	endditem:
	ditem: kb
		res:
			itemType	bitmap
			fromHoriz	user
			label		(KB)
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)+4
			horizDistance	#(fWidth)*3
		endres:
	endditem:
	ditem: user_list
		res:
			itemType	viewtext
			fromVert	user
			fromHoriz	drive_del
			vertDistance	6
			horizDistance	#(fWidth)*8
			width		#(fWidth)+1*28
			height		#(lHeight)*6+8
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			file		/dev/null
		endres:
	endditem:
	ditem: center_line
		res:
			itemType	bitmap
			fromVert	user_list
			label		----------------------------------------------------------------------------------------------
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
		endres:
	endditem:
	ditem: disk_label
		res:
			itemType	bitmap
			fromVert	center_line
			label		' m filesys    amount(KB)   used   avail    cap f(1) w(2) b(3)  Mouned on   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
		endres:
	endditem:
	ditem: disk_list
		res:
			itemType	scrtext
			fromVert	disk_label
			vertDistance	4
			horizDistance	#(fWidth)
			width		#(fWidth)+1*74
			height		#(lHeight)*8+8
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			bind1		select2
			textOptions	1
			file		/dev/null
		endres:
		act:
			put $(line)
			switch $(line)@0
				case *:
					put 1 $(in_disk)
					put 1 $(mounted)
					put 0 $(nfs_disk)
					put $(line)@1 $(TMP_NAME)
					put $(line)@2 $(SIZE)
					switch $(line)@6
						case +:
							put on $(TMP_FSCK)
							break
						case -:
							put off $(TMP_FSCK)
							break
						default:
							put inv $(TMP_FSCK)
							break
					endswitch
					switch $(line)@7
						case +:
							put on $(TMP_WRITE)
							break
						case -:
							put off $(TMP_WRITE)
							break
					endswitch
					switch $(line)@8
						case +:
							put on $(TMP_AUTO)
							break
						case -:
							put off $(TMP_AUTO)
							break
					endswitch
					put $(line)@9 $(TMP_DIR)
					break
				case -:
					put 0 $(in_disk)
					put 0 $(mounted)
					switch  $(line)@1
						case [:
							put 1 $(nfs_disk)
							put $(line)@2 $(TMP_NAME)
							switch $(line)@8
								case +:
									put on $(TMP_FSCK)
									break
								case -:
									put off $(TMP_FSCK)
									break
								default:
									put inv $(TMP_FSCK)
									break
							endswitch
							switch $(line)@9
								case +:
									put on $(TMP_WRITE)
									break
								case -:
									put off $(TMP_WRITE)
									break
							endswitch
							switch $(line)@10
								case +:
									put on $(TMP_AUTO)
									break
								case -:
									put off $(TMP_AUTO)
									break
							endswitch
							put $(line)@11 $(TMP_RDIR)
							put $(line)@13 $(TMP_DIR)
							break
						default:
							put 0 $(nfs_disk)
							put $(line)@1 $(TMP_NAME)
							put $(line)@2 $(SIZE)
							switch $(line)@6
								case +:
									put on $(TMP_FSCK)
									break
								case -:
									put off $(TMP_FSCK)
									break
								default:
									put inv $(TMP_FSCK)
									break
							endswitch
							switch $(line)@7
								case +:
									put on $(TMP_WRITE)
									break
								case -:
									put off $(TMP_WRITE)
									break
							endswitch
							switch $(line)@8
								case +:
									put on $(TMP_AUTO)
									break
								case -:
									put off $(TMP_AUTO)
									break
							endswitch
							put $(line)@9 $(TMP_DIR)
							break
					endswitch
					break
				case +:
					put 0 $(in_disk)
					put 1 $(mounted)
					switch  $(line)@1
						case [:
							put 1 $(nfs_disk)
							put $(line)@2 $(TMP_NAME)
							switch $(line)@8
								case +:
									put on $(TMP_FSCK)
									break
								case -:
									put off $(TMP_FSCK)
									break
								default:
									put inv $(TMP_FSCK)
									break
							endswitch
							switch $(line)@9
								case +:
									put on $(TMP_WRITE)
									break
								case -:
									put off $(TMP_WRITE)
									break
							endswitch
							switch $(line)@10
								case +:
									put on $(TMP_AUTO)
									break
								case -:
									put off $(TMP_AUTO)
									break
							endswitch
							put $(line)@11 $(TMP_RDIR)
							put $(line)@13 $(TMP_DIR)
							break
						default:
							put 0 $(nfs_disk)
							put $(line)@1 $(TMP_NAME)
							put $(line)@2 $(SIZE)
							switch $(line)@6
								case +:
									put on $(TMP_FSCK)
									break
								case -:
									put off $(TMP_FSCK)
									break
								default:
									put inv $(TMP_FSCK)
									break
							endswitch
							switch $(line)@7
								case +:
									put on $(TMP_WRITE)
									break
								case -:
									put off $(TMP_WRITE)
									break
							endswitch
							switch $(line)@8
								case +:
									put on $(TMP_AUTO)
									break
								case -:
									put off $(TMP_AUTO)
									break
							endswitch
							put $(line)@9 $(TMP_DIR)
							break
					endswitch
					break
			endswitch
		endact:
	endditem:
	ditem: disk_chg
		res:
			itemType	button
			fromVert	disk_label
			fromHoriz	disk_list
			label		' Set '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	4
			horizDistance	#(fWidth)*2
		endres:
		act:
			put 3 $(menu_no)
			put 3 $(cmd)
			switch #(mounted)
				case 1:
					$(etc)/Common/Sumount.sh /dev/$(DISK_NAME) $(DISK_DIR)
					switch #(status)
						case 0:
							put off $(select_on_cmd2)
							$(bin)/Sdf -f $(DRIVE_LIST) 1> $(DISK_LIST) 2> /dev/null
							setval disk_list file $(DISK_LIST)
							break
						default:
							put 6 $(err_no)
							job err
							quit
					endswitch
					break
			endswitch
			put 'Change Disk Setting' $(cmdName)
			switch $(DISK_NAME)
				case \*b:
					switch $(DISK_DIR)
						case swap:
							put on $(SWAP)
							break
						default:
							put off $(SWAP)
							break
					endswitch
					put on $(FROM_MAIN)
					$(change) = open $(menu)/swap ++48++48
					break
				default:
					$(change) = open $(menu)/change2 ++48++48
			endswitch
			trap $(change) sub_end
			job insense
			setval user sensitive false
			setval disk_redf sensitive false
		endact:
	endditem:
	ditem: disk_init
		res:
			itemType	button
			fromVert	disk_chg
			fromHoriz	disk_list
			label		'Initialize'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
		endres:
		act:
			switch $(NEWS_OS)
				case 3.3\*:
				case 3.4\*:
				case 3.9\*:
				case 4.\*:
					awk 'BEGIN { print substr("$(DISK_NAME)",0,4) }' /dev/null
					break
				default:
					awk 'BEGIN { print substr("$(DISK_NAME)",0,3) }' /dev/null
					break
			endswitch
			put $(stdout) $(DRIVE_NO)
			$(bin)/Sopen_check /dev/r$(DRIVE_NO)c 2> /dev/null
			switch #(status)
				case 0:
					break
				default:
					put 4 $(err_no)
					job err
					quit
			endswitch
			$(bin)/Ssetdinfo $(DRIVE_NO) 2> /dev/null
			switch #(status)
				case 0:
					break
				default:
					$(bin)/Sgetdinfo $(DRIVE_NO)
					break
			endswitch
			put $(stdout) $(DRIVE_TYPE)
			switch #(mounted)
				case 1:
					$(etc)/Common/Sumount.sh /dev/$(DISK_NAME) $(DISK_DIR)
					switch #(status)
						case 0:
							put off $(select_on_cmd2)
							$(bin)/Sdf -f $(DRIVE_LIST) 1> $(DISK_LIST) 2> /dev/null
							setval disk_list file $(DISK_LIST)
							job insense
							setval user sensitive false
							setval disk_redf sensitive false
							break
						default:
							put 5 $(err_no)
							job err
							quit
					endswitch
					break
			endswitch
			put 4 $(menu_no)
			put 4 $(cmd)
			put 'Initialize of Disk Partition' $(cmdName)
			put 'Initialize the disk partition "$(DISK_NAME)".' $(confirm_msg1)
			$(confirm) = sub $(commonPath)/confirm1 ++48++48
			trap $(confirm) confirm
		endact:
	endditem:
	ditem: disk_mount
		res:
			itemType	button
			fromVert	disk_init
			fromHoriz	disk_list
			label		'Mount'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
		endres:
		act:
			put 'Mount' $(cmdName)
			put on $(ONRUN)
			put 101 $(menu_no)
			put 5 $(cmd)
			$(onrun) = sub $(commonPath)/onrun ++48++48
			switch #(nfs_disk)
				case 0:
					put '/dev/$(TMP_NAME)' $(disk)
					break
				default:
					put '$(TMP_NAME):$(TMP_RDIR)' $(disk)
					break
			endswitch
			$(pid) = bg $(etc)/Common/Smount.sh  $(disk) $(TMP_DIR) $(TMP_WRITE)
			$(bgstat) = trap $(pid) cmd_end
		endact:
	endditem:
	ditem: disk_umount
		res:
			itemType	button
			fromVert	disk_mount
			fromHoriz	disk_list
			label		'Unmount'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
		endres:
		act:
			put 'Unmount' $(cmdName)
			put on $(ONRUN)
			put 101 $(menu_no)
			put 6 $(cmd)
			$(onrun) = sub $(commonPath)/onrun ++48++48
			switch #(nfs_disk)
				case 0:
					put '/dev/$(TMP_NAME)' $(disk)
					break
				default:
					put '$(TMP_NAME):$(TMP_RDIR)' $(disk)
					break
			endswitch
			$(pid) = bg $(etc)/Common/Sumount.sh  $(disk) $(TMP_DIR)
			$(bgstat) = trap $(pid) cmd_end
		endact:
	endditem:
	ditem: disk_redf
		res:
			itemType	button
			fromVert	disk_umount
			fromHoriz	disk_list
			label		'Re-display'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
		endres:
		act:
			$(bin)/Sdf -f $(DRIVE_LIST) 1> $(DISK_LIST) 2> /dev/null
			setval disk_list file $(DISK_LIST)
			setval disk_chg sensitive false
			setval disk_init sensitive false
			setval disk_mount sensitive false
			setval disk_umount sensitive false
			setval disk_redf sensitive true
		endact:
	endditem:
	ditem: note2
		res:
			itemType	bitmap
			fromVert	disk_list
			vertDistance	2
			horizDistance	#(fWidth)
			leftLabel	'm: Now, mounted/unmounted   []: NFS Disk (cannot be changed or initialized.)'
			leftKanjiFont	$(kanjiFont)
			leftFont	$(kanaFont)
		endres:
	endditem:
	ditem: note3
		res:
			itemType	bitmap
			fromVert	note2
			vertDistance	2
			horizDistance	#(fWidth)
			leftLabel	'f(1):file system check(fsck) at boot  w(2):write permission  b(3):mount at boot time'
			leftKanjiFont	$(kanjiFont)
			leftFont	$(kanaFont)
		endres:
	endditem:
enddialog:
proc: pre
	global $(CHANGE_DISK)
	global $(DRIVE_NO)
	global $(DRIVE_TYPE)
	global $(DISK_NAME)
	global $(DISK_FSCK)
	global $(DISK_WRITE)
	global $(DISK_AUTO)
	global $(DISK_DIR)
	global $(PARTITIONS)
	global $(CHANGE_PART)
	global $(PART)
	global $(SIZE)
	global $(INITED)
	global $(REINIT)
	global $(SWAP)
	global $(FROM_MAIN)
	global $(form_stat)
	put $(menuPath)/Disk $(menu)
	switch #(uid)
		case 0:
			put $(icons) $(okPath)
			put HardDisk $(okFile)
			break
	endswitch
	$(TMP) = mktemp
	put /tmp/$(TMP) $(DRIVE_LIST)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(DISK_LIST)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(TMP_LIST)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(USER_TMP)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(USER_LIST)
	put 0 $(menu_no)
	put on $(mapped)
	put off $(opened)
	put off $(CHANGE_DISK)
	put off $(select_on_cmd1)
	put off $(select_on_cmd2)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(TMP_SORT)
	switch $(NEWS_OS)
		case 3.3\*:
		case 3.4\*:
		case 3.9\*:
		case 4.\*:
			$(bin)/Sdevinfo -df $(DRIVE_LIST)
			break
		default:
			$(etc)/Disk/Sdisk_list.sh > $(DRIVE_LIST)
			sort -u -t\ +0.3 $(DRIVE_LIST) > $(TMP_SORT)
			sort -u -t\ +0.3 $(TMP_SORT) > $(DRIVE_LIST)
			rm -f $(TMP_SORT)
			break
	endswitch
	put '' $(TMP_FSCK)
	put '' $(TMP_WRITE)
	put '' $(TMP_AUTO)
	put 0 $(form_stat)
endproc:
proc: close
	switch $(ONRUN)
		case on:
			quit
	endswitch
	job off
	close
endproc:
proc: off
	switch #(menu_no)
		case 1:
			close $(part)
			break
		case 3:
			close $(change)
			break
		case 10:
			close $(err)
			break
		case 11:
			close $(init)
			break
		case 20:
			close $(confirm)
			break
	endswitch
	local $(CHANGE_DISK)
	local $(DRIVE_NO)
	local $(DRIVE_TYPE)
	local $(DISK_NAME)
	local $(DISK_FSCK)
	local $(DISK_WRITE)
	local $(DISK_AUTO)
	local $(DISK_DIR)
	local $(PARTITIONS)
	local $(CHANGE_PART)
	local $(PART)
	local $(SIZE)
	local $(INITED)
	local $(REINIT)
	local $(SWAP)
	local $(FROM_MAIN)
	rm -f $(DRIVE_LIST) $(DISK_LIST) $(TMP_LIST) $(USER_TMP) $(USER_LIST)
endproc:
proc: open
	job init
endproc:
proc: init
	setval drive_list file $(DRIVE_LIST)
	$(bin)/Sdf -f $(DRIVE_LIST) 1> $(DISK_LIST) 2> /dev/null
	setval disk_list file $(DISK_LIST)
	put off $(CHANGE_DISK)
	job insense
endproc:
proc: insense
	setval drive_init sensitive false
	setval drive_del sensitive false
	setval user sensitive true
	setval disk_chg sensitive false
	setval disk_init sensitive false
	setval disk_mount sensitive false
	setval disk_umount sensitive false
	setval disk_redf sensitive true
endproc:
proc: select1
	switch #(uid)
		case 0:
			break
		default:
			quit
	endswitch
	switch #(menu_no)
		case 1:
		case 3:
		case 11:
			put on $(select_on_cmd1)
			quit
	endswitch
	job select_sub1
endproc:
proc: select_sub1
	put on $(select_on_cmd1)
	put $(TMP_NO) $(DRIVE_NO)
	put $(TMP_TYPE) $(DRIVE_TYPE)
	switch $(DRIVE_NO)
		case '':
			quit
	endswitch
	setval drive_init sensitive true
	setval drive_del sensitive true
endproc:
proc: select2
	switch #(uid)
		case 0:
			break
		default:
			quit
	endswitch
	switch #(menu_no)
		case 1:
		case 3:
		case 11:
			put on $(select_on_cmd2)
			quit
	endswitch
	job select_sub2
endproc:
proc: select_sub2
	put on $(select_on_cmd2)
	put $(TMP_NAME) $(DISK_NAME)
	put $(TMP_FSCK) $(DISK_FSCK)
	put $(TMP_WRITE) $(DISK_WRITE)
	put $(TMP_AUTO) $(DISK_AUTO)
	put $(TMP_DIR) $(DISK_DIR)
	switch $(DISK_NAME)
		case '':
			quit
	endswitch
	switch #(nfs_disk)
		case 1:
			setval disk_chg sensitive false
			setval disk_init sensitive false
			job mntchk
			quit
	endswitch
	switch #(in_disk)
		case 1:
			setval disk_chg sensitive false
			setval disk_init sensitive false
			setval disk_mount sensitive false
			setval disk_umount sensitive false
			quit
	endswitch
	switch $(DISK_NAME)
		case \*b:
			setval disk_init sensitive false
			setval disk_mount sensitive false
			setval disk_umount sensitive false
			switch $(DISK_NAME)
				case hd1b:
				case od0b:
				case sd01b:
				case hd0b:
				case sd00b:
					setval disk_chg sensitive true
					break
				default:
					setval disk_chg sensitive false
					break
			endswitch
			quit
	endswitch
	switch $(DISK_FSCK)
		case inv:
			setval disk_chg sensitive false
			setval disk_init sensitive true
			setval disk_mount sensitive false
			setval disk_umount sensitive false
			quit
	endswitch
	job mntchk
	setval disk_chg sensitive true
	setval disk_init sensitive true
endproc:
proc: mntchk
	switch #(mounted)
		case 0:
			setval disk_mount sensitive true
			setval disk_umount sensitive false
			break
		case 1:
			setval disk_mount sensitive false
			setval disk_umount sensitive true
			break
	endswitch
endproc:
proc: cmd_end
	buzzer $(main)
	unmap $(onrun)
	close $(onrun)
	switch $(mapped)
		case on:
			job bgdone
			break
		case off:
			put on $(opened)
			break
	endswitch
	put 102 $(menu_no)
endproc:
proc: bgdone
	switch #(bgstat)
		case 0:
			switch #(cmd)
				case 2:
					put 'Remove the drive after system shutdown.' $(confirm_msg1)
					$(n_end) = sub $(commonPath)/normalEnd1 ++48++48
					break
				default:
					$(n_end) = sub $(commonPath)/normalEnd ++48++48
					break
			endswitch
			trap $(n_end) n_end
			quit
	endswitch
	switch #(cmd)
		case 4:
			put 10 $(err_no)
			break
		case 5:
			put 2 $(err_no)
			break
		case 6:
			put 3 $(err_no)
			break
	endswitch
	job err
endproc:
proc: unmap
	switch #(menu_no)
		case 1:
			unmap $(part)
			break
		case 3:
			unmap $(change)
			break
		case 10:
			unmap $(err)
			break
		case 11:
			unmap $(init)
			break
		case 20:
			unmap $(confirm)
			break
		case 101:
			unmap $(onrun)
			break
		case 102:
			unmap $(n_end)
			break
	endswitch
	put off $(mapped)
endproc:
proc: map
	switch #(menu_no)
		case 1:
			raise $(part)
			map $(part)
			break
		case 3:
			raise $(change)
			map $(change)
			break
		case 10:
			move $(err)
			raise $(err)
			map $(err)
			break
		case 11:
			raise $(init)
			map $(init)
			break
		case 20:
			move $(confirm)
			raise $(confirm)
			map $(confirm)
			break
		case 101:
			move $(onrun)
			raise $(onrun)
			map $(onrun)
			break
		case 102:
			switch $(opened)
				case on:
					job bgdone
					break
				case off:
					move $(n_end)
					raise $(n_end)
					map $(n_end)
					break
			endswitch
	endswitch
	put on $(mapped)
	put off $(opened)
endproc:
proc: title
	job move
	job up
endproc:
proc: raise
	job up
endproc:
proc: move
	switch #(menu_no)
		case 10:
			move $(err)
			break
		case 20:
			move $(confirm)
			break
		case 101:
			move $(onrun)
			break
		case 102:
			move $(n_end)
			break
	endswitch
endproc:
proc: up
	switch #(menu_no)
		case 10:
			raise $(err)
			break
		case 20:
			raise $(confirm)
			break
		case 101:
			raise $(onrun)
			break
		case 102:
			raise $(n_end)
			break
	endswitch
endproc:
proc: n_end
	put off $(ONRUN)
	switch #(cmd)
		case 2:
		case 4:
		case 5:
		case 6:
			job init
	endswitch
	put 0 $(menu_no)
endproc:
proc: init_confirm
	switch $(answer)
		case cancel:
			put 0 $(menu_no)
			quit
	endswitch
	$(bin)/Sopen_check /dev/r$(DRIVE_NO)c 2> /dev/null
	switch #(status)
		case 0:
			break
		default:
			put 4 $(err_no)
			job err
			quit
	endswitch
# mount check
	put off $(select_on_cmd2)
	$(etc)/Disk/Sumount_drv.sh $(DRIVE_NO)
	switch #(status)
		case 0:
			$(bin)/Sdf -f $(DRIVE_LIST) 1> $(DISK_LIST) 2> /dev/null
			setval disk_list file $(DISK_LIST)
			put 'Do you format the disk ?' $(confirm_msg1)
			$(confirm) = sub $(commonPath)/yesno1 ++48++48
			trap $(confirm) form_confirm
			buzzer
			quit
	endswitch
	$(bin)/Sdf -f $(DRIVE_LIST) 1> $(DISK_LIST) 2> /dev/null
	setval disk_list file $(DISK_LIST)
	put 1 $(err_no)
	job err
endproc:
proc: confirm
	switch $(answer)
		case cancel:
			job sub_end_reset
			put 0 $(menu_no)
			quit
	endswitch
	put on $(ONRUN)
	put 101 $(menu_no)
	$(onrun) = sub $(commonPath)/onrun ++48++48
	switch #(cmd)
		case 2:
			$(pid) = bg $(etc)/Disk/Sfstab.sh ddel $(DRIVE_NO)
			break
		case 4:
			$(pid) = bg $(etc)/Disk/Sinit_disk.sh /dev/r$(DISK_NAME) $(DRIVE_TYPE)
			break
	endswitch
	$(bgstat) = trap $(pid) cmd_end
endproc:
proc: form_confirm
	switch $(answer)
		case cancel:
			$(bin)/Sopen_check /dev/r$(DRIVE_NO)c 2> /dev/null
			switch #(status)
				case 0:
					break
				default:
					put 4 $(err_no)
					job err
					quit
			endswitch
			job part
			break
		default:
			put 'The contents of the disk will be all cleared.' $(confirm_msg1)
			$(confirm) = sub $(commonPath)/confirm1 ++48++48
			trap $(confirm) form_confirm1
			buzzer
			break
	endswitch
endproc:
proc: form_confirm1
	switch $(answer)
		case cancel:
			put 0 $(menu_no)
			quit
		default:
			put on $(ONRUN)
			put 101 $(menu_no)
			$(onrun) = sub $(menu)/on_format ++48++48
			trap $(onrun) form_end
			break
	endswitch
endproc:
proc: form_end
	switch #(form_stat)
		case 0:
			put 'Disk Initialization' $(cmdName)
			$(n_end) = sub $(commonPath)/normalEnd ++48++48
			trap $(n_end) f_end
			put 102 $(menu_no)
			break
		default:
			put off $(ONRUN)
			put 8 $(err_no)
			job err
			break
	endswitch
endproc:
proc: f_end
	put off $(ONRUN)
	job part
endproc:
proc: sub_end
	switch #(menu_no)
		case 1:
			put 11 $(menu_no)
			switch $(DRIVE_TYPE)
				case '':
					job sub_end_reset
					
					quit
			endswitch
			$(bin)/Sopen_check /dev/r$(DRIVE_NO)c 2> /dev/null
			switch #(status)
				case 0:
					break
				default:
					put 4 $(err_no)
					job err
					quit
			endswitch
			$(init) = open $(menu)/init ++48++48
			job insense
			setval user sensitive false
			setval disk_redf sensitive false
			trap $(init) sub_end
			quit
		case 3:
			switch $(CHANGE_DISK)
				case on:
					job init
					break
				default:
					job sub_end_reset
					quit
			endswitch
			setval user sensitive true
			setval disk_redf sensitive true
			break
		case 11:
			job select_sub1
			switch $(select_on_cmd2)
				case on:
					job select_sub2
			endswitch
			put off $(select_on_cmd1)
			put off $(select_on_cmd2)
			switch $(CHANGE_DISK)
				case on:
					job init
					break
				case off:
					break
			endswitch
			setval user sensitive true
			setval disk_redf sensitive true
			break
	endswitch
	put 0 $(menu_no)
endproc:
proc: part
	put 1 $(menu_no)
	put 'Disk Initialization' $(cmdName)
	switch $(DRIVE_TYPE)
		case od282:
		case od282i:
		case od282iso:
			$(bin)/Srcap /dev/r$(DRIVE_NO)c
			put $(stdout) $(seccnt)
			test $(seccnt) -ge 578023
			switch #(status)
				case 0:
					put od282i $(DRIVE_TYPE)
					break
			endswitch
			test $(seccnt) -ge 579008
			switch #(status)
				case 0:
					put od282 $(DRIVE_TYPE)
					break
			endswitch
			break
		case HD41:
		case HD101_HH:
		case HD170_HH:
		case HD182:
		case HD239:
		case HD286:
		case HD639:
		case SMO_S501:
		case hd41:
		case hd101_hh:
		case hd170_hh:
		case hd182:
		case hd199:
		case hd239:
		case hd286:
		case hd406:
		case hd415_hh:
		case hd639:
		case hd1280:
		case od282:
		case od282i:
		case od282iso:
		case smo_s501:
			break
		default:
			put 11 $(err_no)
			job err
			quit
	endswitch
	$(part) = open $(menu)/$(DRIVE_TYPE) ++48++48
	job insense
	setval user sensitive false
	setval disk_redf sensitive false
	trap $(part) sub_end
endproc:
proc: user_end
	switch #(step)
		case 1:
			put 2 $(step)
			$(pid) = bg sort -u $(USER_TMP) > $(USER_LIST)
			$(bgstat) = trap $(pid) user_end
			break
		case 2:
			setval user_list file $(USER_LIST)
			setval user sensitive true
			put off $(ONRUN)
			buzzer $(main)
			close $(onrun)
			put 0 $(menu_no)
			break
	endswitch
endproc:
proc: err
	put 10 $(menu_no)
	switch #(err_no)
		case 1:
			put 'Disk "$(DRIVE_NO)" is used(busy).' $(confirm_msg1)
			put 'Cannot unmount the disk.' $(confirm_msg2)
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 2:
			put 'Cannot mount the partition "$(disk)".' $(confirm_msg1)
			$(err) = sub $(commonPath)/error1 ++48++48
			break
		case 3:
			put 'Cannot unmount the partition "$(disk)".' $(confirm_msg1)
			$(err) = sub $(commonPath)/error1 ++48++48
			break
		case 4:
			put 'Cannot open drive "$(DRIVE_NO)".' $(confirm_msg1)
			put 'Please check the following items.' $(confirm_msg2)
			put '1. Drive is connected correctly.' $(confirm_msg3)
			put '2. Media(MO disk) is set correctly.' $(confirm_msg4)
			put '3. Media is formatted.' $(confirm_msg5)
			$(err) = sub $(commonPath)/error5 ++48++48
			break
		case 5:
			put 'Partition "$(DISK_NAME)" is used(busy).' $(confirm_msg1)
			put 'Cannot initialize the partition.' $(confirm_msg2)
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 6:
			put 'Partition "$(DISK_NAME)" is used(busy).' $(confirm_msg1)
			put 'Cannot change setting.' $(confirm_msg2)
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 7:
			put 'Disk "$(DRIVE_NO) is already removed.' $(confirm_msg1)
			$(err) = sub $(commonPath)/error1 ++48++48
			break
		case 8:
			put 'Error happened on formatting.' $(confirm_msg1)
			$(err) = sub $(commonPath)/error1 ++48++48
			break
		case 9:
			put 'Cannot open drive "$(DRIVE_NO)".' $(confirm_msg1)
			put 'Please check the following items.' $(confirm_msg2)
			put '1. Drive is connected correctly.' $(confirm_msg3)
			put '2. Media(MO disk) is set correctly.' $(confirm_msg4)
			$(err) = sub $(commonPath)/error4 ++48++48
			break
		case 10:
			put 'Error happened on initializing.' $(confirm_msg1)
			$(err) = sub $(commonPath)/error1 ++48++48
			break
		case 11:
			put 'This kind of disk is not supported.' $(confirm_msg1)
			$(err) = sub $(commonPath)/error1 ++48++48
			break
	endswitch
	buzzer
	trap $(err) err_end
endproc:
proc: sub_end_reset
	job select_sub1
	switch $(select_on_cmd2)
		case on:
			job select_sub2
	endswitch
	put off $(select_on_cmd1)
	put off $(select_on_cmd2)
	put 0 $(menu_no)
	setval user sensitive true
	setval disk_redf sensitive true
endproc:
proc: err_end
	job sub_end_reset
	put off $(ONRUN)
	put 0 $(menu_no)
endproc:
