diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/osmocom/bsc/bsc_subscr_conn_fsm.h | 9 | ||||
-rw-r--r-- | include/osmocom/bsc/gsm_data.h | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/include/osmocom/bsc/bsc_subscr_conn_fsm.h b/include/osmocom/bsc/bsc_subscr_conn_fsm.h index 5475272b0..1a827d95c 100644 --- a/include/osmocom/bsc/bsc_subscr_conn_fsm.h +++ b/include/osmocom/bsc/bsc_subscr_conn_fsm.h @@ -1,4 +1,6 @@ #pragma once +#include <osmocom/gsm/protocol/gsm_08_08.h> +#include <osmocom/gsm/protocol/gsm_04_08.h> #include <osmocom/core/fsm.h> enum gscon_fsm_event { @@ -40,6 +42,11 @@ enum gscon_fsm_event { GSCON_EV_FORGET_MGW_ENDPOINT, }; +struct gscon_clear_cmd_data { + enum gsm0808_cause cause_0808; + bool is_csfb; +}; + struct gsm_subscriber_connection; struct gsm_network; struct msgb; @@ -71,7 +78,7 @@ void gscon_start_assignment(struct gsm_subscriber_connection *conn, struct assignment_request *req); void gscon_change_primary_lchan(struct gsm_subscriber_connection *conn, struct gsm_lchan *new_lchan); -void gscon_release_lchans(struct gsm_subscriber_connection *conn, bool do_rr_release); +void gscon_release_lchans(struct gsm_subscriber_connection *conn, bool do_rr_release, enum gsm48_rr_cause cause_rr); void gscon_lchan_releasing(struct gsm_subscriber_connection *conn, struct gsm_lchan *lchan); void gscon_forget_lchan(struct gsm_subscriber_connection *conn, struct gsm_lchan *lchan); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 5336ebef2..43d7040fc 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -571,6 +571,7 @@ struct gsm_lchan { * flag, so that the lchan will gracefully release at the next sensible junction. */ bool requested; bool do_rr_release; + enum gsm48_rr_cause rr_cause; /* There is an RSL error cause of value 0, so we need a separate flag. */ bool in_error; @@ -1896,4 +1897,6 @@ int bts_count_free_ts(struct gsm_bts *bts, enum gsm_phys_chan_config pchan); bool trx_has_valid_pchan_config(const struct gsm_bts_trx *trx); +enum gsm48_rr_cause bsc_gsm48_rr_cause_from_gsm0808_cause(enum gsm0808_cause c); + #endif /* _GSM_DATA_H */ |