#!/bin/sh /etc/rc.common # Copyright (C) 2007 OpenWrt.org START=50 append_bool() { local section="$1" local option="$2" local value="$3" local _val config_get_bool _val "$section" "$option" '0' [ "$_val" -gt 0 ] && append args "$3" } append_string() { local section="$1" local option="$2" local value="$3" local _val config_get _val "$section" "$option" [ -n "$_val" ] && append args "$3$_val" } start_service() { local section="$1" args="" append_bool "$section" bidirectional "-b" append_string "$section" device "-f " append_string "$section" bind "-i " append_string "$section" port "" config_get_bool "enabled" "$section" "enabled" '1' [ "$enabled" -gt 0 ] && /usr/sbin/p910nd $args } stop_service() { local section="$1" config_get port "$section" port PID_F=/var/run/p910${port}d.pid [ -f $PID_F ] && kill $(cat $PID_F) } start() { config_load "p910nd" config_foreach start_service p910nd } stop() { config_load "p910nd" config_foreach stop_service p910nd }