From 0ec43dfe47c462fdf268635d30627d80c8b0b5de Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Fri, 11 Jan 2008 22:29:12 +0000 Subject: These are FreeBSD specific --- init.d.FreeBSD/mixer | 46 ++++++++++++++++++++++++++++++++++++++++++++++ init.d.FreeBSD/powerd | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 init.d.FreeBSD/mixer create mode 100644 init.d.FreeBSD/powerd (limited to 'init.d.FreeBSD') diff --git a/init.d.FreeBSD/mixer b/init.d.FreeBSD/mixer new file mode 100644 index 00000000..81341e9b --- /dev/null +++ b/init.d.FreeBSD/mixer @@ -0,0 +1,46 @@ +#!/sbin/runscript +# Copyright 2007-2008 Roy Marples +# All rights reserved. Released under the 2-clause BSD license. + +extra_commands="restore" + +depend() +{ + need localmount +} + +restore() +{ + local mixer= retval=0 + ebegin "Restoring mixer settings" + eindent + for mixer in /dev/mixer*; do + if [ -r "/var/db/${mixer#/dev/}-state" ]; then + vebegin "${mixer}" + mixer -f "${mixer}" \ + $(cat "/var/db/${mixer#/dev/}-state") >/dev/null + veend $? + : $((retval += $?)) + fi + done +} + +start() +{ + restore +} + +stop() +{ + local mixer= retval=0 + ebegin "Saving mixer settings" + eindent + for mixer in /dev/mixer*; do + vebegin "${mixer}" + mixer -f "${mixer}" -s >/var/db/"${mixer#/dev/}"-state + veend $? + : $((retval += $?)) + done + eoutdent + eend ${retval} +} diff --git a/init.d.FreeBSD/powerd b/init.d.FreeBSD/powerd new file mode 100644 index 00000000..3d3ae7f0 --- /dev/null +++ b/init.d.FreeBSD/powerd @@ -0,0 +1,34 @@ +#!/sbin/runscript +# Copyright 2007-2008 Roy Marples +# All rights reserved. Released under the 2-clause BSD license. + +command=/usr/sbin/powerd +command_args=${powerd_args} +pidfile=/var/run/powerd.pid +name="Power Control Daemon" + +depend() +{ + need localmount + use logger + after bootmisc +} + +start_pre() +{ + if [ -n "${powerd_battery_mode}" ]; then + command_args="${command_args} -b ${powerd_battery_mode}" + fi + if [ -n "${powerd_ac_mode}" ]; then + command_args="${command_args} -a ${powerd_ac_mode}" + fi +} + +stop_post() +{ + local level=$(sysctl -n dev.cpu.0.freq_levels | + sed -e 's:/.*::') + if [ -n "${level}" ]; then + sysctl dev.cpu.0.freq="${level}" >/dev/null + fi +} -- cgit v1.2.3