<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmo-netif/+/26340">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, but someone else must approve
  daniel: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved; Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Introduce sctp.h to provide SCTP related functionalities<br><br>These value_strings are taken from existing private ones in<br>libosmo-sccp.git osmo_ss7.c, and are moved here in order to be<br>reused by other projects, such as osmo-hnodeb.<br><br>Change-Id: Ica6f01851fb94e31f4ef097494bb1b8a95597ba6<br>---<br>M TODO-RELEASE<br>M include/osmocom/netif/Makefile.am<br>A include/osmocom/netif/sctp.h<br>M src/Makefile.am<br>A src/sctp.c<br>5 files changed, 50 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/TODO-RELEASE b/TODO-RELEASE</span><br><span>index d0852fc..1c9a2a6 100644</span><br><span>--- a/TODO-RELEASE</span><br><span>+++ b/TODO-RELEASE</span><br><span>@@ -7,3 +7,4 @@</span><br><span> # If any interfaces have been added since the last public release: c:r:a + 1.</span><br><span> # If any interfaces have been removed or changed since the last public release: c:r:0.</span><br><span> #library    what            description / commit summary line</span><br><span style="color: hsl(120, 100%, 40%);">+sctp.h          new APIs</span><br><span>diff --git a/include/osmocom/netif/Makefile.am b/include/osmocom/netif/Makefile.am</span><br><span>index 39df08a..d9d030b 100644</span><br><span>--- a/include/osmocom/netif/Makefile.am</span><br><span>+++ b/include/osmocom/netif/Makefile.am</span><br><span>@@ -8,4 +8,8 @@</span><br><span>                   rtp.h               \</span><br><span>                stream.h</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+if ENABLE_LIBSCTP</span><br><span style="color: hsl(120, 100%, 40%);">+osmonetif_HEADERS += sctp.h</span><br><span style="color: hsl(120, 100%, 40%);">+endif</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> osmonetifdir = $(includedir)/osmocom/netif</span><br><span>diff --git a/include/osmocom/netif/sctp.h b/include/osmocom/netif/sctp.h</span><br><span>new file mode 100644</span><br><span>index 0000000..2b2e072</span><br><span>--- /dev/null</span><br><span>+++ b/include/osmocom/netif/sctp.h</span><br><span>@@ -0,0 +1,13 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#pragma once</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/core/utils.h></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+enum sctp_sac_state;</span><br><span style="color: hsl(120, 100%, 40%);">+extern const struct value_string osmo_sctp_assoc_chg_strs[];</span><br><span style="color: hsl(120, 100%, 40%);">+static inline const char *osmo_sctp_assoc_chg_str(enum sctp_sac_state val)</span><br><span style="color: hsl(120, 100%, 40%);">+{ return get_value_string(osmo_sctp_assoc_chg_strs, val); }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+enum sctp_sn_type;</span><br><span style="color: hsl(120, 100%, 40%);">+extern const struct value_string osmo_sctp_sn_type_strs[];</span><br><span style="color: hsl(120, 100%, 40%);">+static inline const char *osmo_sctp_sn_type_str(enum sctp_sn_type val)</span><br><span style="color: hsl(120, 100%, 40%);">+{ return get_value_string(osmo_sctp_sn_type_strs, val); }</span><br><span>diff --git a/src/Makefile.am b/src/Makefile.am</span><br><span>index 7e71c71..438b58e 100644</span><br><span>--- a/src/Makefile.am</span><br><span>+++ b/src/Makefile.am</span><br><span>@@ -20,3 +20,7 @@</span><br><span>                     rs232.c               \</span><br><span>                      rtp.c                 \</span><br><span>                      stream.c</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+if ENABLE_LIBSCTP</span><br><span style="color: hsl(120, 100%, 40%);">+libosmonetif_la_SOURCES += sctp.c</span><br><span style="color: hsl(120, 100%, 40%);">+endif</span><br><span>diff --git a/src/sctp.c b/src/sctp.c</span><br><span>new file mode 100644</span><br><span>index 0000000..c24e0f7</span><br><span>--- /dev/null</span><br><span>+++ b/src/sctp.c</span><br><span>@@ -0,0 +1,28 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#include <netinet/sctp.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/netif/sctp.h></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+const struct value_string osmo_sctp_assoc_chg_strs[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+    { SCTP_COMM_UP,         "COMM_UP" },</span><br><span style="color: hsl(120, 100%, 40%);">+        { SCTP_COMM_LOST,       "COMM_LOST" },</span><br><span style="color: hsl(120, 100%, 40%);">+      { SCTP_RESTART,         "RESTART" },</span><br><span style="color: hsl(120, 100%, 40%);">+        { SCTP_SHUTDOWN_COMP,   "SHUTDOWN_COMP" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { SCTP_CANT_STR_ASSOC,  "CANT_STR_ASSOC" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { 0, 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%);">+const struct value_string osmo_sctp_sn_type_strs[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+     { SCTP_ASSOC_CHANGE,            "ASSOC_CHANGE" },</span><br><span style="color: hsl(120, 100%, 40%);">+   { SCTP_PEER_ADDR_CHANGE,        "PEER_ADDR_CHANGE" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { SCTP_SHUTDOWN_EVENT,          "SHUTDOWN_EVENT" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { SCTP_SEND_FAILED,             "SEND_FAILED" },</span><br><span style="color: hsl(120, 100%, 40%);">+    { SCTP_REMOTE_ERROR,            "REMOTE_ERROR" },</span><br><span style="color: hsl(120, 100%, 40%);">+   { SCTP_PARTIAL_DELIVERY_EVENT,  "PARTIAL_DELIVERY_EVENT" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { SCTP_ADAPTATION_INDICATION,   "ADAPTATION_INDICATION" },</span><br><span style="color: hsl(120, 100%, 40%);">+#ifdef SCTP_AUTHENTICATION_INDICATION</span><br><span style="color: hsl(120, 100%, 40%);">+   { SCTP_AUTHENTICATION_INDICATION, "AUTHENTICATION_INDICATION" },</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span style="color: hsl(120, 100%, 40%);">+#ifdef SCTP_SENDER_DRY_EVENT</span><br><span style="color: hsl(120, 100%, 40%);">+      { SCTP_SENDER_DRY_EVENT,        "SENDER_DRY_EVENT" },</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span style="color: hsl(120, 100%, 40%);">+       { 0, NULL }</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmo-netif/+/26340">change 26340</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/libosmo-netif/+/26340"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmo-netif </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ica6f01851fb94e31f4ef097494bb1b8a95597ba6 </div>
<div style="display:none"> Gerrit-Change-Number: 26340 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>