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
11case "${2}" in
12pressed)
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
43released)
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	;;
51esac
52