From: Susant Sahani Date: Tue, 24 Mar 2020 11:23:08 +0000 (+0100) Subject: shared: Introduce bridge util X-Git-Tag: v246-rc1~708^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=af94bb24b59a2abc8d9f3ba6b5ba168372c9237c;p=thirdparty%2Fsystemd.git shared: Introduce bridge util --- diff --git a/src/shared/bridge-util.c b/src/shared/bridge-util.c new file mode 100644 index 00000000000..239ac9a1a5a --- /dev/null +++ b/src/shared/bridge-util.c @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: LGPL-2.1+ */ + +#include "bridge-util.h" +#include "string-table.h" + +static const char* const bridge_state_table[_NETDEV_BRIDGE_STATE_MAX] = { + [NETDEV_BRIDGE_STATE_DISABLED] = "disabled", + [NETDEV_BRIDGE_STATE_LISTENING] = "listening", + [NETDEV_BRIDGE_STATE_LEARNING] = "learning", + [NETDEV_BRIDGE_STATE_FORWARDING] = "forwading", +}; + +DEFINE_STRING_TABLE_LOOKUP(bridge_state, BridgeState); diff --git a/src/shared/bridge-util.h b/src/shared/bridge-util.h new file mode 100644 index 00000000000..5b1c3e9ea92 --- /dev/null +++ b/src/shared/bridge-util.h @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: LGPL-2.1+ */ +#pragma once + +#include +#include + +#include "conf-parser.h" + +typedef enum BridgeState { + NETDEV_BRIDGE_STATE_DISABLED = BR_STATE_DISABLED, + NETDEV_BRIDGE_STATE_LISTENING = BR_STATE_LISTENING, + NETDEV_BRIDGE_STATE_LEARNING = BR_STATE_LEARNING, + NETDEV_BRIDGE_STATE_FORWARDING = BR_STATE_FORWARDING, + NETDEV_BRIDGE_STATE_BLOCKING = BR_STATE_BLOCKING, + _NETDEV_BRIDGE_STATE_MAX, + _NETDEV_BRIDGE_STATE_INVALID = -1, +} BridgeState; + +const char *bridge_state_to_string(BridgeState d) _const_; +BridgeState bridge_state_from_string(const char *d) _pure_; diff --git a/src/shared/meson.build b/src/shared/meson.build index 94174347a15..2bbd3dd217c 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -21,6 +21,8 @@ shared_sources = files(''' bootspec.h bpf-program.c bpf-program.h + bridge-util.c + bridge-util.h bus-unit-procs.c bus-unit-procs.h bus-unit-util.c