window:
	res:
		windowType	wstandard
	endres:
endwindow:
close:
	res:
		bitmapPath	$(bitmaps)
		bitmapFile	CLOSE::CBM
	endres:
endclose:
title:
	res:
		leftLabel	' '
		leftKanjiFont	$(kanjiFont)
		leftFont	$(kanaFont)
		rightLabel	/etc/exports
		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: dir
		res:
			itemType	bitmap
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
			leftLabel	' 丮:'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			autoAdjust	true
		endres:
	endditem:
	ditem: anon_label
		res:
			itemType	bitmap
			fromVert	dir
			vertDistance	4
			horizDistance	#(fWidth)
			label		'͸  ɣ:'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: anon_sign
		res:
			itemType	button
			fromVert	dir
			fromHoriz	anon_label
			vertDistance	4
			horizDistance	4
			label		'+'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			switch $(anon_sign)
				case '':
					put - $(anon_sign)
					break
				case -:
					put '' $(anon_sign)
					break
			endswitch
			job anon_init
		endact:
	endditem:
	ditem: anon
		res:
			itemType	numtext
			fromVert	dir
			fromHoriz	anon_sign
			vertDistance	4
			horizDistance	4
			length		5
			width		#(fWidth)*5+4
			height		#(fHeight)
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(anon)
		endact:
	endditem:
	ditem: secure_label
		res:
			itemType	bitmap
			fromVert	anon_sign
			vertDistance	4
			horizDistance	#(fWidth)
			label		'ť  :'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: secure
		res:
			itemType	button
			fromVert	anon_sign
			fromHoriz	secure_label
			vertDistance	4
			horizDistance	4
			label		'  '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			switch $(secure)
				case on:
					put off $(secure)
					break
				case off:
					put on $(secure)
					break
			endswitch
			job secure_init
		endact:
	endditem:
	ditem: access_label
		res:
			itemType	bitmap
			fromVert	dir
			fromHoriz	secure
			vertDistance	4
			horizDistance	#(fWidth)*4
			label		'＼ :'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: access
		res:
			itemType	button
			fromVert	dir
			fromHoriz	access_label
			vertDistance	4
			horizDistance	4
			label		'  '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			switch $(access)
				case on:
					put off $(access)
					break
				case off:
					put on $(access)
					break
			endswitch
			job access_init
			job option_init
			job defrw_init
		endact:
	endditem:
	ditem: rwmode_label
		res:
			itemType	bitmap
			fromVert	anon_sign
			fromHoriz	secure
			vertDistance	4
			horizDistance	#(fWidth)*4
			label		':'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: rwmode
		res:
			itemType	button
			fromVert	anon_sign
			fromHoriz	rwmode_label
			vertDistance	4
			horizDistance	4
			label		' '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			switch $(rwmode)
				case +:
					put 'dummy + +' > $(TMP_LIST)
					$(bin)/Sfile_op -c 1 -ci - -f 1 -i $(TMP_LIST) -o $(NEW_LIST)
					put - $(rwmode)
					put $(rwmode) $(other_rw)
					break
				case -:
					put 'dummy - +' > $(TMP_LIST)
					$(bin)/Sfile_op -c 1 -ci + -f 1 -i $(TMP_LIST) -o $(NEW_LIST)
					put + $(rwmode)
					put $(rwmode) $(other_rw)
					break
			endswitch
			job rwmode_init
			job access_init
			job option_init
			job defrw_init
		endact:
	endditem:
	ditem: list_label
		res:
			itemType	bitmap
			fromVert	secure
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
			label		'ȣƮ ϶'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: list
		res:
			itemType	scrtext
			fromVert	list_label
			vertDistance	4
			horizDistance	#(fWidth)
			width		#(fWidth)+1*20
			height		#(lHeight)*10+8
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			bind1		select1
			bind2		select2
			file		/dev/null
		endres:
		act:
			put $(line)
			put $(line)@0 $(NEW_NAME)
		endact:
	endditem:
	ditem: def_wrt_label
		res:
			itemType	bitmap
			fromVert	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
			label		' '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: def_rw-01
		res:
			itemType	radio
			fromVert	def_wrt_label
			vertDistance	4
			horizDistance	#(fWidth)
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			switch $(COLOR)
				case MONO:
					background	white
					foreground	black
					highlightBack	white
					highlightFore	black
					selectedBack	white
					selectedFore	black
					selhighBack	white
					break
				default:
					background	#c5c5c5
					highlightBack	#c5c5c5
					selectedBack	#c5c5c5
					break
			endswitch
		endres:
		act:
			put $(value)
			switch #(value)
				case 1:
					put + $(write)
			endswitch
		endact:
	endditem:
	ditem: def_ro-01
		res:
			itemType	radio
			fromVert	def_rw-01
			vertDistance	4
			horizDistance	#(fWidth)
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			switch $(COLOR)
				case MONO:
					background	white
					foreground	black
					highlightBack	white
					highlightFore	black
					selectedBack	white
					selectedFore	black
					selhighBack	white
					break
				default:
					background	#c5c5c5
					highlightBack	#c5c5c5
					selectedBack	#c5c5c5
					break
			endswitch
		endres:
		act:
			put $(value)
			switch #(value)
				case 1:
					put - $(write)
			endswitch
		endact:
	endditem:
	ditem: select
		res:
			itemType	button
			fromVert	list
			fromHoriz	def_rw-01
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			job select
		endact:
	endditem:
	ditem: option_label
		res:
			itemType	bitmap
			fromVert	secure
			fromHoriz	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*3
			label		'㰡 ȣƮ        write root'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: option
		res:
			itemType	scrtext
			fromVert	option_label
			fromHoriz	list
			vertDistance	4
			horizDistance	#(fWidth)*3
			width		#(fWidth)+1*28
			height		#(lHeight)*10+8
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			bind1		delete1
			bind2		delete2
			file		/dev/null
		endres:
		act:
			put $(line)
			put $(line)@0 $(DEL_NAME)
			put $(line)@1 $(WRITE_MODE)
			put $(line)@2 $(ROOT_MODE)
		endact:
	endditem:
	ditem: del
		res:
			itemType	button
			fromVert	option
			fromHoriz	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*3
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			job delete2
		endact:
	endditem:
	ditem: rw_ok
		res:
			itemType	button
			fromVert	option
			fromHoriz	del
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			put '$(DEL_NAME) + $(ROOT_MODE)' > $(TMP_LIST)
			$(bin)/Sfile_op -c 1 -ci + -f 0 -i $(TMP_LIST) -o $(NEW_LIST)
			switch $(DEL_NAME)
				case [others]:
					put + $(other_rw)
					put '$(DEL_NAME) - $(ROOT_MODE)' > $(TMP_LIST)
					$(bin)/Sfile_op -c 1 -ci + -f 1 -i $(TMP_LIST) -o $(NEW_LIST)
					break
				default:
					put '$(DEL_NAME) + $(ROOT_MODE)' > $(TMP_LIST)
					$(bin)/Sfile_op -c 1 -ci + -f 0 -i $(TMP_LIST) -o $(NEW_LIST)
					break
			endswitch
			job option_init
			job defrw_init
		endact:
	endditem:
	ditem: rw_ng
		res:
			itemType	button
			fromVert	rw_ok
			fromHoriz	del
			vertDistance	4
			horizDistance	#(fWidth)*2
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			switch $(DEL_NAME)
				case [others]:
					put - $(other_rw)
					job ro
					quit
			endswitch
			switch $(access)
				case on:
					job ro
					quit
			endswitch
			switch $(other_rw)
				case -:
					job ro
					quit
			endswitch
			put 3 $(err_no)
			job err
		endact:
	endditem:
	ditem: root_ok
		res:
			itemType	button
			fromVert	option
			fromHoriz	rw_ok
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			put '$(DEL_NAME) $(WRITE_MODE) +' > $(TMP_LIST)
			$(bin)/Sfile_op -c 2 -ci + -f 0 -i $(TMP_LIST) -o $(NEW_LIST)
			job option_init
		endact:
	endditem:
	ditem: root_ng
		res:
			itemType	button
			fromVert	root_ok
			fromHoriz	rw_ok
			vertDistance	4
			horizDistance	#(fWidth)
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			put '$(DEL_NAME) $(WRITE_MODE) -' > $(TMP_LIST)
			$(bin)/Sfile_op -c 2 -ci - -f 0 -i $(TMP_LIST) -o $(NEW_LIST)
			job option_init
		endact:
	endditem:
	ditem: set
		res:
			itemType	button
			fromVert	list_label
			fromHoriz	option
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			switch $(SERVER_DIR)
				case '':
					put 1 $(err_no)
					job err
					quit
				case /\*:
					break
				default:
					put 2 $(err_no)
					job err
					quit
			endswitch
			put ' [others] - -' > $(TMP_LIST)
			$(bin)/Sfile_op -d -f 0 -i $(TMP_LIST) -o $(NEW_LIST)
			put ' [all] - -' > $(TMP_LIST)
			$(bin)/Sfile_op -d -f 0 -i $(TMP_LIST) -o $(NEW_LIST)
			put on $(ONRUN)
			put 101 $(menu_no)
			$(onrun) = sub $(commonPath)/onrun ++48++48
			$(pid) = bg $(etc)/Nfs/Sexports.sh chgl $(NEW_LIST) $(SERVER_DIR) $(rwmode) $(anon_sign)$(anon) $(secure) $(access) $(other_rw) > $(TMP_LIST)
			$(bgstat) = trap $(pid) cmd_end
		endact:
	endditem:
	ditem: clear
		res:
			itemType	button
			fromVert	set
			fromHoriz	option
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
			label		' Ŭ '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			echo -n > $(NEW_LIST)
			job access_init
			job option_init
			job defrw_init
		endact:
	endditem:
	ditem: reset
		res:
			itemType	button
			fromVert	clear
			fromHoriz	option
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			job reset
		endact:
	endditem:
enddialog:
proc: pre
	$(TMP) = mktemp
	put /tmp/$(TMP) $(NEW_LIST)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(OLD_LIST)
	$(etc)/Nfs/Sexports.sh mklist $(SERVER_DIR) $(OLD_LIST)
	cp $(OLD_LIST) $(NEW_LIST)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(TMP_LIST)
	put 0 $(menu_no)
	put on $(mapped)
	put off $(opened)
endproc:
proc: close
	switch $(ONRUN)
		case on:
			quit
	endswitch
	job off
	close
endproc:
proc: off
	switch #(menu_no)
		case 1:
			close $(err)
	endswitch
	rm -f $(NEW_LIST) $(OLD_LIST) $(TMP_LIST)
endproc:
proc: open
	setval list file $(STATION_LIST)
	setval dir leftLabel ' 丮: $(SERVER_DIR)'
	setval def_rw-01 selected true
	setval def_ro-01 selected false
	job get_old
	job reset
endproc:
proc: get_old
	$(bin)/Sexports -e $(SERVER_DIR) /etc/exports anon
	switch $(status)
		case 0:
			put - $(anon_sign_old)
			put 2 $(anon_old)
			break
		default:
			switch $(stdout)
				case -\*:
					put - $(anon_sign_old)
					sh -c 'echo $(stdout) | sed "s/^-//"'
					put $(stdout) $(anon_old)
					break
				case +\*:
					put '' $(anon_sign_old)
					sh -c 'echo $(stdout) | sed "s/^+//"'
					put $(stdout) $(anon_old)
					break
				default:
					put '' $(anon_sign_old)
					put $(stdout) $(anon_old)
					break
			endswitch
	endswitch
	$(bin)/Sexports -e $(SERVER_DIR) /etc/exports secure
	switch $(status)
		case 0:
			put off $(secure_old)
			break
		default:
			put on $(secure_old)
			break
	endswitch
	$(bin)/Sexports -e $(SERVER_DIR) /etc/exports ro
	switch $(status)
		case 0:
			put + $(rwmode_old)
			break
		default:
			put - $(rwmode_old)
			break
	endswitch
	put - $(other_rw_old)
	$(bin)/Sexports -e $(SERVER_DIR) /etc/exports access
	switch $(status)
		case 0:
			put off $(access_old)
			switch $(rwmode_old)
				case -:
					break
				default:
					$(bin)/Sexports -e $(SERVER_DIR) /etc/exports rw
					switch $(status)
						case 0:
							put + $(other_rw_old)
							break
					endswitch
				break
			endswitch
			break
		default:
			put on $(access_old)
			break
	endswitch
endproc:
proc: reset
	cp $(OLD_LIST) $(NEW_LIST)
	put $(anon_sign_old) $(anon_sign)
	put $(anon_old) $(anon)
	put $(secure_old) $(secure)
	put $(access_old) $(access)
	put $(rwmode_old) $(rwmode)
	put $(other_rw_old) $(other_rw)
	job anon_init
	setval anon string $(anon)
	job secure_init
	job insense
	job rwmode_init
	job access_init
	job option_init
	job defrw_init
endproc:
proc: rwmode_init
	switch $(rwmode)
		case +:
			setval rwmode label ' '
			break
		case -:
			setval rwmode label 'б '
			break
	endswitch
endproc:
proc: defrw_init
	switch $(rwmode)
		case +:
			switch $(access)
				case on:
					setval def_rw-01 sensitive true
					setval def_ro-01 sensitive true
					break
				case off:
					switch $(other_rw)
						case +:
							setval def_rw-01 selected true
							setval def_ro-01 selected false
							setval def_rw-01 sensitive false
							setval def_ro-01 sensitive false
							break
						case -:
							setval def_rw-01 sensitive true
							setval def_ro-01 sensitive true
							break
					endswitch
					break
			endswitch
			break
		case -:
			setval def_rw-01 sensitive false
			setval def_ro-01 sensitive false
			break
	endswitch
endproc:
proc: access_init
	put ' [others] - -' > $(TMP_LIST)
	$(bin)/Sfile_op -d -f 0 -i $(TMP_LIST) -o $(NEW_LIST)
	put ' [all] - -' > $(TMP_LIST)
	$(bin)/Sfile_op -d -f 0 -i $(TMP_LIST) -o $(NEW_LIST)
	test -s $(NEW_LIST)
	switch $(status)
		case 0:
			put ' [others]           $(other_rw)    -' > $(TMP_LIST)
			break
		default:
			switch $(rwmode)
				case +:
					put $(rwmode) $(other_rw)
					break
			endswitch
			put ' [all]              $(other_rw)    -' > $(TMP_LIST)
			break
	endswitch
	switch $(access)
		case off:
			cat $(TMP_LIST) >> $(NEW_LIST)
			setval access label '  '
			switch $(other_rw)
				case +:
					put 'dummy - +' > $(TMP_LIST)
					$(bin)/Sfile_op -c 1 -ci + -f 1 -i $(TMP_LIST) -o $(NEW_LIST)
					break
			endswitch
			break
		case on:
			setval access label '  '
			break
	endswitch
endproc:
proc: anon_init
	switch $(anon_sign)
		case -:
			setval anon_sign label -
			break
		case '':
			setval anon_sign label +
			break
	endswitch
endproc:
proc: secure_init
	switch $(secure)
		case off:
			setval secure label '  '
			break
		case on:
			setval secure label '  '
			break
	endswitch
endproc:
proc: insense
	setval select sensitive false
	setval rw_ok sensitive false
	setval rw_ng sensitive false
	setval root_ok sensitive false
	setval root_ng sensitive false
	setval del sensitive false
endproc:
proc: ro
	put '$(DEL_NAME) - $(ROOT_MODE)' > $(TMP_LIST)
	$(bin)/Sfile_op -c 1 -ci - -f 0 -i $(TMP_LIST) -o $(NEW_LIST)
	job option_init
	job defrw_init
endproc:
proc: select1
	switch $(NEW_NAME)
		case '':
			quit
	endswitch
	setval select sensitive true
endproc:
proc: select2
	switch $(NEW_NAME)
		case '':
			quit
	endswitch
	setval select selected true
	job select
	setval select selected false
endproc:
proc: select
	switch $(rwmode)
		case -:
			put ' $(NEW_NAME)\L16   -    -' > $(TMP_LIST)
			break
		case +:
			put ' $(NEW_NAME)\L16   $(write)    -' > $(TMP_LIST)
			break
	endswitch
	$(bin)/Sfile_op -a -f 0 -i $(TMP_LIST) -o $(NEW_LIST)
	job access_init
	job option_init
endproc:
proc: delete1
	switch $(DEL_NAME)
		case '':
			quit
		case [all]:
			setval rw_ok sensitive false
			setval rw_ng sensitive false
			setval root_ok sensitive false
			setval root_ng sensitive false
			setval del sensitive false
			quit
	endswitch
	put on $(selected)
	switch $(rwmode)
		case +:
			switch $(WRITE_MODE)
				case +:
					setval rw_ok sensitive false
					setval rw_ng sensitive true
					break
				case -:
					setval rw_ok sensitive true
					setval rw_ng sensitive false
					break
			endswitch
			break
	endswitch
	switch $(DEL_NAME)
		case [others]:
			setval root_ok sensitive false
			setval root_ng sensitive false
			setval del sensitive false
			quit
	endswitch
	switch $(ROOT_MODE)
		case +:
			setval root_ok sensitive false
			setval root_ng sensitive true
			break
		case -:
			setval root_ok sensitive true
			setval root_ng sensitive false
			break
	endswitch
	setval del sensitive true
endproc:
proc: delete2
	switch $(DEL_NAME)
		case '':
		case [all]:
		case [others]:
			quit
	endswitch
	setval del selected true
	job delete
	setval del selected false
endproc:
proc: delete
	put $(DEL_NAME) > $(TMP_LIST)
	$(bin)/Sfile_op -d -f 0 -i $(TMP_LIST) -o $(NEW_LIST)
	job access_init
	job option_init
endproc:
proc: option_init
	put off $(selected)
	setval option file $(NEW_LIST)
	setval del sensitive false
	setval rw_ok sensitive false
	setval rw_ng sensitive false
	setval root_ok sensitive false
	setval root_ng sensitive false
endproc:
proc: cmd_end
	close $(onrun)
	buzzer $(main)
	switch $(mapped)
		case on:
			job bgdone
			break
		case off:
			put on $(opened)
			break
	endswitch
	put 102 $(menu_no)
endproc:
proc: unmap
	switch #(menu_no)
		case 1:
			unmap $(err)
			break
		case 101:
			unmap $(onrun)
			break
		case 102:
			unmap $(n_end)
			break
	endswitch
	put off $(mapped)
endproc:
proc: map
	switch #(menu_no)
		case 1:
			move $(err)
			raise $(err)
			map $(err)
			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 1:
			move $(err)
			break
		case 101:
			move $(onrun)
			break
		case 102:
			move $(n_end)
			break
	endswitch
endproc:
proc: up
	switch #(menu_no)
		case 1:
			raise $(err)
			break
		case 101:
			raise $(onrun)
			break
		case 102:
			raise $(n_end)
			break
	endswitch
endproc:
proc: bgdone
	switch #(bgstat)
		case 0:
			$(n_end) = sub $(commonPath)/normalEnd ++48++48
			trap $(n_end) n_end
			break
	endswitch
endproc:
proc: n_end
	put off $(ONRUN)
	put 0 $(menu_no)
	put on $(CHANGE_SERVER)
	job close
endproc:
proc: n_err
	put off $(ONRUN)
	put 0 $(menu_no)
endproc:
proc: err
	put 1 $(menu_no)
	switch #(err_no)
		case 3:
			put 'Ư ȣƮ б    ϴ.' $(confirm_msg1)
			$(err) = sub $(commonPath)/error1 ++48++48
			break
	endswitch
	buzzer
	trap $(err) err_end
endproc:
proc: err_end
	put 0 $(menu_no)
endproc:
