You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

62 lines
1.6 KiB

#!/bin/sh /etc/rc.common
# Copyright (C) 2015 OpenWrt.org
START=50
STOP=20
SERVICE_DAEMONIZE=1
SERVICE_PID_FILE=/var/run/u2pnpd.pid
SERVICE_USE_PID=1
SERVICE_WRITE_PID=1
start_instance() {
local section="$1"
local enabled
local interface manufacturer manufacturerURL modelDescription
local modelName modelNumber modelURL serialNumber friendlyName
local uuid httpsURL
local i
config_get_bool enabled "$section" 'enabled' 1
[ "$enabled" -gt 0 ] || return 0
for i in interface httpsURL manufacturer manufacturerURL modelDescription \
modelName modelNumber modelURL serialNumber friendlyName uuid; do
config_get "$i" "$section" "$i"
done
[ -n "$interface" ] && SERVICE_PID_FILE="/var/run/u2pnpd.$interface.pid"
service_start /usr/bin/u2pnpd ${httpsURL:+-s} \
${interface:+--interface="$interface"} \
${manufacturer:+--manufacturer="$manufacturer"} \
${manufacturerURL:+--manufacturerURL="$manufacturerURL"} \
${modelDescription:+--modelDescription="$modelDescription"} \
${modelName:+--modelName="$modelName"} \
${modelNumber:+--modelNumber="$modelNumber"} \
${modelURL:+--modelURL="$modelURL"} \
${serialNumber:+--serialNumber="$serialNumber"} \
${friendlyName:+--friendlyName="$friendlyName"} \
${uuid:+--uuid="$uuid"}
}
stop_instance() {
local section="$1"
local interface
config_get interface "$section" 'interface'
[ -n "$interface" ] && SERVICE_PID_FILE="/var/run/u2pnpd.$interface.pid"
service_stop /usr/bin/u2pnpd
rm -f "$SERVICE_PID_FILE"
}
start() {
config_load 'u2pnpd'
config_foreach start_instance 'u2pnpd'
}
stop() {
config_load 'u2pnpd'
config_foreach stop_instance 'u2pnpd'
}