diff options
Diffstat (limited to 'include/osmocom')
-rw-r--r-- | include/osmocom/bsc/gsm_data.h | 19 | ||||
-rw-r--r-- | include/osmocom/bsc/lchan_fsm.h | 13 |
2 files changed, 14 insertions, 18 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index cf34c6f16..20901420e 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -503,6 +503,19 @@ extern const struct value_string lchan_activate_mode_names[]; static inline const char *lchan_activate_mode_name(enum lchan_activate_mode activ_for) { return get_value_string(lchan_activate_mode_names, activ_for); } +struct lchan_activate_info { + enum lchan_activate_mode activ_for; + struct gsm_subscriber_connection *for_conn; + /* This always is for a specific lchan, so its lchan->type indicates full or half rate. + * When a dyn TS was selected, the lchan->type has been set to the desired rate. */ + enum gsm48_chan_mode chan_mode; + uint16_t s15_s0; + bool requires_voice_stream; + bool wait_before_switching_rtp; /*< true = requires LCHAN_EV_READY_TO_SWITCH_RTP */ + uint16_t msc_assigned_cic; + struct gsm_lchan *re_use_mgw_endpoint_from_lchan; +}; + struct gsm_lchan { /* The TS that we're part of */ struct gsm_bts_trx_ts *ts; @@ -517,18 +530,14 @@ struct gsm_lchan { struct mgwep_ci *mgw_endpoint_ci_bts; struct { - enum lchan_activate_mode activ_for; + struct lchan_activate_info info; bool activ_ack; /*< true as soon as RSL Chan Activ Ack is received */ bool immediate_assignment_sent; /*! This flag ensures that when an lchan activation has succeeded, and we have already * sent ACKs like Immediate Assignment or BSSMAP Assignment Complete, and if other errors * occur later, e.g. during release, that we don't send a NACK out of context. */ bool concluded; - bool requires_voice_stream; - bool wait_before_switching_rtp; /*< true = requires LCHAN_EV_READY_TO_SWITCH_RTP */ - uint16_t msc_assigned_cic; enum gsm0808_cause gsm0808_error_cause; - struct gsm_lchan *re_use_mgw_endpoint_from_lchan; } activate; struct { diff --git a/include/osmocom/bsc/lchan_fsm.h b/include/osmocom/bsc/lchan_fsm.h index 48cd3836a..55ab02400 100644 --- a/include/osmocom/bsc/lchan_fsm.h +++ b/include/osmocom/bsc/lchan_fsm.h @@ -52,19 +52,6 @@ void lchan_fsm_alloc(struct gsm_lchan *lchan); void lchan_release(struct gsm_lchan *lchan, bool do_rr_release, bool err, enum gsm48_rr_cause cause_rr); -struct lchan_activate_info { - enum lchan_activate_mode activ_for; - struct gsm_subscriber_connection *for_conn; - /* This always is for a specific lchan, so its lchan->type indicates full or half rate. - * When a dyn TS was selected, the lchan->type has been set to the desired rate. */ - enum gsm48_chan_mode chan_mode; - uint16_t s15_s0; - bool requires_voice_stream; - bool wait_before_switching_rtp; - uint16_t msc_assigned_cic; - struct gsm_lchan *old_lchan; -}; - void lchan_activate(struct gsm_lchan *lchan, struct lchan_activate_info *info); void lchan_ready_to_switch_rtp(struct gsm_lchan *lchan); |