Neels Hofmeyr | 31f525e | 2018-05-14 18:14:15 +0200 | [diff] [blame] | 1 | #pragma once |
Holger Hans Peter Freyther | 4f448c9 | 2010-07-05 16:02:04 +0800 | [diff] [blame] | 2 | |
Neels Hofmeyr | 31f525e | 2018-05-14 18:14:15 +0200 | [diff] [blame] | 3 | #include <osmocom/gsm/protocol/gsm_04_08.h> |
Holger Hans Peter Freyther | 4f448c9 | 2010-07-05 16:02:04 +0800 | [diff] [blame] | 4 | |
Jacob Erlbeck | 56595f8 | 2013-09-11 10:46:55 +0200 | [diff] [blame] | 5 | enum bsc_con { |
| 6 | BSC_CON_SUCCESS, |
| 7 | BSC_CON_REJECT_NO_LINK, |
| 8 | BSC_CON_REJECT_RF_GRACE, |
| 9 | BSC_CON_NO_MEM, |
| 10 | }; |
| 11 | |
Neels Hofmeyr | 5cda1d0 | 2020-05-15 01:41:35 +0200 | [diff] [blame] | 12 | struct msgb; |
Neels Hofmeyr | a369e24 | 2017-02-23 21:57:23 +0100 | [diff] [blame] | 13 | struct bsc_msc_data; |
Neels Hofmeyr | 31f525e | 2018-05-14 18:14:15 +0200 | [diff] [blame] | 14 | struct gsm0808_channel_type; |
| 15 | struct gsm0808_speech_codec_list; |
| 16 | struct gsm_audio_support; |
Neels Hofmeyr | b5ce49f | 2018-07-24 17:42:14 +0200 | [diff] [blame] | 17 | struct gsm_subscriber_connection; |
| 18 | struct gsm_bts; |
Holger Hans Peter Freyther | d65305f | 2010-11-05 11:31:08 +0100 | [diff] [blame] | 19 | |
Holger Hans Peter Freyther | 4f448c9 | 2010-07-05 16:02:04 +0800 | [diff] [blame] | 20 | struct bsc_api *osmo_bsc_api(); |
| 21 | |
Harald Welte | 519c7e1 | 2018-01-28 02:45:46 +0100 | [diff] [blame] | 22 | int bsc_queue_for_msc(struct gsm_subscriber_connection *conn, struct msgb *msg); |
| 23 | int bsc_open_connection(struct gsm_subscriber_connection *sccp, struct msgb *msg); |
Jacob Erlbeck | 56595f8 | 2013-09-11 10:46:55 +0200 | [diff] [blame] | 24 | enum bsc_con bsc_create_new_connection(struct gsm_subscriber_connection *conn, |
Neels Hofmeyr | a369e24 | 2017-02-23 21:57:23 +0100 | [diff] [blame] | 25 | struct bsc_msc_data *msc, int send_ping); |
Harald Welte | 519c7e1 | 2018-01-28 02:45:46 +0100 | [diff] [blame] | 26 | int bsc_delete_connection(struct gsm_subscriber_connection *sccp); |
Holger Hans Peter Freyther | 4582586 | 2010-11-04 11:48:49 +0100 | [diff] [blame] | 27 | |
Holger Hans Peter Freyther | 5bb874d | 2010-11-05 11:21:18 +0100 | [diff] [blame] | 28 | int bsc_scan_bts_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); |
Holger Hans Peter Freyther | a54732d | 2010-11-05 18:11:19 +0100 | [diff] [blame] | 29 | int bsc_scan_msc_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); |
Holger Hans Peter Freyther | 5bb874d | 2010-11-05 11:21:18 +0100 | [diff] [blame] | 30 | |
Neels Hofmeyr | a369e24 | 2017-02-23 21:57:23 +0100 | [diff] [blame] | 31 | int bsc_handle_udt(struct bsc_msc_data *msc, struct msgb *msg, unsigned int length); |
Harald Welte | 519c7e1 | 2018-01-28 02:45:46 +0100 | [diff] [blame] | 32 | int bsc_handle_dt(struct gsm_subscriber_connection *conn, struct msgb *msg, unsigned int len); |
Holger Hans Peter Freyther | 3485feb | 2010-11-09 23:28:33 +0100 | [diff] [blame] | 33 | |
Daniel Willmann | 5e95f45 | 2011-08-05 12:22:35 +0200 | [diff] [blame] | 34 | int bsc_ctrl_cmds_install(); |
Holger Hans Peter Freyther | 00f4cc2 | 2010-11-06 23:50:06 +0100 | [diff] [blame] | 35 | |
Holger Hans Peter Freyther | 98258db | 2014-02-22 10:30:32 +0100 | [diff] [blame] | 36 | void bsc_gen_location_state_trap(struct gsm_bts *bts); |
| 37 | |
Holger Hans Peter Freyther | ec0cb7c | 2015-04-05 20:53:42 +0200 | [diff] [blame] | 38 | struct llist_head *bsc_access_lists(void); |