summaryrefslogtreecommitdiff
path: root/init.d.BSD
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2007-12-05 16:22:20 +0000
committerRoy Marples <roy@marples.name>2007-12-05 16:22:20 +0000
commit0f7cb3293a4b24ee00ac30803a834bd8534cae5b (patch)
tree0ff2611121fbe8fea1a5e1852f14dec9530ba74e /init.d.BSD
parent43174080279226ba243602aeedd0f5c8b966d2f8 (diff)
downloadopenrc-0f7cb3293a4b24ee00ac30803a834bd8534cae5b.tar.gz
openrc-0f7cb3293a4b24ee00ac30803a834bd8534cae5b.tar.bz2
openrc-0f7cb3293a4b24ee00ac30803a834bd8534cae5b.tar.xz
Add a mixer init script
Diffstat (limited to 'init.d.BSD')
-rw-r--r--init.d.BSD/mixer63
1 files changed, 63 insertions, 0 deletions
diff --git a/init.d.BSD/mixer b/init.d.BSD/mixer
new file mode 100644
index 0000000..4a14c9b
--- /dev/null
+++ b/init.d.BSD/mixer
@@ -0,0 +1,63 @@
+#!/sbin/runscript
+# Copyright 1999-2007 Gentoo Foundation
+# Copyright 2007 Roy Marples
+# All rights reserved
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+
+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}
+}