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