aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/osmocom/msc/gsm_data.h14
-rw-r--r--include/osmocom/msc/osmo_msc.h15
2 files changed, 16 insertions, 13 deletions
diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h
index df15eea02..29abd5d20 100644
--- a/include/osmocom/msc/gsm_data.h
+++ b/include/osmocom/msc/gsm_data.h
@@ -70,6 +70,19 @@ enum integrity_protection_state {
INTEGRITY_PROTECTION_IK_CK = 2,
};
+enum complete_layer3_type {
+ COMPLETE_LAYER3_NONE,
+ COMPLETE_LAYER3_LU,
+ COMPLETE_LAYER3_CM_SERVICE_REQ,
+ COMPLETE_LAYER3_PAGING_RESP,
+};
+
+extern const struct value_string complete_layer3_type_names[];
+static inline const char *complete_layer3_type_name(enum complete_layer3_type val)
+{
+ return get_value_string(complete_layer3_type_names, val);
+}
+
/* active radio connection of a mobile subscriber */
struct gsm_subscriber_connection {
/* global linked list of subscriber_connections */
@@ -77,6 +90,7 @@ struct gsm_subscriber_connection {
/* FSM instance to control the subscriber connection's permissions and lifetime. */
struct osmo_fsm_inst *fi;
+ enum complete_layer3_type complete_layer3_type;
/* usage count. If this drops to zero, we start the release
* towards A/Iu */
diff --git a/include/osmocom/msc/osmo_msc.h b/include/osmocom/msc/osmo_msc.h
index d838e89d4..fb525e000 100644
--- a/include/osmocom/msc/osmo_msc.h
+++ b/include/osmocom/msc/osmo_msc.h
@@ -36,24 +36,13 @@ enum subscr_conn_fsm_state {
SUBSCR_CONN_S_RELEASED,
};
-enum complete_layer3_type {
- SUBSCR_CONN_FROM_INVALID,
- SUBSCR_CONN_FROM_LU,
- SUBSCR_CONN_FROM_CM_SERVICE_REQ,
- SUBSCR_CONN_FROM_PAGING_RESP,
-};
-
-extern const struct value_string complete_layer3_type_names[];
-static inline const char *complete_layer3_type_name(enum complete_layer3_type val)
-{
- return get_value_string(complete_layer3_type_names, val);
-}
-
enum msc_compl_l3_rc {
MSC_CONN_ACCEPT = 0,
MSC_CONN_REJECT = 1,
};
+void msc_subscr_conn_update_id(struct gsm_subscriber_connection *conn,
+ enum complete_layer3_type from, const char *id);
char *msc_subscr_conn_get_conn_id(struct gsm_subscriber_connection *conn);
int msc_create_conn_fsm(struct gsm_subscriber_connection *conn, const char *id);