- #!/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 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!"
- }
-
|