get_options -> service_get_value and save_options -> service_set_value
This commit is contained in:
parent
bc9cc3dfb5
commit
ed620aec61
@ -53,7 +53,7 @@ start() {
|
|||||||
"$svc" start && started="${started} ${svc}"
|
"$svc" start && started="${started} ${svc}"
|
||||||
: $((retval += $?))
|
: $((retval += $?))
|
||||||
done
|
done
|
||||||
save_options started "${started}"
|
service_set_value started "${started}"
|
||||||
eend $retval "Some local rc services failed to start"
|
eend $retval "Some local rc services failed to start"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -61,7 +61,7 @@ start() {
|
|||||||
stop() {
|
stop() {
|
||||||
ebegin "Stopping local rc services"
|
ebegin "Stopping local rc services"
|
||||||
local svc= retval=0
|
local svc= retval=0
|
||||||
for svc in $(rcorder $(get_options started) 2>/dev/null | sort -r); do
|
for svc in $(rcorder $(service_get_value started) 2>/dev/null | sort -r); do
|
||||||
"${svc}" stop
|
"${svc}" stop
|
||||||
: $((retval += $?))
|
: $((retval += $?))
|
||||||
done
|
done
|
||||||
|
@ -555,7 +555,7 @@ iwconfig_pre_start() {
|
|||||||
# the background
|
# the background
|
||||||
yesno ${IN_BACKGROUND} && return 0
|
yesno ${IN_BACKGROUND} && return 0
|
||||||
|
|
||||||
save_options "SSID" ""
|
service_set_value "SSID" ""
|
||||||
_exists || return 0
|
_exists || return 0
|
||||||
|
|
||||||
if ! _is_wireless ; then
|
if ! _is_wireless ; then
|
||||||
@ -572,7 +572,7 @@ iwconfig_pre_start() {
|
|||||||
einfo "Configuring wireless network for ${IFACE}"
|
einfo "Configuring wireless network for ${IFACE}"
|
||||||
|
|
||||||
if iwconfig_configure ; then
|
if iwconfig_configure ; then
|
||||||
save_options "SSID" "${SSID}"
|
service_set_value "SSID" "${SSID}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ ccwgroup_pre_start() {
|
|||||||
|
|
||||||
ccwgroup_pre_stop() {
|
ccwgroup_pre_stop() {
|
||||||
# Erase any existing ccwgroup to be safe
|
# Erase any existing ccwgroup to be safe
|
||||||
save_options ccwgroup_device ""
|
service_set_value ccwgroup_device ""
|
||||||
|
|
||||||
[ ! -L /sys/class/net/"${FACE}"/driver ] && return 0
|
[ ! -L /sys/class/net/"${FACE}"/driver ] && return 0
|
||||||
local driver="$(readlink /sys/class/net/"${IFACE}"/driver)"
|
local driver="$(readlink /sys/class/net/"${IFACE}"/driver)"
|
||||||
@ -70,11 +70,11 @@ ccwgroup_pre_stop() {
|
|||||||
|
|
||||||
local device="$(readlink /sys/class/net/"${IFACE}"/device)"
|
local device="$(readlink /sys/class/net/"${IFACE}"/device)"
|
||||||
device=${device##*/}
|
device=${device##*/}
|
||||||
save_options ccwgroup_device "${device}"
|
service_set_value ccwgroup_device "${device}"
|
||||||
}
|
}
|
||||||
|
|
||||||
ccwgroup_post_stop() {
|
ccwgroup_post_stop() {
|
||||||
local device="$(get_options ccwgroup_device)"
|
local device="$(service_get_value ccwgroup_device)"
|
||||||
[ -z "${device}" ] && return 0
|
[ -z "${device}" ] && return 0
|
||||||
|
|
||||||
einfo "Disabling ccwgroup on ${iface}"
|
einfo "Disabling ccwgroup on ${iface}"
|
||||||
|
@ -686,7 +686,7 @@ iwconfig_pre_start() {
|
|||||||
# the background
|
# the background
|
||||||
yesno ${IN_BACKGROUND} && return 0
|
yesno ${IN_BACKGROUND} && return 0
|
||||||
|
|
||||||
save_options "SSID" ""
|
service_set_value "SSID" ""
|
||||||
_exists || return 0
|
_exists || return 0
|
||||||
|
|
||||||
if ! _is_wireless; then
|
if ! _is_wireless; then
|
||||||
@ -736,7 +736,7 @@ iwconfig_pre_start() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if iwconfig_configure; then
|
if iwconfig_configure; then
|
||||||
save_options "SSID" "${SSID}"
|
service_set_value "SSID" "${SSID}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ tuntap_depend() {
|
|||||||
_config_vars="$_config_vars tunctl"
|
_config_vars="$_config_vars tunctl"
|
||||||
|
|
||||||
_is_tuntap() {
|
_is_tuntap() {
|
||||||
[ -n "$(get_options tuntap "${SVCNAME}")" ]
|
[ -n "$(export SVCNAME="net.${IFACE}"; service_get_value tuntap)" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
tuntap_pre_start() {
|
tuntap_pre_start() {
|
||||||
@ -58,7 +58,7 @@ tuntap_pre_start() {
|
|||||||
else
|
else
|
||||||
openvpn --mktun --dev-type "${tuntap}" --dev "${IFACE}" >/dev/null
|
openvpn --mktun --dev-type "${tuntap}" --dev "${IFACE}" >/dev/null
|
||||||
fi
|
fi
|
||||||
eend $? && _up && save_options tuntap "${tuntap}"
|
eend $? && _up && service_set_value tuntap "${tuntap}"
|
||||||
}
|
}
|
||||||
|
|
||||||
tuntap_post_stop() {
|
tuntap_post_stop() {
|
||||||
@ -69,7 +69,7 @@ tuntap_post_stop() {
|
|||||||
tunctl -d "${IFACE}" >/dev/null
|
tunctl -d "${IFACE}" >/dev/null
|
||||||
else
|
else
|
||||||
openvpn --rmtun \
|
openvpn --rmtun \
|
||||||
--dev-type "$(get_options tuntap)" \
|
--dev-type "$(service_get_value tuntap)" \
|
||||||
--dev "${IFACE}" >/dev/null
|
--dev "${IFACE}" >/dev/null
|
||||||
fi
|
fi
|
||||||
eend $?
|
eend $?
|
||||||
|
@ -83,13 +83,13 @@ wpa_supplicant_pre_start() {
|
|||||||
if ${wireless} && service_started_daemon "${SVCNAME}" "${wpas}"; then
|
if ${wireless} && service_started_daemon "${SVCNAME}" "${wpas}"; then
|
||||||
SSID=$(_get_ssid "${IFACE}")
|
SSID=$(_get_ssid "${IFACE}")
|
||||||
SSIDVAR=$(_shell_var "${SSID}")
|
SSIDVAR=$(_shell_var "${SSID}")
|
||||||
save_options "SSID" "${SSID}"
|
service_set_value "SSID" "${SSID}"
|
||||||
metric=2000
|
metric=2000
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
save_options "SSID" ""
|
service_set_value "SSID" ""
|
||||||
ebegin "Starting wpa_supplicant on ${IFVAR}"
|
ebegin "Starting wpa_supplicant on ${IFVAR}"
|
||||||
|
|
||||||
if [ -x /sbin/iwconfig ]; then
|
if [ -x /sbin/iwconfig ]; then
|
||||||
@ -134,7 +134,7 @@ wpa_supplicant_pre_start() {
|
|||||||
opts="${opts} -C ${ctrl_dir}"
|
opts="${opts} -C ${ctrl_dir}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
save_options ctrl_dir "${ctrl_dir}"
|
service_set_value ctrl_dir "${ctrl_dir}"
|
||||||
|
|
||||||
actfile="/etc/wpa_supplicant/wpa_cli.sh"
|
actfile="/etc/wpa_supplicant/wpa_cli.sh"
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ RC_BINLINKS = einfon einfo ewarnn ewarn eerrorn eerror ebegin eend ewend \
|
|||||||
service_inactive service_wasinactive \
|
service_inactive service_wasinactive \
|
||||||
service_coldplugged \
|
service_coldplugged \
|
||||||
checkown fstabinfo mountinfo rc-depend \
|
checkown fstabinfo mountinfo rc-depend \
|
||||||
get_options save_options
|
service_get_value service_set_value get_options save_options
|
||||||
RC_SBINLINKS = mark_service_starting mark_service_started \
|
RC_SBINLINKS = mark_service_starting mark_service_started \
|
||||||
mark_service_stopping mark_service_stopped \
|
mark_service_stopping mark_service_stopped \
|
||||||
mark_service_inactive mark_service_wasinactive \
|
mark_service_inactive mark_service_wasinactive \
|
||||||
|
19
src/rc.c
19
src/rc.c
@ -391,7 +391,7 @@ static int do_mark_service (int argc, char **argv)
|
|||||||
return (ok ? EXIT_SUCCESS : EXIT_FAILURE);
|
return (ok ? EXIT_SUCCESS : EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int do_options (int argc, char **argv)
|
static int do_value (int argc, char **argv)
|
||||||
{
|
{
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
char *service = getenv ("SVCNAME");
|
char *service = getenv ("SVCNAME");
|
||||||
@ -402,14 +402,17 @@ static int do_options (int argc, char **argv)
|
|||||||
if (argc < 1 || ! argv[0] || strlen (argv[0]) == 0)
|
if (argc < 1 || ! argv[0] || strlen (argv[0]) == 0)
|
||||||
eerrorx ("%s: no option specified", applet);
|
eerrorx ("%s: no option specified", applet);
|
||||||
|
|
||||||
if (strcmp (applet, "get_options") == 0) {
|
if (strcmp (applet, "service_get_value") == 0 ||
|
||||||
|
strcmp (applet, "get_options") == 0)
|
||||||
|
{
|
||||||
char *option = rc_service_value_get (service, argv[0]);
|
char *option = rc_service_value_get (service, argv[0]);
|
||||||
if (option) {
|
if (option) {
|
||||||
printf ("%s", option);
|
printf ("%s", option);
|
||||||
free (option);
|
free (option);
|
||||||
ok = true;
|
ok = true;
|
||||||
}
|
}
|
||||||
} else if (strcmp (applet, "save_options") == 0)
|
} else if (strcmp (applet, "service_set_value") == 0 ||
|
||||||
|
strcmp (applet, "save_options") == 0)
|
||||||
ok = rc_service_value_set (service, argv[0], argv[1]);
|
ok = rc_service_value_set (service, argv[0], argv[1]);
|
||||||
else
|
else
|
||||||
eerrorx ("%s: unknown applet", applet);
|
eerrorx ("%s: unknown applet", applet);
|
||||||
@ -846,13 +849,15 @@ int main (int argc, char **argv)
|
|||||||
if (applet[0] == 'e' || (applet[0] == 'v' && applet[1] == 'e'))
|
if (applet[0] == 'e' || (applet[0] == 'v' && applet[1] == 'e'))
|
||||||
exit (do_e (argc, argv));
|
exit (do_e (argc, argv));
|
||||||
|
|
||||||
|
if (strcmp (applet, "get_value") == 0 ||
|
||||||
|
strcmp (applet, "set_value") == 0 ||
|
||||||
|
strcmp (applet, "get_options") == 0 ||
|
||||||
|
strcmp (applet, "save_options") == 0)
|
||||||
|
exit (do_value (argc, argv));
|
||||||
|
|
||||||
if (strncmp (applet, "service_", strlen ("service_")) == 0)
|
if (strncmp (applet, "service_", strlen ("service_")) == 0)
|
||||||
exit (do_service (argc, argv));
|
exit (do_service (argc, argv));
|
||||||
|
|
||||||
if (strcmp (applet, "get_options") == 0 ||
|
|
||||||
strcmp (applet, "save_options") == 0)
|
|
||||||
exit (do_options (argc, argv));
|
|
||||||
|
|
||||||
if (strncmp (applet, "mark_service_", strlen ("mark_service_")) == 0)
|
if (strncmp (applet, "mark_service_", strlen ("mark_service_")) == 0)
|
||||||
exit (do_mark_service (argc, argv));
|
exit (do_mark_service (argc, argv));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user