#!/bin/sh
#
# Returns 0 (true) if on AC power
#         1 (false) if not on AC power
#         255 (false) if can't tell
#
# Example shell script:
#     if on_ac_power; then
#       echo We're on AC power
#     else
#       echo Can't say we're on AC power
#     fi

set -e

# ACPI
acpi_available && [ -r /proc/acpi/ac_adapter/0/status ] && {
	grep on-line /proc/acpi/ac_adapter/0/status >/dev/null 2>&1 && exit 0
	grep off-line /proc/acpi/ac_adapter/0/status >/dev/null 2>&1 && exit 1
}

# APM
apm_available && [ -r /proc/apm ] && {
	exec awk </proc/apm '
		BEGIN { ret = 255 }
		/^[0-9.]* [0-9.]* 0x.. 0x../ {
			if ($4 == "0x01") { ret = 0; exit }
			else if ($4 == "0x00") { ret = 1; exit }
                }
                END { exit ret }
	'
}

# neither is available
exit 255
