NetBSD-5.0.2/etc/powerd/scripts/acadapter

#!/bin/sh -
#
#	$NetBSD: acadapter,v 1.3 2008/08/22 11:18:21 pgoyette Exp $
#
# Generic script for acadapter events.
#
# Arguments passed by powerd(8):
#
#	device event

case "${2}" in
pressed)
	logger -p info "${0}: Full performance mode" >&1
	# The following turns up brightness on a Sony Vaio laptop
	/sbin/sysctl -w hw.sony0.brt=8 >/dev/null 2>&1
	# Enable full performance mode for speedstep CPUs
	/sbin/sysctl -w machdep.speedstep_state=1 2>&1
	# Disable power saving mode on all network interfaces
	for intf in $(/sbin/ifconfig -l); do
		/sbin/ifconfig $intf -powersave >/dev/null 2>&1
	done

	#
	# If you want to keep your hard disk idle while running on
	# battery, the following commands will help.
	#

	# Disk idle timeouts
	#/sbin/atactl wd0 setidle 300
	#/sbin/atactl wd0 setstandby 600
	# Make sure syslogd is running
	#pkill syslogd
	#/etc/rc.d/syslogd start
	# Startup cron daemon when running on power
	#/etc/rc.d/cron start

	# All finished
	exit 0
	;;

released)
	logger -p info "${0}: Power saving mode" >&1
	# The following turns down brightness on a Sony Vaio laptop
	/sbin/sysctl -w hw.sony0.brt=0 >/dev/null 2>&1
	# Enable power saving mode for speedstep CPUs
	/sbin/sysctl -w machdep.speedstep_state=0 >/dev/null 2>&1

	# Enable power saving mode on all network interfaces
	for intf in $(/sbin/ifconfig -l); do
		/sbin/ifconfig $intf powersave >/dev/null 2>&1
	done

	#
	# When running on battery, we want to keep the disk idle for as long
	# as possible. Unfortunately, things like cron and syslog make this
	# very difficult. If you can live without cron or persistent logging,
	# you can use the commands below to disable cron and syslogd.
	#
	# If you still want to see syslog messages, you can create a custom
	# /etc/syslog.conf.battery that writes messages to /dev/console or
	# possibly a free wsdisplay screen.
	#

	# Disk idle timeouts
	#/sbin/atactl wd0 setidle 30
	#/sbin/atactl wd0 setstandby 120
	
	# Stop the cron daemon
	#/etc/rc.d/cron stop

	# Restart syslogd using a diskless configuration
	#pkill syslogd
	#/usr/sbin/syslogd -s -f /etc/syslog.conf.battery

	# All finished
	exit 0
	;;

*)
	logger -p warning "${0}: unsupported event ${2} on device ${1}" >&1
	exit 1
	;;
esac