|
|
|
@ -11,6 +11,7 @@ N="
|
|
|
|
|
_C=0
|
|
|
|
|
NO_EXPORT=1
|
|
|
|
|
LOAD_STATE=1
|
|
|
|
|
LIST_SEP=" "
|
|
|
|
|
|
|
|
|
|
hotplug_dev() {
|
|
|
|
|
env -i ACTION=$1 INTERFACE=$2 /sbin/hotplug-call net
|
|
|
|
@ -56,6 +57,7 @@ config_load() {
|
|
|
|
|
reset_cb() {
|
|
|
|
|
config_cb() { return 0; }
|
|
|
|
|
option_cb() { return 0; }
|
|
|
|
|
list_cb() { return 0; }
|
|
|
|
|
}
|
|
|
|
|
reset_cb
|
|
|
|
|
|
|
|
|
@ -78,11 +80,24 @@ config () {
|
|
|
|
|
option () {
|
|
|
|
|
local varname="$1"; shift
|
|
|
|
|
local value="$*"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export ${NO_EXPORT:+-n} "CONFIG_${CONFIG_SECTION}_${varname}=$value"
|
|
|
|
|
[ -n "$NO_CALLBACK" ] || option_cb "$varname" "$*"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
list() {
|
|
|
|
|
local varname="$1"; shift
|
|
|
|
|
local value="$*"
|
|
|
|
|
local len
|
|
|
|
|
|
|
|
|
|
config_get len "$CONFIG_SECTION" "${varname}_LENGTH"
|
|
|
|
|
len="$((${len:-0} + 1))"
|
|
|
|
|
config_set "$CONFIG_SECTION" "${varname}_ITEM$len" "$value"
|
|
|
|
|
config_set "$CONFIG_SECTION" "${varname}_LENGTH" "$len"
|
|
|
|
|
append "CONFIG_${CONFIG_SECTION}_${varname}" "$value" "$LIST_SEP"
|
|
|
|
|
list_cb "$varname" "$*"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
config_rename() {
|
|
|
|
|
local OLD="$1"
|
|
|
|
|
local NEW="$2"
|
|
|
|
@ -162,6 +177,24 @@ config_foreach() {
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
config_list_foreach() {
|
|
|
|
|
[ "$#" -ge 3 ] || return 0
|
|
|
|
|
local section="$1"; shift
|
|
|
|
|
local option="$1"; shift
|
|
|
|
|
local function="$1"; shift
|
|
|
|
|
local val
|
|
|
|
|
local len
|
|
|
|
|
local c=1
|
|
|
|
|
|
|
|
|
|
config_get len "${section}" "${option}_LENGTH"
|
|
|
|
|
[ -z "$len" ] && return 0
|
|
|
|
|
while [ $c -le "$len" ]; do
|
|
|
|
|
config_get val "${section}" "${option}_ITEM$c"
|
|
|
|
|
eval "$function \"\$val\" \"$@\""
|
|
|
|
|
c="$(($c + 1))"
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
load_modules() {
|
|
|
|
|
[ -d /etc/modules.d ] && {
|
|
|
|
|
cd /etc/modules.d
|
|
|
|
|