git: 9front

ref: 58fe582ca95df1f8474fba6fd8d4a1fa9a6d9b1c
dir: /rc/bin/inst/configppp/

View raw version
#!/bin/rc

# desc: configure your internet connection via ppp over a modem

switch($1) {
case go
	devs=`{ls -p /dev/eia? >[2]/dev/null}
	if(~ $#devs 0) {
		echo 'No serial port found; this can''t happen.'	# because confignet checks
		exit
	}
	
	# not going to use the mouse for PPP
	if(~ eia^$mouseport $devs)
		devs=`{echo $devs | sed 's/eia'^$mouseport^'//'}
	
	if(~ $#devs 0) {
		echo 'The only serial port you have is your mouse.'
		echo 'Cannot configure PPP.'
		exit
	}
	
	echo
	echo 'Please choose the serial port or modem to use to connect to your ISP.'
	echo
	for(i in $devs) {
		n=`{echo $i | sed 's/eia//'}
		n=`{hoc -e 1+$n}
		echo '	'^$i^'(Windows'' COM'^$n^')'
	}
	echo
	prompt 'Serial device' $devs
	pppdev=$rd
	
	echo
	echo 'Pick a baud rate for the PPP connection.'
	echo
	prompt -d 115200 'Baud rate'
	pppbaud=$rd
	
	echo
	echo 'You can specify your dialup phone number, username, and password,'
	echo 'or you can log in manually by typing the modem commands yourself.'
	echo
	prompt 'Dialing method' auto manual
	pppmethod=$rd
	
	switch($pppmethod){
	case auto
		prompt 'PPP phone number'; pppphone=$rd
		prompt 'PPP phone username'; pppuser=$rd
		prompt 'PPP phone password'; ppppasswd=$rd
	}
	
	export pppdev pppmethod pppphone ppppasswd pppuser pppbaud
	exec startppp go

case checkdone
	if(! ~ $#pppmethod 1 || ! test -f /dev/$pppdev){
		configppp=notdone
		export configppp
	}
}