3 # Suspend the system using either ACPI or APM.
4 # For APM, "apm -z" will be issued.
5 # For ACPI, the configured suspend state will be looked up, checked to see
6 # if it is supported, and "acpiconf -s <state>" will be issued.
8 # Mark Santcroos <marks@ripe.net>
12 PATH
=/sbin
:/usr
/sbin
:/usr
/bin
:/bin
14 ACPI_SUSPEND_STATE
=hw.acpi.suspend_state
15 ACPI_SUPPORTED_STATES
=hw.acpi.supported_sleep_state
16 APM_SUSPEND_DELAY
=machdep.apm_suspend_delay
18 # Check for ACPI support
19 if sysctl
$ACPI_SUSPEND_STATE >/dev
/null
2>&1; then
20 # Get configured suspend state
21 SUSPEND_STATE
=`sysctl -n $ACPI_SUSPEND_STATE `
23 # Get list of supported suspend states
24 SUPPORTED_STATES
=`sysctl -n $ACPI_SUPPORTED_STATES `
26 # Check if the configured suspend state is supported by the system
27 if echo $SUPPORTED_STATES |
grep $SUSPEND_STATE >/dev
/null
; then
28 # execute ACPI style suspend command
29 exec acpiconf
-s $SUSPEND_STATE
31 echo -n "Requested suspend state $SUSPEND_STATE "
32 echo -n "is not supported. "
33 echo "Supported states: $SUPPORTED_STATES"
35 # Check for APM support
36 elif sysctl
$APM_SUSPEND_DELAY >/dev
/null
2>&1; then
37 # Execute APM style suspend command
40 echo "Error: no ACPI or APM suspend support found."