2010-02-18 15:46:36 +00:00
|
|
|
#ifndef osmocom_data_h
|
|
|
|
#define osmocom_data_h
|
|
|
|
|
2010-02-20 17:58:12 +00:00
|
|
|
#include <osmocore/select.h>
|
|
|
|
#include <osmocore/gsm_utils.h>
|
2010-03-08 10:08:23 +00:00
|
|
|
#include <osmocore/write_queue.h>
|
2010-02-18 15:46:36 +00:00
|
|
|
|
2010-04-05 11:26:09 +00:00
|
|
|
struct osmocom_ms;
|
|
|
|
|
2010-07-27 18:44:46 +00:00
|
|
|
/* FIXME no 'mobile' specific stuff should be here */
|
|
|
|
#include <osmocom/bb/mobile/support.h>
|
|
|
|
#include <osmocom/bb/mobile/settings.h>
|
|
|
|
#include <osmocom/bb/mobile/subscriber.h>
|
|
|
|
#include <osmocom/bb/common/lapdm.h>
|
2010-09-11 10:42:29 +00:00
|
|
|
#include <osmocom/bb/common/sap_interface.h>
|
2010-07-27 18:44:46 +00:00
|
|
|
#include <osmocom/bb/mobile/gsm48_rr.h>
|
|
|
|
#include <osmocom/bb/mobile/sysinfo.h>
|
|
|
|
#include <osmocom/bb/mobile/gsm322.h>
|
|
|
|
#include <osmocom/bb/mobile/gsm48_mm.h>
|
|
|
|
#include <osmocom/bb/mobile/gsm48_cc.h>
|
2010-08-28 09:36:07 +00:00
|
|
|
#include <osmocom/bb/mobile/sim.h>
|
2010-04-25 16:28:24 +00:00
|
|
|
|
2010-04-05 11:26:09 +00:00
|
|
|
/* A layer2 entity */
|
|
|
|
struct osmol2_entity {
|
|
|
|
struct lapdm_entity lapdm_dcch;
|
|
|
|
struct lapdm_entity lapdm_acch;
|
|
|
|
osmol2_cb_t msg_handler;
|
|
|
|
};
|
|
|
|
|
2010-09-11 10:42:29 +00:00
|
|
|
struct osmosap_entity {
|
|
|
|
osmosap_cb_t msg_handler;
|
|
|
|
};
|
|
|
|
|
2010-07-16 10:52:38 +00:00
|
|
|
/* RX measurement statistics */
|
|
|
|
struct rx_meas_stat {
|
2010-08-14 17:10:26 +00:00
|
|
|
uint32_t last_fn;
|
2010-07-16 10:52:38 +00:00
|
|
|
uint32_t frames;
|
2010-08-14 17:10:26 +00:00
|
|
|
uint32_t snr;
|
2010-07-16 10:52:38 +00:00
|
|
|
uint32_t berr;
|
|
|
|
uint32_t rxlev;
|
|
|
|
};
|
|
|
|
|
2010-02-18 15:46:36 +00:00
|
|
|
/* One Mobilestation for osmocom */
|
|
|
|
struct osmocom_ms {
|
2010-05-09 16:01:49 +00:00
|
|
|
struct llist_head entity;
|
2010-04-25 16:10:59 +00:00
|
|
|
char name[32];
|
2010-09-11 10:42:29 +00:00
|
|
|
struct write_queue l2_wq, sap_wq;
|
2010-04-25 15:31:35 +00:00
|
|
|
uint16_t test_arfcn;
|
2010-03-02 17:47:01 +00:00
|
|
|
|
2010-04-25 16:28:24 +00:00
|
|
|
struct gsm_support support;
|
2010-05-23 20:53:32 +00:00
|
|
|
struct gsm_settings settings;
|
2010-04-25 16:28:24 +00:00
|
|
|
struct gsm_subscriber subscr;
|
2010-08-28 09:36:07 +00:00
|
|
|
struct gsm_sim sim;
|
2010-04-05 11:26:09 +00:00
|
|
|
struct osmol2_entity l2_entity;
|
2010-09-11 10:42:29 +00:00
|
|
|
struct osmosap_entity sap_entity;
|
2010-07-16 10:52:38 +00:00
|
|
|
struct rx_meas_stat meas;
|
2010-04-25 16:28:24 +00:00
|
|
|
struct gsm48_rrlayer rrlayer;
|
|
|
|
struct gsm322_plmn plmn;
|
|
|
|
struct gsm322_cellsel cellsel;
|
|
|
|
struct gsm48_mmlayer mmlayer;
|
|
|
|
struct gsm48_cclayer cclayer;
|
|
|
|
struct llist_head trans_list;
|
2010-02-18 15:46:36 +00:00
|
|
|
};
|
|
|
|
|
2010-04-05 13:28:59 +00:00
|
|
|
enum osmobb_sig_subsys {
|
|
|
|
SS_L1CTL,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum osmobb_meas_sig {
|
2010-05-19 19:41:24 +00:00
|
|
|
S_L1CTL_FBSB_ERR,
|
|
|
|
S_L1CTL_FBSB_RESP,
|
2010-04-05 13:28:59 +00:00
|
|
|
S_L1CTL_RESET,
|
|
|
|
S_L1CTL_PM_RES,
|
2010-04-05 14:21:36 +00:00
|
|
|
S_L1CTL_PM_DONE,
|
2010-06-28 13:33:14 +00:00
|
|
|
S_L1CTL_CCCH_MODE_CONF,
|
2010-04-05 13:28:59 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct osmobb_meas_res {
|
|
|
|
struct osmocom_ms *ms;
|
|
|
|
uint16_t band_arfcn;
|
|
|
|
uint8_t rx_lev;
|
|
|
|
};
|
|
|
|
|
2010-06-28 13:33:14 +00:00
|
|
|
struct osmobb_ccch_mode_conf {
|
|
|
|
struct osmocom_ms *ms;
|
|
|
|
uint8_t ccch_mode;
|
|
|
|
};
|
|
|
|
|
2010-02-18 15:46:36 +00:00
|
|
|
#endif
|