diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2020-10-11 21:01:48 +0200 |
---|---|---|
committer | Alexander Couzens <lynxis@fe80.eu> | 2020-10-12 15:54:21 +0200 |
commit | 979f5f5449909c1b779258e5c5ec66f5de02a3b2 (patch) | |
tree | fa8e10cfe5c1d21139b8ea793093d9e6a0007e58 /src/gb | |
parent | c4229a458c28af184260ee8e02aca4f124ec01b1 (diff) |
gprs_ns2: add gprs_ns2_ip_vc_local() return the local sockaddr
Change-Id: I65a739772596015b90473045d32d4934d924e43f
Diffstat (limited to 'src/gb')
-rw-r--r-- | src/gb/gprs_ns2_udp.c | 17 | ||||
-rw-r--r-- | src/gb/libosmogb.map | 1 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index e6891183..a3e9da6b 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -393,6 +393,23 @@ struct gprs_ns2_vc *gprs_ns2_ip_bind_connect(struct gprs_ns2_vc_bind *bind, return nsvc; } +/*! Return the socket address of the local peer of a NS-VC. + * \param[in] nsvc NS-VC whose local peer we want to know + * \return address of the local peer; NULL in case of error */ +const struct osmo_sockaddr *gprs_ns2_ip_vc_local(const struct gprs_ns2_vc *nsvc) +{ + struct priv_bind *priv; + + if (nsvc->ll != GPRS_NS_LL_UDP) + return NULL; + + if (nsvc->bind->driver != &vc_driver_ip) + return NULL; + + priv = nsvc->bind->priv; + return &priv->addr; +} + /*! Return the socket address of the remote peer of a NS-VC. * \param[in] nsvc NS-VC whose remote peer we want to know * \return address of the remote peer; NULL in case of error */ diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index ee8651e0..f542496d 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -93,6 +93,7 @@ gprs_ns2_ip_connect; gprs_ns2_ip_connect2; gprs_ns2_ip_connect_inactive; gprs_ns2_ip_connect_sns; +gprs_ns2_ip_vc_local; gprs_ns2_ip_vc_remote; gprs_ns2_is_frgre_bind; gprs_ns2_is_ip_bind; |