blob: 4204787ba6062cc1c986019792d5cf6c8fe75621 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#!/bin/sh /etc/rc.common
2# Copyright (C) 2016 OpenWrt.org
3
4START=90
5STOP=10
6USE_PROCD=1
7
8append_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
19append_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
31start_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
57service_triggers() {
58 procd_add_reload_trigger "rtl_tcp"
59}
60
61start_service() {
62 config_load rtl_tcp
63 config_foreach start_instance rtl_tcp
64}