<p>lynxis lazus has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/21486">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gprs_ns2: rework gprs_ns2_fr_connect*()<br><br>Add gprs_ns2_fr_connect2() and change gprs_ns2_fr_connect() to be similar to<br>gprs_ns2_ip_connect() and gprs_ns2_connect2().<br><br>This is an API break but there wasn't yet a release with NS2.<br><br>Change-Id: I4e1374b0e979b3293302c5ed46a91a58f3a5a916<br>---<br>M include/osmocom/gprs/gprs_ns2.h<br>M src/gb/gprs_ns2_fr.c<br>2 files changed, 43 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/86/21486/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h</span><br><span>index 598f197..942cb87 100644</span><br><span>--- a/include/osmocom/gprs/gprs_ns2.h</span><br><span>+++ b/include/osmocom/gprs/gprs_ns2.h</span><br><span>@@ -183,6 +183,10 @@</span><br><span> int gprs_ns2_is_fr_bind(struct gprs_ns2_vc_bind *bind);</span><br><span> struct gprs_ns2_vc *gprs_ns2_fr_nsvc_by_dlci(struct gprs_ns2_vc_bind *bind, uint16_t dlci);</span><br><span> struct gprs_ns2_vc *gprs_ns2_fr_connect(struct gprs_ns2_vc_bind *bind,</span><br><span style="color: hsl(120, 100%, 40%);">+                                     struct gprs_ns2_nse *nse,</span><br><span style="color: hsl(120, 100%, 40%);">+                                     uint16_t nsvci,</span><br><span style="color: hsl(120, 100%, 40%);">+                                       uint16_t dlci);</span><br><span style="color: hsl(120, 100%, 40%);">+struct gprs_ns2_vc *gprs_ns2_fr_connect2(struct gprs_ns2_vc_bind *bind,</span><br><span>                                     uint16_t nsei,</span><br><span>                                       uint16_t nsvci,</span><br><span>                                      uint16_t dlci);</span><br><span>diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c</span><br><span>index 9327d54..3c84356 100644</span><br><span>--- a/src/gb/gprs_ns2_fr.c</span><br><span>+++ b/src/gb/gprs_ns2_fr.c</span><br><span>@@ -586,6 +586,45 @@</span><br><span>  *  \param[in] dlci Data Link connection identifier</span><br><span>  *  \return pointer to newly-allocated, connected and activated NS-VC; NULL on error */</span><br><span> struct gprs_ns2_vc *gprs_ns2_fr_connect(struct gprs_ns2_vc_bind *bind,</span><br><span style="color: hsl(120, 100%, 40%);">+                                       struct gprs_ns2_nse *nse,</span><br><span style="color: hsl(120, 100%, 40%);">+                                     uint16_t nsvci,</span><br><span style="color: hsl(120, 100%, 40%);">+                                       uint16_t dlci)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     struct gprs_ns2_vc *nsvc = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+      struct priv_vc *priv = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        nsvc = gprs_ns2_fr_nsvc_by_dlci(bind, dlci);</span><br><span style="color: hsl(120, 100%, 40%);">+  if (nsvc) {</span><br><span style="color: hsl(120, 100%, 40%);">+           goto err;</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   nsvc = ns2_vc_alloc(bind, nse, true, NS2_VC_MODE_BLOCKRESET);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!nsvc)</span><br><span style="color: hsl(120, 100%, 40%);">+            goto err;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   nsvc->priv = priv = fr_alloc_vc(bind, nsvc, dlci);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!priv)</span><br><span style="color: hsl(120, 100%, 40%);">+            goto err;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   nsvc->nsvci = nsvci;</span><br><span style="color: hsl(120, 100%, 40%);">+       nsvc->nsvci_is_valid = true;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     gprs_ns2_vc_fsm_start(nsvc);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        return nsvc;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+err:</span><br><span style="color: hsl(120, 100%, 40%);">+  gprs_ns2_free_nsvc(nsvc);</span><br><span style="color: hsl(120, 100%, 40%);">+     return NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/*! Create, connect and activate a new FR-based NS-VC</span><br><span style="color: hsl(120, 100%, 40%);">+ *  \param[in] bind bind in which the new NS-VC is to be created</span><br><span style="color: hsl(120, 100%, 40%);">+ *  \param[in] nsei NSEI of the NS Entity in which the NS-VC is to be created</span><br><span style="color: hsl(120, 100%, 40%);">+ *  \param[in] dlci Data Link connection identifier</span><br><span style="color: hsl(120, 100%, 40%);">+ *  \return pointer to newly-allocated, connected and activated NS-VC; NULL on error */</span><br><span style="color: hsl(120, 100%, 40%);">+struct gprs_ns2_vc *gprs_ns2_fr_connect2(struct gprs_ns2_vc_bind *bind,</span><br><span>                                   uint16_t nsei,</span><br><span>                                       uint16_t nsvci,</span><br><span>                                      uint16_t dlci)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/21486">change 21486</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/libosmocore/+/21486"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I4e1374b0e979b3293302c5ed46a91a58f3a5a916 </div>
<div style="display:none"> Gerrit-Change-Number: 21486 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>