openwrt-packages/net/dawn/files/dawn.init

60 lines
969 B
Plaintext
Raw Normal View History

#!/bin/sh /etc/rc.common
USE_PROCD=1
START=81
STOP=81
PROG=/usr/sbin/dawn
NAME=dawn
wait_for_network()
{
ubus -t 15 wait_for network.interface.$1 2>/dev/null
}
boot()
{
ubus -t 5 wait_for umdns 2>/dev/null
config_load network
config_foreach wait_for_network interface
rc_procd start_service
}
reload_service()
{
if service_running; then
ubus call dawn reload_config
else
start
fi
}
service_triggers()
{
procd_add_reload_trigger "dawn"
}
start_service()
{
local _tcp_buffer
config_load dawn
load_tcp_port() {
config_get _tcp_buffer "$1" tcp_port
}
config_foreach load_tcp_port network
touch /tmp/dawn_mac_list
echo "Starting Service..."
procd_open_instance
procd_set_param command $PROG
procd_set_param stdout 0 # here it is possible to remove the debug output...
procd_set_param stderr 1
procd_add_mdns "dawn" "tcp" "${_tcp_buffer}"
procd_close_instance
echo "Dawn instance started!"
echo "UMDNS with port ${_tcp_buffer}"
}