1 #!/bin/sh - 2 # 3 # $NetBSD: sleep_button,v 1.3.18.2 2008/06/29 08:38:43 mjf 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