diff options
Diffstat (limited to 'openbsc/include/openbsc/msc_ifaces.h')
-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, |