branch Attitude Adjustment packages
[12.09/packages.git] / net / p910nd / files / p910nd.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2007 OpenWrt.org
3 START=50
4
5 append_bool() {
6         local section="$1"
7         local option="$2"
8         local value="$3"
9         local _val
10         config_get_bool _val "$section" "$option" '0'
11         [ "$_val" -gt 0 ] && append args "$3"
12 }
13
14 append_string() {
15         local section="$1"
16         local option="$2"
17         local value="$3"
18         local _val
19         config_get _val "$section" "$option"
20         [ -n "$_val" ] && append args "$3$_val"
21 }
22
23 start_service() {
24         local section="$1"
25         args=""
26
27         append_bool "$section" bidirectional "-b"
28         append_string "$section" device "-f "
29         append_string "$section" port ""
30         config_get_bool "enabled" "$section" "enabled" '1'
31         [ "$enabled" -gt 0 ] && /usr/sbin/p910nd $args
32 }
33
34 stop_service() {
35         local section="$1"
36         config_get port "$section" port
37
38         PID_F=/var/run/p910${port}d.pid
39         [ -f $PID_F ] && kill $(cat $PID_F)
40 }
41
42 start() {
43         config_load "p910nd"
44         config_foreach start_service p910nd
45 }
46
47 stop() {
48         config_load "p910nd"
49         config_foreach stop_service p910nd
50 }