rtl_tcp.init (1220B)
1 #!/bin/sh /etc/rc.common 2 # Copyright (C) 2016 OpenWrt.org 3 4 START=90 5 STOP=10 6 USE_PROCD=1 7 8 append_arg() { 9 local cfg="$1" 10 local var="$2" 11 local opt="$3" 12 local def="$4" 13 local val 14 15 config_get val "$cfg" "$var" 16 [ -n "$val" -o -n "$def" ] && procd_append_param command $opt "${val:-$def}" 17 } 18 19 append_bool() { 20 local cfg="$1" 21 local var="$2" 22 local opt="$3" 23 local def="$4" 24 local val 25 26 config_get_bool val "$cfg" "$var" "$def" 27 [ "$val" = 1 ] && procd_append_param command "$opt" 28 } 29 30 31 start_instance() { 32 local cfg="$1" 33 local aux 34 35 config_get_bool aux "$cfg" 'disabled' '0' 36 [ "$aux" = 1 ] && return 1 37 38 procd_open_instance 39 40 procd_set_param command /usr/bin/rtl_tcp 41 append_arg "$cfg" device_index "-d" 42 append_arg "$cfg" address "-a" 43 append_arg "$cfg" port "-p" 44 append_arg "$cfg" frequency "-f" 45 append_arg "$cfg" gain "-g" 46 append_arg "$cfg" samplerate "-s" 47 append_arg "$cfg" buffers "-b" 48 append_arg "$cfg" num_linked_lists "-n" 49 append_arg "$cfg" ppm_error "-P" 50 51 config_get_bool aux "$cfg" 'respawn' '0' 52 [ "$aux" = 1 ] && procd_set_param respawn 53 54 procd_close_instance 55 } 56 57 service_triggers() { 58 procd_add_reload_trigger "rtl_tcp" 59 } 60 61 start_service() { 62 config_load rtl_tcp 63 config_foreach start_instance rtl_tcp 64 }