lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

owserver.init (1511B)


      1 #!/bin/sh /etc/rc.common
      2 # Copyright (C) 2009-2015 OpenWrt.org
      3 
      4 START=90
      5 USE_PROCD=1
      6 
      7 PROG=/usr/bin/owserver
      8 
      9 append_arg() {
     10 	local cfg="$1"
     11 	local var="$2"
     12 	local opt="$3"
     13 	local def="$4"
     14 	local val
     15 
     16 	config_get val "$cfg" "$var"
     17 	[ -n "$val" -o -n "$def" ] && procd_append_param command $opt "${val:-$def}"
     18 }
     19 
     20 append_bool() {
     21 	local cfg="$1"
     22 	local var="$2"
     23 	local opt="$3"
     24 	local def="$4"
     25 	local val
     26 
     27 	config_get_bool val "$cfg" "$var" "$def"
     28 	[ "$val" = 1 ] && procd_append_param command "$opt"
     29 }
     30 
     31 append_plain() {
     32 	procd_append_param command "$1"
     33 }
     34 
     35 append_param() {
     36 	local cfg="$1"
     37 	local var="$2"
     38 	local opt="$3"
     39 	local def="$4"
     40 	local val
     41 
     42 	config_get val "$cfg" "$var"
     43 	[ -n "$val" -o -n "$def" ] && procd_append_param "$opt" "${val:-$def}"
     44 }
     45 
     46 start_instance() {
     47 	local cfg="$1"
     48 	local enabled
     49 
     50 	config_get_bool enabled "$cfg" 'enabled' '0'
     51 	[ "$enabled" = 0 ] && return 1
     52 
     53 	procd_open_instance
     54 
     55 	procd_set_param command "$PROG" --foreground --error_print=1
     56 
     57 	# common parameters
     58 	append_bool "$cfg" readonly "--readonly"
     59 	append_arg "$cfg" error_level "--error_level"
     60 	config_list_foreach "$cfg" options append_plain
     61 	config_list_foreach "$cfg" devices append_plain
     62 	append_param "$cfg" user user
     63 
     64 	# owserver-specific
     65 	append_arg "$cfg" port "--port"
     66 	append_arg "$cfg" max_connections "--max_connections"
     67 
     68 	procd_set_param respawn
     69 
     70 	procd_close_instance
     71 
     72 }
     73 
     74 service_triggers() {
     75 	procd_add_reload_trigger owserver
     76 }
     77 
     78 start_service() {
     79 	config_load owserver
     80 	config_foreach start_instance owserver
     81 }