aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-02-12 12:19:06 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-03-03 16:19:10 +0100
commit243c7cb044c489b62d3cd4ad3631822d270989a8 (patch)
tree97c50464a2d73901e3032d023c21c00b77fc475d /openbsc/include
parentcf2591f6fce49cba72090f7adf2eda3da2465114 (diff)
msc: clarify msc_api and msc_ifaces scopes
Diffstat (limited to 'openbsc/include')
-rw-r--r--openbsc/include/openbsc/msc_ifaces.h29
1 files changed, 17 insertions, 12 deletions
diff --git a/openbsc/include/openbsc/msc_ifaces.h b/openbsc/include/openbsc/msc_ifaces.h
index ace6ea11d..dc2b9e1da 100644
--- a/openbsc/include/openbsc/msc_ifaces.h
+++ b/openbsc/include/openbsc/msc_ifaces.h
@@ -3,13 +3,19 @@
#include <osmocom/core/msgb.h>
#include <openbsc/gsm_data.h>
-/* This callback structure allows linking specific components without having to
- * include entire infrastructures of external libraries. For example, a unit
- * test does not need to link against external ASN1 libraries if it is never
- * going to encode actual outgoing messages. It is up to each building scope to
- * plug meaningful sending/receiving callback functions, or to have mere dummy
- * implementations. */
-struct msc_api {
+/* These are the interfaces of the MSC layer towards the BSC and RNC, i.e. in
+ * the direction towards the mobile device (MS aka UE).
+ *
+ * 2G will use the A-interface,
+ * 3G aka UMTS will use the Iu-interface (for the MSC, it's IuCS).
+ *
+ * Below callback structures allows linking parts of the MSC code without
+ * having to include entire infrastructures of external libraries. For example,
+ * a unit test does not need to link against external ASN1 libraries if it is
+ * never going to encode actual outgoing messages. It is up to each building
+ * scope to plug real world functions or to have mere dummy implementations. */
+
+extern struct {
struct {
/* libmsc calls this to send out messages to an A-interface */
@@ -19,12 +25,11 @@ struct msc_api {
struct {
/* libmsc calls this to send out messages to an Iu-interface */
int (*tx)(struct msgb *msg, uint8_t sapi);
- } iu;
-};
+ } iu_cs;
+
+} msc_ifaces;
+
-/* TODO does this belong to openbsc/gsm_04_08.h ?? */
-int msc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg,
- uint16_t chosen_channel);
/* Depending on conn->via_iface (A or IuCS), submit msg to the proper link api. */
extern int msc_submit_dtap(struct gsm_subscriber_connection *conn,