aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2019-08-29 19:26:12 +0200
committerpespin <pespin@sysmocom.de>2019-09-02 09:42:21 +0000
commit8333ef10c9e2a3806e04dd9512dbb141d6cb13cc (patch)
tree73999d59765769dfdc6ef1547ee30732de128eee /include
parent6dfb5fef4072c177fc58149d48cec74b7a501f47 (diff)
Move llc->MM/SM Gb specific glue code to its own file
Now that we have RANAP/Iu handling specificities in its own file, let's have also Gb specific glue code for messages coming from llc up to MM/SM layer in its own file. This way same entry points in gprs_gmm.c are used by Gb and Iu: gsm0408_rcv_gmm() (for MM) and gsm0408_rcv_gsm() (for SM). Change-Id: Iaf57922a0970c1d03f6f1d6337d27ae3d4aaf32c
Diffstat (limited to 'include')
-rw-r--r--include/osmocom/sgsn/Makefile.am1
-rw-r--r--include/osmocom/sgsn/gprs_gb.h9
-rw-r--r--include/osmocom/sgsn/gprs_gmm.h4
3 files changed, 14 insertions, 0 deletions
diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am
index b4cd5db0..b91c9f19 100644
--- a/include/osmocom/sgsn/Makefile.am
+++ b/include/osmocom/sgsn/Makefile.am
@@ -3,6 +3,7 @@ noinst_HEADERS = \
crc24.h \
debug.h \
gb_proxy.h \
+ gprs_gb.h \
gprs_gb_parse.h \
gprs_gmm.h \
gprs_gmm_attach.h \
diff --git a/include/osmocom/sgsn/gprs_gb.h b/include/osmocom/sgsn/gprs_gb.h
new file mode 100644
index 00000000..3bc36761
--- /dev/null
+++ b/include/osmocom/sgsn/gprs_gb.h
@@ -0,0 +1,9 @@
+#pragma once
+
+#include <stdbool.h>
+
+#include <osmocom/core/msgb.h>
+#include <osmocom/sgsn/gprs_rllc.h>
+
+int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme,
+ bool drop_cipherable);
diff --git a/include/osmocom/sgsn/gprs_gmm.h b/include/osmocom/sgsn/gprs_gmm.h
index 047bd774..93163515 100644
--- a/include/osmocom/sgsn/gprs_gmm.h
+++ b/include/osmocom/sgsn/gprs_gmm.h
@@ -50,4 +50,8 @@ void extract_subscr_hlr(struct sgsn_mm_ctx *ctx);
void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp);
void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state);
+void mmctx_state_timer_start(struct sgsn_mm_ctx *mm, unsigned int T);
+void mmctx_set_mm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state);
+
+void msgid2mmctx(struct sgsn_mm_ctx *mm, const struct msgb *msg);
#endif /* _GPRS_GMM_H */