#!/bin/sh /etc/rc.common # Copyright (C) 2007 OpenWrt.org START=99 USE_PROCD=1 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() { config_load "p910nd" config_foreach start_p910nd p910nd } start_p910nd() { local section="$1" config_get_bool "enabled" "$section" "enabled" '1' if [ "$enabled" -gt 0 ]; then args="-d " config_get port "$section" port name=p910${port}d append_bool "$section" bidirectional "-b" append_string "$section" device "-f " append_string "$section" bind "-i " append_string "$section" port "" procd_open_instance $name procd_set_param command /usr/sbin/p910nd $args procd_set_param respawn config_get_bool "mdns" "$section" "mdns" '0' config_get mdns_note "$section" mdns_note config_get mdns_ty "$section" mdns_ty config_get mdns_product "$section" mdns_product config_get mdns_mfg "$section" mdns_mfg config_get mdns_mdl "$section" mdns_mdl config_get mdns_cmd "$section" mdns_cmd [ "$mdns" -gt 0 ] && procd_add_mdns "pdl-datastream" "tcp" "$((port+9100))" "note=$mdns_note" "ty=$mdns_ty" "product=$mdns_product" "usb_MFG=$mdns_mfg" "usb_MDL=$mdns_mdl" "usb_CMD=$mdns_cmd" procd_close_instance fi }