]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - usr.sbin/zzz/zzz.sh
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / usr.sbin / zzz / zzz.sh
1 #!/bin/sh
2 #
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.
7 #
8 # Mark Santcroos <marks@ripe.net>
9 #
10 # $FreeBSD$
11
12 PATH=/sbin:/usr/sbin:/usr/bin:/bin
13
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
17
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 `
22
23         # Get list of supported suspend states
24         SUPPORTED_STATES=`sysctl -n $ACPI_SUPPORTED_STATES `
25
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
30         else
31                 echo -n "Requested suspend state $SUSPEND_STATE "
32                 echo -n "is not supported.  "
33                 echo    "Supported states: $SUPPORTED_STATES"
34         fi
35 # Check for APM support
36 elif sysctl $APM_SUSPEND_DELAY >/dev/null 2>&1; then
37         # Execute APM style suspend command
38         exec apm -z
39 else
40         echo "Error: no ACPI or APM suspend support found."
41 fi
42
43 exit 1