Holger Hans Peter Freyther | 2f4dbeb | 2010-06-30 14:29:53 +0800 | [diff] [blame] | 1 | #ifndef OSMO_BSC_RF |
| 2 | #define OSMO_BSC_RF |
| 3 | |
Pablo Neira Ayuso | 136f453 | 2011-03-22 16:47:59 +0100 | [diff] [blame] | 4 | #include <osmocom/core/write_queue.h> |
| 5 | #include <osmocom/core/timer.h> |
Holger Hans Peter Freyther | 2f4dbeb | 2010-06-30 14:29:53 +0800 | [diff] [blame] | 6 | |
| 7 | struct gsm_network; |
| 8 | |
| 9 | struct osmo_bsc_rf { |
Holger Hans Peter Freyther | 7a1591b | 2010-09-16 00:10:18 +0800 | [diff] [blame] | 10 | /* the value of signal.h */ |
| 11 | int policy; |
Holger Hans Peter Freyther | 2f4dbeb | 2010-06-30 14:29:53 +0800 | [diff] [blame] | 12 | struct bsc_fd listen; |
| 13 | struct gsm_network *gsm_network; |
Holger Hans Peter Freyther | 70c232f | 2010-11-22 19:09:38 +0100 | [diff] [blame] | 14 | |
Holger Hans Peter Freyther | 37ac420 | 2011-02-24 14:19:14 +0100 | [diff] [blame] | 15 | const char *last_state_command; |
| 16 | |
Holger Hans Peter Freyther | 1176245 | 2011-02-14 23:41:42 +0100 | [diff] [blame] | 17 | /* delay the command */ |
| 18 | char last_request; |
Pablo Neira Ayuso | bf540cb | 2011-05-06 12:11:06 +0200 | [diff] [blame^] | 19 | struct osmo_timer_list delay_cmd; |
Holger Hans Peter Freyther | 1176245 | 2011-02-14 23:41:42 +0100 | [diff] [blame] | 20 | |
Holger Hans Peter Freyther | 00c805f | 2011-02-24 14:40:11 +0100 | [diff] [blame] | 21 | /* verify that RF is up as it should be */ |
Pablo Neira Ayuso | bf540cb | 2011-05-06 12:11:06 +0200 | [diff] [blame^] | 22 | struct osmo_timer_list rf_check; |
Holger Hans Peter Freyther | 00c805f | 2011-02-24 14:40:11 +0100 | [diff] [blame] | 23 | |
Holger Hans Peter Freyther | 70c232f | 2010-11-22 19:09:38 +0100 | [diff] [blame] | 24 | /* some handling for the automatic grace switch */ |
Pablo Neira Ayuso | bf540cb | 2011-05-06 12:11:06 +0200 | [diff] [blame^] | 25 | struct osmo_timer_list grace_timeout; |
Holger Hans Peter Freyther | 2f4dbeb | 2010-06-30 14:29:53 +0800 | [diff] [blame] | 26 | }; |
| 27 | |
| 28 | struct osmo_bsc_rf_conn { |
| 29 | struct write_queue queue; |
Holger Hans Peter Freyther | 7a1591b | 2010-09-16 00:10:18 +0800 | [diff] [blame] | 30 | struct osmo_bsc_rf *rf; |
Holger Hans Peter Freyther | 2f4dbeb | 2010-06-30 14:29:53 +0800 | [diff] [blame] | 31 | }; |
| 32 | |
| 33 | struct osmo_bsc_rf *osmo_bsc_rf_create(const char *path, struct gsm_network *net); |
| 34 | |
| 35 | #endif |