From 61dc4b9ea9f6f76573d511d47488f8e43d7cc978 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 21 Jan 2022 05:45:09 +0900 Subject: [PATCH] network-util: introduce network_link_get_operational_state() --- src/libsystemd/sd-network/network-util.c | 20 ++++++++++++++++++++ src/libsystemd/sd-network/network-util.h | 1 + 2 files changed, 21 insertions(+) diff --git a/src/libsystemd/sd-network/network-util.c b/src/libsystemd/sd-network/network-util.c index 971247714ac..2059567ef89 100644 --- a/src/libsystemd/sd-network/network-util.c +++ b/src/libsystemd/sd-network/network-util.c @@ -135,3 +135,23 @@ int parse_operational_state_range(const char *str, LinkOperationalStateRange *ou return 0; } + +int network_link_get_operational_state(int ifindex, LinkOperationalState *ret) { + _cleanup_free_ char *str = NULL; + LinkOperationalState s; + int r; + + assert(ifindex > 0); + assert(ret); + + r = sd_network_link_get_operational_state(ifindex, &str); + if (r < 0) + return r; + + s = link_operstate_from_string(str); + if (s < 0) + return s; + + *ret = s; + return 0; +} diff --git a/src/libsystemd/sd-network/network-util.h b/src/libsystemd/sd-network/network-util.h index 6e2ad284263..c47e271a768 100644 --- a/src/libsystemd/sd-network/network-util.h +++ b/src/libsystemd/sd-network/network-util.h @@ -83,3 +83,4 @@ typedef struct LinkOperationalStateRange { LINK_OPERSTATE_ROUTABLE } int parse_operational_state_range(const char *str, LinkOperationalStateRange *out); +int network_link_get_operational_state(int ifindex, LinkOperationalState *ret); -- 2.47.3