Home | History | Annotate | Line # | Download | only in scripts
sleep_button revision 1.7
      1 #!/bin/sh -
      2 #
      3 #	$NetBSD: sleep_button,v 1.7 2010/12/31 09:36:15 jruoho 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 
     14 	/etc/rc.d/btdevctl stop
     15 	/etc/rc.d/btconfig stop
     16 	/etc/rc.d/ntpd stop
     17 	/etc/rc.d/dhclient stop
     18 	/etc/rc.d/network stop
     19 	/etc/rc.d/wpa_supplicant stop
     20 
     21 	if /sbin/sysctl hw.acpi.sleep.state >/dev/null 2>&1; then
     22 		/sbin/sysctl -w hw.acpi.sleep.state=3
     23 	else
     24 		sleep 1
     25 		if /etc/rc.d/apmd onestatus >/dev/null ; then
     26 			/usr/sbin/apm -z
     27 		else
     28 			/usr/sbin/apm -d -z
     29 		fi
     30 		# ... waking up
     31 		sleep 1
     32 	fi
     33 
     34 	/etc/rc.d/wpa_supplicant start
     35 	/etc/rc.d/network start
     36 	/etc/rc.d/dhclient start
     37 	/etc/rc.d/ntpdate start
     38 	/etc/rc.d/ntpd start
     39 	/etc/rc.d/btconfig start
     40 	/etc/rc.d/btdevctl start
     41 	;;
     42 
     43 released)
     44 	# Note that we don't really need to handle a released event here,
     45 	# so we can gracefully exit.
     46 	;;
     47 *)
     48 	logger -p warning "${0}: unsupported event ${2} on device ${1}" >&1
     49 	exit 1
     50 	;;
     51 esac
     52