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

68 lines
1.1 KiB
Bash
Executable File

#!/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
local _network_option
config_load dawn
load_tcp_config() {
config_get _tcp_buffer "$1" tcp_port
config_get _network_option "$1" network_option
}
config_foreach load_tcp_config network
touch /tmp/dawn_mac_list
echo "Starting Service..."
procd_open_instance
procd_set_param command $PROG
procd_set_param respawn 3600 15 0
procd_set_param stdout 0 # here it is possible to remove the debug output...
procd_set_param stderr 1
if [ ${_network_option} -eq 2 ]; then
procd_add_mdns "dawn" "tcp" "${_tcp_buffer}"
echo "UMDNS with port ${_tcp_buffer}"
fi
procd_close_instance
echo "Dawn instance started!"
}