aboutsummaryrefslogtreecommitdiffstats
path: root/src/sccp_sap.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2015-12-22 22:22:23 +0100
committerHarald Welte <laforge@gnumonks.org>2015-12-22 23:03:41 +0100
commitbf49cc1c0074055cecbf8346e41455d5c7bb0a71 (patch)
tree3f355e9af03d1a1c301a71af46e4bfc4e411babd /src/sccp_sap.c
parent46c2945af2f7d6741fdba7185241845f1d2c7421 (diff)
Import SUA (SCCP User Adaptation) and SCCP User SAP
... this code originates from the osmo-iuh repository, but is now part of a new shared libosmo-sigtran.so library generated in this repository.
Diffstat (limited to 'src/sccp_sap.c')
-rw-r--r--src/sccp_sap.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/sccp_sap.c b/src/sccp_sap.c
new file mode 100644
index 0000000..51598b0
--- /dev/null
+++ b/src/sccp_sap.c
@@ -0,0 +1,36 @@
+#include <string.h>
+#include <osmocom/core/utils.h>
+#include <osmocom/core/prim.h>
+
+#include <osmocom/sigtran/sccp_sap.h>
+
+const struct value_string osmo_scu_prim_names[] = {
+ { OSMO_SCU_PRIM_N_CONNECT, "N-CONNECT" },
+ { OSMO_SCU_PRIM_N_DATA, "N-DATA" },
+ { OSMO_SCU_PRIM_N_EXPEDITED_DATA, "N-EXPEDITED-DATA" },
+ { OSMO_SCU_PRIM_N_DISCONNECT, "N-DISCONNECT" },
+ { OSMO_SCU_PRIM_N_RESET, "N-RESET" },
+ { OSMO_SCU_PRIM_N_INFORM, "N-INFORM" },
+ { OSMO_SCU_PRIM_N_UNITDATA, "N-UNITDATA" },
+ { OSMO_SCU_PRIM_N_NOTICE, "N-NOTICE" },
+ /* management */
+ { OSMO_SCU_PRIM_N_COORD, "N-COORD" },
+ { OSMO_SCU_PRIM_N_STATE, "N-STATE" },
+ { OSMO_SCU_PRIM_N_PCSTATE, "N-PCSATE" },
+ { 0, NULL }
+};
+
+static char prim_name_buf[128];
+
+char *osmo_scu_prim_name(struct osmo_prim_hdr *oph)
+{
+ const char *name = get_value_string(osmo_scu_prim_names, oph->primitive);
+
+ prim_name_buf[0] = '\0';
+ strncpy(prim_name_buf, name, sizeof(prim_name_buf)-1);
+ prim_name_buf[sizeof(prim_name_buf)-1] = '\0';
+ name = get_value_string(osmo_prim_op_names, oph->operation);
+ strncat(prim_name_buf, name, sizeof(prim_name_buf)-strlen(prim_name_buf)-2);
+
+ return prim_name_buf;
+}