xref: /netbsd-src/etc/powerd/scripts/sleep_button (revision 1cba716bb9f9c0b2c3f82e6bc6d0c8b5bf87978f)
1#!/bin/sh -
2#
3#	$NetBSD: sleep_button,v 1.4 2008/05/21 13:06:10 jmcneill 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	/etc/rc.d/ntpd stop
14	/etc/rc.d/dhclient stop
15	/etc/rc.d/network stop
16	/etc/rc.d/wpa_supplicant stop
17	if /sbin/sysctl machdep.sleep_state >/dev/null 2>&1; then
18		/sbin/sysctl -w machdep.sleep_state=3
19	else
20		sleep 1
21		if /etc/rc.d/apmd status >/dev/null ; then
22			/usr/sbin/apm -z
23		else
24			/usr/sbin/apm -d -z
25		fi
26		# ... waking up
27		sleep 1
28	fi
29	/etc/rc.d/wpa_supplicant start
30	/etc/rc.d/network start
31	/etc/rc.d/dhclient start
32	/etc/rc.d/ntpdate start
33	/etc/rc.d/ntpd start
34	;;
35released)
36	# Note that we don't really need to handle a released event here,
37	# so we can gracefully exit.
38	;;
39*)
40	logger -p warning "${0}: unsupported event ${2} on device ${1}" >&1
41	exit 1
42	;;
43esac
44