Home | History | Annotate | Line # | Download | only in scripts
sleep_button revision 1.3.22.1
      1 #!/bin/sh -
      2 #
      3 #	$NetBSD: sleep_button,v 1.3.22.1 2008/06/23 04:29:04 wrstuden Exp $
      4 #
      5 # Generic script for sleep button events.
      6 #
      7 # Arguments passed by powerd(8):
      8 #
      9 #	device event
     10 
     11 case "${2}" in
     12 pressed)
     13 	/etc/rc.d/btdevctl stop
     14 	/etc/rc.d/btconfig stop
     15 	/etc/rc.d/ntpd stop
     16 	/etc/rc.d/dhclient stop
     17 	/etc/rc.d/network stop
     18 	/etc/rc.d/wpa_supplicant stop
     19 	if /sbin/sysctl machdep.sleep_state >/dev/null 2>&1; then
     20 		/sbin/sysctl -w machdep.sleep_state=3
     21 	else
     22 		sleep 1
     23 		if /etc/rc.d/apmd status >/dev/null ; then
     24 			/usr/sbin/apm -z
     25 		else
     26 			/usr/sbin/apm -d -z
     27 		fi
     28 		# ... waking up
     29 		sleep 1
     30 	fi
     31 	/etc/rc.d/wpa_supplicant start
     32 	/etc/rc.d/network start
     33 	/etc/rc.d/dhclient start
     34 	/etc/rc.d/ntpdate start
     35 	/etc/rc.d/ntpd start
     36 	/etc/rc.d/btconfig start
     37 	/etc/rc.d/btdevctl start
     38 	;;
     39 released)
     40 	# Note that we don't really need to handle a released event here,
     41 	# so we can gracefully exit.
     42 	;;
     43 *)
     44 	logger -p warning "${0}: unsupported event ${2} on device ${1}" >&1
     45 	exit 1
     46 	;;
     47 esac
     48