1#!/bin/sh -
2#
3#         $NetBSD: sleep_button,v 1.11 2017/07/13 13:50:48 roy 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          if /sbin/sysctl -q hw.acpi.sleep.state; then
14                    /sbin/sysctl -w hw.acpi.sleep.state=3
15          elif /sbin/sysctl -q machdep.xen.suspend; then
16                    /sbin/sysctl -w machdep.xen.suspend=1
17          else
18                    sleep 1
19                    if /etc/rc.d/apmd onestatus >/dev/null ; then
20                              /usr/sbin/apm -z
21                    else
22                              /usr/sbin/apm -d -z
23                    fi
24                    # ... waking up
25                    sleep 1
26          fi
27          ;;
28
29released)
30          case "${1}" in
31          vmt0)
32                    # Virtual machine is resuming, restart the network
33                    /etc/rc.d/dhcpcd restart
34                    ;;
35          esac
36          ;;
37*)
38          logger -p warning "${0}: unsupported event ${2} on device ${1}" >&1
39          exit 1
40          ;;
41esac
42