sd-network: add sd_network_link_get_required_operstate_for_online()
It reads $REQUIRED_OPER_STATE_FOR_ONLINE in serialized link data.
This commit is contained in:
parent
4ac77d63e9
commit
22eab27caa
|
@ -164,6 +164,27 @@ _public_ int sd_network_link_get_required_for_online(int ifindex) {
|
|||
return parse_boolean(s);
|
||||
}
|
||||
|
||||
_public_ int sd_network_link_get_required_operstate_for_online(int ifindex, char **state) {
|
||||
_cleanup_free_ char *s = NULL;
|
||||
int r;
|
||||
|
||||
assert_return(state, -EINVAL);
|
||||
|
||||
r = network_link_get_string(ifindex, "REQUIRED_OPER_STATE_FOR_ONLINE", &s);
|
||||
if (r < 0) {
|
||||
if (r != -ENODATA)
|
||||
return r;
|
||||
|
||||
/* For compatibility, assuming degraded. */
|
||||
s = strdup("degraded");
|
||||
if (!s)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
*state = TAKE_PTR(s);
|
||||
return 0;
|
||||
}
|
||||
|
||||
_public_ int sd_network_link_get_llmnr(int ifindex, char **llmnr) {
|
||||
return network_link_get_string(ifindex, "LLMNR", llmnr);
|
||||
}
|
||||
|
|
|
@ -89,6 +89,7 @@ int sd_network_link_get_setup_state(int ifindex, char **state);
|
|||
* -ENODATA: networkd is not aware of the link
|
||||
*/
|
||||
int sd_network_link_get_operational_state(int ifindex, char **state);
|
||||
int sd_network_link_get_required_operstate_for_online(int ifindex, char **state);
|
||||
|
||||
/* Indicates whether the network is relevant to being online.
|
||||
* Possible return codes:
|
||||
|
|
Loading…
Reference in New Issue