summaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-01-13 09:55:43 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-01-13 09:55:43 +0100
commitb62c9a19cfca6a8230e33eea2140720ee4518686 (patch)
tree65acce97dc6d88e956974c07721eb05252f8d473 /openbsc
parentff5957568f9864121f7ffac808966388db1f1978 (diff)
[sccp] Add a utility for the nat..
Add a small helper to determine the type of a message
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/include/sccp/sccp.h6
-rw-r--r--openbsc/src/sccp/sccp.c8
2 files changed, 14 insertions, 0 deletions
diff --git a/openbsc/include/sccp/sccp.h b/openbsc/include/sccp/sccp.h
index 3ad568c0b..69ef63c25 100644
--- a/openbsc/include/sccp/sccp.h
+++ b/openbsc/include/sccp/sccp.h
@@ -143,4 +143,10 @@ extern const struct sockaddr_sccp sccp_ssn_bssap;
u_int32_t sccp_src_ref_to_int(struct sccp_source_reference *ref);
struct sccp_source_reference sccp_src_ref_from_int(u_int32_t);
+
+/*
+ * helper functions for the nat code
+ */
+int sccp_determine_msg_type(struct msgb *msg);
+
#endif
diff --git a/openbsc/src/sccp/sccp.c b/openbsc/src/sccp/sccp.c
index 522afcf7a..7e55231e5 100644
--- a/openbsc/src/sccp/sccp.c
+++ b/openbsc/src/sccp/sccp.c
@@ -1160,6 +1160,14 @@ struct sccp_source_reference sccp_src_ref_from_int(u_int32_t int_ref)
return ref;
}
+int sccp_determine_msg_type(struct msgb *msg)
+{
+ if (msgb_l2len(msg) < 1)
+ return -1;
+
+ return msg->l2h[0];
+}
+
static __attribute__((constructor)) void on_dso_load(void)
{
tall_sccp_ctx = talloc_named_const(NULL, 1, "sccp");