window:
	res:
		windowType	wstandard
		menuLeft	true
	endres:
endwindow:
close:
	res:
		bitmapPath	$(bitmaps)
		bitmapFile	CLOSE::CBM
	endres:
endclose:
title:
	res:
		leftLabel	'Ʈũ '
		leftKanjiFont	$(kanjiFont)
		leftFont	$(kanaFont)
		switch $(COLOR)
			case MONO:
				bitmapPath	$(bitmaps)
				backgroundFile	GRAY3
				transparent	false
				break
		endswitch
	endres:
endtitle:
menu: net_menu
	mitem: sort
		res:
			label		Ʈ
			kanjiFont       $(kanjiFont)
		endres:
		pmitem: m_name
			res:
				leftLabel	̸
				leftKanjiFont	$(kanjiFont)
				leftFont	$(kanaFont)
				bitmapPath	$(bitmaps)
				bitmapFile	null::CBM
			endres:
			act:
				switch $(sort)
					case name:
						quit
					case addr:
						setval m_addr bitmapFile null::CBM
						break
					case reg:
						setval m_reg bitmapFile null::CBM
						break
				endswitch
				put name $(sort)
				setval m_name bitmapFile checkmark::CBM
				sort -u -t\ +0.2 $(SORT_TMP) > $(LIST)
				setval list file $(LIST)
			endact:
		endpmitem:
		pmitem: m_addr
			res:
				leftLabel	巹
				leftKanjiFont	$(kanjiFont)
				leftFont	$(kanaFont)
				bitmapPath	$(bitmaps)
				bitmapFile	null::CBM
			endres:
			act:
				switch $(sort)
					case addr:
						quit
					case name:
						setval m_name bitmapFile null::CBM
						break
					case reg:
						setval m_reg bitmapFile null::CBM
						break
				endswitch
				put addr $(sort)
				setval m_addr bitmapFile checkmark::CBM
				sort -t\ +0.19 $(SORT_TMP) > $(LIST)
				setval list file $(LIST)
			endact:
		endpmitem:
		pmitem: m_reg
			res:
				leftLabel	ϼ
				leftKanjiFont	$(kanjiFont)
				leftFont	$(kanaFont)
				bitmapPath	$(bitmaps)
				bitmapFile	null::CBM
			endres:
			act:
				switch $(sort)
					case reg:
						quit
					case name:
						setval m_name bitmapFile null::CBM
						break
					case addr:
						setval m_addr bitmapFile null::CBM
						break
				endswitch
				put reg $(sort)
				setval m_reg bitmapFile checkmark::CBM
				cp $(SORT_TMP) $(LIST)
				setval list file $(LIST)
			endact:
		endpmitem:
	endmitem:
endmenu:
dialog: dialogs
	res:
		defaultDistance		#(fWidth)
		dialogType		modeless
	endres:
	ditem: name_label
		res:
			itemType	bitmap
			label		'ȣƮ'
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
		endres:
	endditem:
	ditem: addr_label
		res:
			itemType	bitmap
			fromHoriz	name_label
			label		'巹'
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*10
		endres:
	endditem:
	ditem: newname
		res:
			itemType	text
			fromVert	addr_label
			vertDistance	2
			horizDistance	#(fWidth)*2
			length		16
			height		#(fHeight)
			width		#(fWidth)*16+4
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(NEW_NAME)
			put $(NEW_NAME)@1 $(NEW_NAME1)
			put $(NEW_NAME)@0 $(NEW_NAME)
		endact:
	endditem:
	ditem: newaddr_1
		res:
			itemType	numtext
			fromVert	addr_label
			fromHoriz	newname
			vertDistance	2
			horizDistance	#(fWidth)*2
			length		3
			height		#(fHeight)
			width		#(fWidth)*3+4
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(NEW_ADDR1)
		endact:
	endditem:
	ditem: dot_1
		res:
			itemType	bitmap
			fromVert	addr_label
			fromHoriz	newaddr_1
			vertDistance	2
			horizDistance	0
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
			label		.
		endres:
	endditem:
	ditem: newaddr_2
		res:
			itemType	numtext
			fromVert	addr_label
			fromHoriz	dot_1
			vertDistance	2
			horizDistance	0
			length		3
			height		#(fHeight)
			width		#(fWidth)*3+4
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(NEW_ADDR2)
		endact:
	endditem:
	ditem: dot_2
		res:
			itemType	bitmap
			fromVert	addr_label
			fromHoriz	newaddr_2
			vertDistance	2
			horizDistance	0
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
			label		.
		endres:
	endditem:
	ditem: newaddr_3
		res:
			itemType	numtext
			fromVert	addr_label
			fromHoriz	dot_2
			vertDistance	2
			horizDistance	0
			length		3
			height		#(fHeight)
			width		#(fWidth)*3+4
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(NEW_ADDR3)
		endact:
	endditem:
	ditem: dot_3
		res:
			itemType	bitmap
			fromVert	addr_label
			fromHoriz	newaddr_3
			vertDistance	2
			horizDistance	0
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
			label		.
		endres:
	endditem:
	ditem: newaddr_4
		res:
			itemType	numtext
			fromVert	addr_label
			fromHoriz	dot_3
			vertDistance	2
			horizDistance	0
			length		3
			height		#(fHeight)
			width		#(fWidth)*3+4
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(NEW_ADDR4)
		endact:
	endditem:
	ditem: list
		res:
			itemType	scrtext
			fromVert	newname
			vertDistance	4
			horizDistance	#(fWidth)
			width		#(fWidth)+1*34
			height		#(lHeight)*8+8
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
			bind2		select
			file		/dev/null
		endres:
		act:
			put $(line)
			put $(line)@0 $(BUF_NAME)
			put $(line)@1 $(BUF_ADDR)
		endact:
	endditem:
	ditem: set
		res:
			itemType	button
			fromVert	newname
			fromHoriz	list
			vertDistance	4
			horizDistance	#(fWidth)*2
			label		'   '
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
		endres:
		act:
			switch $(NEW_NAME)
				case '':
					put 1 $(err_no)
					job err
					quit
			endswitch
			switch $(NEW_NAME1)
				case '':
					break
				default:
					put 2 $(err_no)
					job err
					quit
			endswitch
			$(bin)/Sname_check host $(NEW_NAME)
			switch #(status)
				case 0x100:
					put 2 $(err_no)
					job err
					quit
			endswitch
			switch $(NEW_NAME)
				case localhost:
					put 8 $(err_no)
					job err
					quit
			endswitch
			put '' $(tmp)
			put '$(tmp)$(NEW_ADDR1)\Z3.$(NEW_ADDR2)\Z3.$(NEW_ADDR3)\Z3.$(NEW_ADDR4)\Z3' $(NEW_ADDR)
			$(bin)/Shostaddr_chk $(NEW_ADDR1) $(NEW_ADDR2) $(NEW_ADDR3) $(NEW_ADDR4)
			switch #(status)
				case 0x100:
					put 3 $(err_no)
					job err
					quit
				case 0x200:
				case 0x300:
					put 4 $(err_no)
					job err
					quit
			endswitch
			$(bin)/Snet_check -h $(NEW_NAME) -a $(NEW_ADDR1) $(NEW_ADDR2) $(NEW_ADDR3) $(NEW_ADDR4)
			switch #(status)
				case 0x200:
				case 0x500:
					put 6 $(err_no)
					job err
					quit
				case 0x600:
				case 0x700:
				case 0x900:
					put 5 $(err_no)
					job err
					quit
				case 0xa00:
					put 7 $(err_no)
					job err
					quit
			endswitch
			switch $(get_curnons)
				case off:
					job curnons
					break
				default:
					switch $(NEW_ADDR1).$(NEW_ADDR2).$(NEW_ADDR3).$(NEW_ADDR4)
						case $(NONS_ADDR):
							break
						default:
							put 10 $(menu_no)
							put 'ǥؼ , 巹 Ǿϴ.' $(confirm_msg1)
							put 'ǥؼ  ȿ մϴ.' $(confirm_msg2)
							$(confirm) = sub $(commonPath)/confirm3 ++48++48
							trap $(confirm) confirm
							buzzer
							quit
					endswitch
			endswitch
			put on $(NETWORK_SET)
			job off
			close
		endact:
	endditem:
	ditem: set
		res:
			itemType	button
			fromVert	set
			fromHoriz	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
			label		/Ķ
			kanjiFont	$(kanjiFont)
			font            $(kanaFont)
		endres:
		act:
			put '' $(tmp)
			$(bin)/Shostaddr_chk $(NEW_ADDR1) $(NEW_ADDR2) $(NEW_ADDR3) $(NEW_ADDR4)
			switch #(status)
				case 0x100:
					put 3 $(err_no)
					job err
					quit
				case 0x200:
				case 0x300:
					put 4 $(err_no)
					job err
					quit
			endswitch
			put 1 $(menu_no)
			switch $(get_curnons)
				case off:
					put on $(get_curnons)
					job curnons
					break
				case on:
					switch '$(tmp)$(NEW_ADDR1).$(NEW_ADDR2).$(NEW_ADDR3).$(NEW_ADDR4)'
						case $(NONS_ADDR):
							break
						default:
							job curnons
							break
					endswitch
			endswitch
			put '$(tmp)$(NEW_ADDR1).$(NEW_ADDR2).$(NEW_ADDR3).$(NEW_ADDR4)' $(NONS_ADDR)
			$(nonstand) = sub $(menu)/nonstand ++48++48
			trap $(nonstand) err_end
		endact:
	endditem:
enddialog:
proc: pre
	$(TMP) = mktemp
	put /tmp/$(TMP) $(LIST)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(SORT_TMP)
	$(bin)/Snet_check -l > $(SORT_TMP)
	sort -u -t\ +0.2 $(SORT_TMP) > $(LIST)
	put 0 $(menu_no)
	put on $(mapped)
	put off $(opened)
	$(bin)/Snet_check -p -s
	put $(stdout)@0 $(PRO_ADDR1)
	put $(stdout)@1 $(PRO_ADDR2)
	put $(stdout)@2 $(PRO_ADDR3)
	put $(stdout)@3 $(PRO_ADDR4)
	put off $(get_curnons)
endproc:
proc: close
	job off
	switch $(allset)
		case on:
		case off:
			put off $(NETWORK_SET)
			break
	endswitch
	close
endproc:
proc: off
	switch #(menu_no)
		case 1:
			close $(nonstand)
			break
		case 10:
			close $(err)
			break
	endswitch
	rm -f $(LIST) $(SORT_TMP)
endproc:
proc: open
	setval newname string $(HOST_NAME)
	put name $(sort)
	setval m_name bitmapFile checkmark::CBM
	setval m_addr bitmapFile null::CBM
	setval m_reg bitmapFile null::CBM
	setval list file $(LIST)
	job address
	put '' $(tmp)
	put '$(tmp)$(NEW_ADDR1).$(NEW_ADDR2).$(NEW_ADDR3).$(NEW_ADDR4)' $(NONS_ADDR)
endproc:
proc: select
	switch $(line)
		case '':
			quit
	endswitch
	setval newname string $(BUF_NAME)
	sh -c 'echo $(BUF_ADDR) | sed "s/\./ /g"'
	setval newaddr_1 string $(stdout)@0
	setval newaddr_2 string $(stdout)@1
	setval newaddr_3 string $(stdout)@2
	setval newaddr_4 string $(stdout)@3
endproc:
proc: address
	switch $(HOST_NAME)
		case '':
			setval newaddr_1 string '000'
			setval newaddr_2 string '000'
			setval newaddr_3 string '000'
			setval newaddr_4 string '000'
			break
		default:
			setval newaddr_1 string $(HOST_ADDR1)
			setval newaddr_2 string $(HOST_ADDR2)
			setval newaddr_3 string $(HOST_ADDR3)
			setval newaddr_4 string $(HOST_ADDR4)
			break
	endswitch
endproc:
proc: curnons
	put $(HOST_ROUTER) $(NEW_ROUTER)
	put '' $(tmp)
	switch '$(tmp)$(NEW_ADDR1)\Z3.$(NEW_ADDR2)\Z3.$(NEW_ADDR3)\Z3.$(NEW_ADDR4)\Z3'
		case '$(tmp)$(HOST_ADDR1).$(HOST_ADDR2).$(HOST_ADDR3).$(HOST_ADDR4)':
			switch $(HOST_NETMASK)
				case '':
				case my-netmask:
					job defnetmask
					break
				default:
					put $(HOST_NETMASK) $(NEW_NETMASK)
					break
			endswitch
			switch $(HOST_BROAD)
				case '':
				case my-broadcast:
					job defbroad
					break
				default:
					put $(HOST_BROAD) $(NEW_BROAD)
					break
			endswitch
			break
		default:
			job defnetmask
			job defbroad
			break
	endswitch
endproc:
proc: defnetmask
	test $(NEW_ADDR1) -ge 192
	switch $(status)
		case 0:
			put 255.255.255.0 $(NEW_NETMASK)
			quit
	endswitch
	test $(NEW_ADDR1) -ge 128
	switch $(status)
		case 0:
			put 255.255.0.0 $(NEW_NETMASK)
			quit
	endswitch
	put 255.0.0.0 $(NEW_NETMASK)
endproc:
proc: defbroad
	put '' $(tmp)
	test $(NEW_ADDR1) -ge 192
	switch $(status)
		case 0:
			put '$(tmp)$(NEW_ADDR1).$(NEW_ADDR2).$(NEW_ADDR3).255' $(NEW_BROAD)
			quit
	endswitch
	test $(NEW_ADDR1) -ge 128
	switch $(status)
		case 0:
			put '$(tmp)$(NEW_ADDR1).$(NEW_ADDR2).255.255' $(NEW_BROAD)
			quit
	endswitch
	put '$(tmp)$(NEW_ADDR1).255.255.255' $(NEW_BROAD)
endproc:
proc: confirm
	put 0 $(menu_no)
	switch $(answer)
		case cancel:
			quit
	endswitch
	job curnons
	put on $(NETWORK_SET)
	job off
	close
endproc:
proc: unmap
	switch #(menu_no)
		case 1:
			unmap $(nonstand)
			break
		case 10:
			unmap $(err)
			break
	endswitch
	put off $(mapped)
endproc:
proc: map
	switch #(menu_no)
		case 1:
			raise $(nonstand)
			map $(nonstand)
			break
		case 10:
			move $(err)
			raise $(err)
			map $(err)
			break
	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
	endswitch
endproc:
proc: up
	switch #(menu_no)
		case 10:
			raise $(err)
			break
	endswitch
endproc:
proc: err
	put 10 $(menu_no)
	switch #(err_no)
		case 1:
			put 'ȣƮ Ͽ ֽʽÿ.' $(confirm_msg1)
			$(err) = sub $(commonPath)/error1 ++48++48
			break
		case 2:
			put 'ȣƮ ҹ (-_. )' $(confirm_msg1)
			put '  ڷ Ͽ ֽʽÿ.' $(confirm_msg2)
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 3:
			put '巹  ʵ ִġ Դϴ.' $(confirm_msg1)
			put 'ٸ 巹 Ͽ ֽʽÿ.' $(confirm_msg2)
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 4:
			$(err) = sub $(menuPath)/Network/addr_error ++48++48
			break
		case 5:
			put 'ȣƮ$(NEW_NAME)() ̹ ٸ 巹 ҴǾ ֽϴ.' $(confirm_msg1)
			put '巹 ߰ų, ٸ ȣƮ Ͽ ֽʽÿ.' $(confirm_msg2)
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 6:
			put '巹$(NEW_ADDR1)\Z3.$(NEW_ADDR2)\Z3.$(NEW_ADDR3)\Z3.$(NEW_ADDR4)\Z3() ٸ ȣƮ ҴǾ ֽϴ.' $(confirm_msg1)
			put 'ȣƮ ߰ų, ٸ 巹 Ͽ ֽʽÿ.' $(confirm_msg2)
			
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 7:
			put '巹$(NEW_ADDR1)\Z3.$(NEW_ADDR2)\Z3.$(NEW_ADDR3)\Z3.$(NEW_ADDR4)\Z3()     ϴ.' $(confirm_msg1)
			put 'ٸ 巹 Ͽ ֽʽÿ.' $(confirm_msg2)
			
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 8:
			put 'ȣƮ$(NEW_NAME)()     ϴ.' $(confirm_msg1)
			put 'ٸ ȣƮ Ͽ ֽʽÿ.' $(confirm_msg2)
			
			$(err) = sub $(commonPath)/error2 ++48++48
	endswitch
	buzzer
	trap $(err) err_end
endproc:
proc: err_end
	put 0 $(menu_no)
endproc:
