Home | History | Annotate | Line # | Download | only in rc.d
      1 #!/bin/sh
      2 #
      3 # $NetBSD: mixerctl,v 1.10 2007/03/16 22:30:22 abs Exp $
      4 #
      5 
      6 # PROVIDE: mixerctl
      7 # REQUIRE: mountcritremote
      8 # KEYWORD: shutdown
      9 
     10 $_rc_subr_loaded . /etc/rc.subr
     11 
     12 name="mixerctl"
     13 rcvar=$name
     14 start_cmd="mixerctl_start"
     15 stop_cmd="mixerctl_stop"
     16 
     17 mixerctl_start()
     18 {
     19 	if [ -n "$mixerctl_mixers" ]; then
     20 		echo -n "Restoring mixer settings:"
     21 		for mix in $mixerctl_mixers; do
     22 			if [ -s /var/db/${mix}.conf ]; then
     23 				echo -n " $mix"
     24 				/usr/bin/mixerctl -d /dev/$mix -n -w \
     25 					$(/bin/cat /var/db/${mix}.conf)
     26 			fi
     27 		done
     28 		echo "."
     29 	fi
     30 	if [ -r /etc/mixerctl.conf ]; then
     31 		echo "Setting mixerctl variables..."
     32 		while read setting; do
     33 			case "$setting" in
     34 			\#*|"")
     35 				continue
     36 				;;
     37 			esac
     38 			/usr/bin/mixerctl -n -w $setting
     39 		done < /etc/mixerctl.conf
     40 	fi
     41 }
     42 
     43 mixerctl_stop()
     44 {
     45 	if [ -n "$mixerctl_mixers" ]; then
     46 		echo -n "Saving mixer settings:"
     47 		for mix in $mixerctl_mixers; do
     48 			echo -n " $mix"
     49 			/usr/bin/mixerctl -d /dev/$mix -a > /var/db/${mix}.conf
     50 		done
     51 		echo "."
     52 	fi
     53 }
     54 
     55 load_rc_config $name
     56 run_rc_command "$1"
     57