diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-02-12 12:19:06 +0100 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-03-03 16:19:10 +0100 |
commit | 243c7cb044c489b62d3cd4ad3631822d270989a8 (patch) | |
tree | 97c50464a2d73901e3032d023c21c00b77fc475d /openbsc/include | |
parent | cf2591f6fce49cba72090f7adf2eda3da2465114 (diff) |
msc: clarify msc_api and msc_ifaces scopes
Diffstat (limited to 'openbsc/include')
-rw-r--r-- | openbsc/include/openbsc/msc_ifaces.h | 29 |
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, |