2010-06-30 06:29:53 +00:00
|
|
|
#ifndef OSMO_BSC_RF
|
|
|
|
#define OSMO_BSC_RF
|
|
|
|
|
2011-03-22 15:47:59 +00:00
|
|
|
#include <osmocom/core/write_queue.h>
|
|
|
|
#include <osmocom/core/timer.h>
|
2010-06-30 06:29:53 +00:00
|
|
|
|
|
|
|
struct gsm_network;
|
|
|
|
|
|
|
|
struct osmo_bsc_rf {
|
2010-09-15 16:10:18 +00:00
|
|
|
/* the value of signal.h */
|
|
|
|
int policy;
|
2011-05-06 10:11:23 +00:00
|
|
|
struct osmo_fd listen;
|
2010-06-30 06:29:53 +00:00
|
|
|
struct gsm_network *gsm_network;
|
2010-11-22 18:09:38 +00:00
|
|
|
|
2011-02-24 13:19:14 +00:00
|
|
|
const char *last_state_command;
|
|
|
|
|
2011-02-14 22:41:42 +00:00
|
|
|
/* delay the command */
|
|
|
|
char last_request;
|
2011-05-06 10:11:06 +00:00
|
|
|
struct osmo_timer_list delay_cmd;
|
2011-02-14 22:41:42 +00:00
|
|
|
|
2011-02-24 13:40:11 +00:00
|
|
|
/* verify that RF is up as it should be */
|
2011-05-06 10:11:06 +00:00
|
|
|
struct osmo_timer_list rf_check;
|
2011-02-24 13:40:11 +00:00
|
|
|
|
2010-11-22 18:09:38 +00:00
|
|
|
/* some handling for the automatic grace switch */
|
2011-05-06 10:11:06 +00:00
|
|
|
struct osmo_timer_list grace_timeout;
|
2010-06-30 06:29:53 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct osmo_bsc_rf_conn {
|
2011-05-06 10:09:47 +00:00
|
|
|
struct osmo_wqueue queue;
|
2010-09-15 16:10:18 +00:00
|
|
|
struct osmo_bsc_rf *rf;
|
2010-06-30 06:29:53 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct osmo_bsc_rf *osmo_bsc_rf_create(const char *path, struct gsm_network *net);
|
|
|
|
|
|
|
|
#endif
|