From c782cec663fe3dae79331f4f29968c8c100348a7 Mon Sep 17 00:00:00 2001 From: Alexander Couzens Date: Thu, 10 Dec 2020 04:10:25 +0100 Subject: [PATCH] gprs_ns2: add gprs_ns2_fr_bind_role() to retrieve the fr role Change-Id: I277b805e588ba68536789b4a64a428ea0b31728a --- include/osmocom/gprs/gprs_ns2.h | 1 + src/gb/gprs_ns2_fr.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h index ef9a56a95..0b3ea1fdf 100644 --- a/include/osmocom/gprs/gprs_ns2.h +++ b/include/osmocom/gprs/gprs_ns2.h @@ -182,6 +182,7 @@ struct gprs_ns2_vc_bind *gprs_ns2_fr_bind_by_netif( struct gprs_ns2_inst *nsi, const char *netif); const char *gprs_ns2_fr_bind_netif(struct gprs_ns2_vc_bind *bind); +enum osmo_fr_role gprs_ns2_fr_bind_role(struct gprs_ns2_vc_bind *bind); int gprs_ns2_fr_bind(struct gprs_ns2_inst *nsi, const char *name, const char *netif, diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index 925d5edf0..8147f66a8 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -558,6 +558,21 @@ err_bind: return rc; } +/*! Return the frame relay role of a bind + * \param[in] bind The bind + * \return the frame relay role or -EINVAL if bind is not frame relay + */ +enum osmo_fr_role gprs_ns2_fr_bind_role(struct gprs_ns2_vc_bind *bind) +{ + struct priv_bind *priv; + + if (bind->driver != &vc_driver_fr) + return -EINVAL; + + priv = bind->priv; + return priv->link->role; +} + /*! Return the network interface of the bind * \param[in] bind The bind * \return the network interface