gsm_data_shared: Remove unused definitions/members/functions
What we remove here is a legacy from sharing this header file with openbsc/osmo-bsc-sccplite, which we stopped to do quite some time ago and hence can remove those parts that are only relevant to the BSC but not to the BTS. Change-Id: Icac1656da68f6a006a28c779e3b563bbdd905b3d
This commit is contained in:
parent
fbf0eac21b
commit
5cef5056ff
|
@ -28,19 +28,6 @@
|
|||
#define SI2Q_MAX_LEN 160
|
||||
#define SI2Q_MIN_LEN 18
|
||||
|
||||
struct osmo_bsc_data;
|
||||
|
||||
struct osmo_bsc_sccp_con;
|
||||
struct gsm_sms_queue;
|
||||
|
||||
/* RRLP mode of operation */
|
||||
enum rrlp_mode {
|
||||
RRLP_MODE_NONE,
|
||||
RRLP_MODE_MS_BASED,
|
||||
RRLP_MODE_MS_PREF,
|
||||
RRLP_MODE_ASS_PREF,
|
||||
};
|
||||
|
||||
/* Channel Request reason */
|
||||
enum gsm_chreq_reason_t {
|
||||
GSM_CHREQ_REASON_EMERG,
|
||||
|
@ -90,11 +77,7 @@ enum bts_gprs_mode {
|
|||
};
|
||||
|
||||
struct gsm_lchan;
|
||||
struct gsm_subscriber;
|
||||
struct gsm_mncc;
|
||||
struct osmo_rtp_socket;
|
||||
struct rtp_socket;
|
||||
struct bsc_api;
|
||||
|
||||
/* Network Management State */
|
||||
struct gsm_nm_state {
|
||||
|
@ -120,19 +103,6 @@ struct gsm_abis_mo {
|
|||
struct gsm_bts *bts;
|
||||
};
|
||||
|
||||
/* Ericsson OM2000 Managed Object */
|
||||
struct abis_om2k_mo {
|
||||
uint8_t class;
|
||||
uint8_t bts;
|
||||
uint8_t assoc_so;
|
||||
uint8_t inst;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct om2k_mo {
|
||||
struct abis_om2k_mo addr;
|
||||
struct osmo_fsm_inst *fsm;
|
||||
};
|
||||
|
||||
#define MAX_A5_KEY_LEN (128/8)
|
||||
#define A38_XOR_MIN_KEY_LEN 12
|
||||
#define A38_XOR_MAX_KEY_LEN 16
|
||||
|
@ -392,15 +362,6 @@ struct gsm_bts_trx_ts {
|
|||
uint8_t ma_data[8]; /* 10.5.2.21: max 8 bytes value part */
|
||||
} hopping;
|
||||
|
||||
/* To which E1 subslot are we connected */
|
||||
struct gsm_e1_subslot e1_link;
|
||||
|
||||
union {
|
||||
struct {
|
||||
struct om2k_mo om2k_mo;
|
||||
} rbs2000;
|
||||
};
|
||||
|
||||
struct gsm_lchan lchan[TS_MAX_LCHAN];
|
||||
};
|
||||
|
||||
|
@ -415,7 +376,6 @@ struct gsm_bts_trx {
|
|||
/* human readable name / description */
|
||||
char *description;
|
||||
/* how do we talk RSL with this TRX? */
|
||||
struct gsm_e1_subslot rsl_e1_link;
|
||||
uint8_t rsl_tei;
|
||||
struct e1inp_sign_link *rsl_link;
|
||||
|
||||
|
@ -440,30 +400,11 @@ struct gsm_bts_trx {
|
|||
} role_bts;
|
||||
|
||||
union {
|
||||
struct {
|
||||
struct {
|
||||
struct gsm_abis_mo mo;
|
||||
} bbsig;
|
||||
struct {
|
||||
struct gsm_abis_mo mo;
|
||||
} pa;
|
||||
} bs11;
|
||||
struct {
|
||||
unsigned int test_state;
|
||||
uint8_t test_nr;
|
||||
struct rxlev_stats rxlev_stat;
|
||||
} ipaccess;
|
||||
struct {
|
||||
struct {
|
||||
struct om2k_mo om2k_mo;
|
||||
} trxc;
|
||||
struct {
|
||||
struct om2k_mo om2k_mo;
|
||||
} rx;
|
||||
struct {
|
||||
struct om2k_mo om2k_mo;
|
||||
} tx;
|
||||
} rbs2000;
|
||||
};
|
||||
struct gsm_bts_trx_ts ts[TRX_NR_TS];
|
||||
};
|
||||
|
@ -473,16 +414,6 @@ struct gsm_bts_trx {
|
|||
#define GSM_BTS_SI(bts, i) (void *)((bts)->si_buf[i][0])
|
||||
#define GSM_LCHAN_SI(lchan, i) (void *)((lchan)->si.buf[i][0])
|
||||
|
||||
enum gsm_bts_type {
|
||||
GSM_BTS_TYPE_UNKNOWN,
|
||||
GSM_BTS_TYPE_BS11,
|
||||
GSM_BTS_TYPE_NANOBTS,
|
||||
GSM_BTS_TYPE_RBS2000,
|
||||
GSM_BTS_TYPE_NOKIA_SITE,
|
||||
GSM_BTS_TYPE_OSMOBTS,
|
||||
_NUM_GSM_BTS_TYPE
|
||||
};
|
||||
|
||||
enum gsm_bts_type_variant {
|
||||
BTS_UNKNOWN,
|
||||
BTS_OSMO_LITECELL15,
|
||||
|
@ -501,30 +432,6 @@ enum bts_attribute {
|
|||
|
||||
struct vty;
|
||||
|
||||
struct gsm_bts_model {
|
||||
struct llist_head list;
|
||||
|
||||
enum gsm_bts_type type;
|
||||
enum gsm_bts_type_variant variant;
|
||||
const char *name;
|
||||
|
||||
bool started;
|
||||
int (*start)(struct gsm_network *net);
|
||||
int (*oml_rcvmsg)(struct msgb *msg);
|
||||
|
||||
void (*e1line_bind_ops)(struct e1inp_line *line);
|
||||
|
||||
void (*config_write_bts)(struct vty *vty, struct gsm_bts *bts);
|
||||
void (*config_write_trx)(struct vty *vty, struct gsm_bts_trx *trx);
|
||||
void (*config_write_ts)(struct vty *vty, struct gsm_bts_trx_ts *ts);
|
||||
|
||||
struct tlv_definition nm_att_tlvdef;
|
||||
|
||||
/* features of a given BTS model set via gsm_bts_model_register() locally */
|
||||
struct bitvec features;
|
||||
uint8_t _features_data[MAX_BTS_FEATURES/8];
|
||||
};
|
||||
|
||||
/* N. B: always add new features to the end of the list (right before _NUM_BTS_FEAT) to avoid breaking compatibility
|
||||
with BTS compiled against earlier version of this header. Also make sure that the description strings
|
||||
gsm_bts_features_descs[] in gsm_data_shared.c are also updated accordingly! */
|
||||
|
@ -548,30 +455,6 @@ enum gsm_bts_features {
|
|||
|
||||
extern const struct value_string gsm_bts_features_descs[];
|
||||
|
||||
/*
|
||||
* This keeps track of the paging status of one BTS. It
|
||||
* includes a number of pending requests, a back pointer
|
||||
* to the gsm_bts, a timer and some more state.
|
||||
*/
|
||||
struct gsm_bts_paging_state {
|
||||
/* pending requests */
|
||||
struct llist_head pending_requests;
|
||||
struct gsm_bts *bts;
|
||||
|
||||
struct osmo_timer_list work_timer;
|
||||
struct osmo_timer_list credit_timer;
|
||||
|
||||
/* free chans needed */
|
||||
int free_chans_need;
|
||||
|
||||
/* load */
|
||||
uint16_t available_slots;
|
||||
};
|
||||
|
||||
struct gsm_envabtse {
|
||||
struct gsm_abis_mo mo;
|
||||
};
|
||||
|
||||
struct gsm_bts_gprs_nsvc {
|
||||
struct gsm_bts *bts;
|
||||
/* data read via VTY config file, to configure the BTS
|
||||
|
@ -628,30 +511,6 @@ struct gprs_rlc_cfg {
|
|||
uint8_t initial_mcs;
|
||||
};
|
||||
|
||||
|
||||
enum neigh_list_manual_mode {
|
||||
NL_MODE_AUTOMATIC = 0,
|
||||
NL_MODE_MANUAL = 1,
|
||||
NL_MODE_MANUAL_SI5SEP = 2, /* SI2 and SI5 have separate neighbor lists */
|
||||
};
|
||||
|
||||
enum bts_loc_fix {
|
||||
BTS_LOC_FIX_INVALID = 0,
|
||||
BTS_LOC_FIX_2D = 1,
|
||||
BTS_LOC_FIX_3D = 2,
|
||||
};
|
||||
|
||||
extern const struct value_string bts_loc_fix_names[];
|
||||
|
||||
struct bts_location {
|
||||
struct llist_head list;
|
||||
time_t tstamp;
|
||||
enum bts_loc_fix valid;
|
||||
double lat;
|
||||
double lon;
|
||||
double height;
|
||||
};
|
||||
|
||||
/* One BTS */
|
||||
struct gsm_bts {
|
||||
/* list header in net->bts_list */
|
||||
|
@ -672,9 +531,7 @@ struct gsm_bts {
|
|||
* which is used as TSC for the CCCH */
|
||||
uint8_t bsic;
|
||||
/* type of BTS */
|
||||
enum gsm_bts_type type;
|
||||
enum gsm_bts_type_variant variant;
|
||||
struct gsm_bts_model *model;
|
||||
enum gsm_band band;
|
||||
char version[MAX_VERSION_LENGTH];
|
||||
char sub_model[MAX_VERSION_LENGTH];
|
||||
|
@ -690,11 +547,8 @@ struct gsm_bts {
|
|||
int ms_max_power;
|
||||
|
||||
/* how do we talk OML with this TRX? */
|
||||
struct gsm_e1_subslot oml_e1_link;
|
||||
uint8_t oml_tei;
|
||||
struct e1inp_sign_link *oml_link;
|
||||
/* when OML link was established */
|
||||
time_t uptime;
|
||||
|
||||
/* Abis network management O&M handle */
|
||||
struct abis_nm_h *nmh;
|
||||
|
@ -708,9 +562,6 @@ struct gsm_bts {
|
|||
enum gsm48_dtx_mode dtxu;
|
||||
bool dtxd;
|
||||
|
||||
/* paging state and control */
|
||||
struct gsm_bts_paging_state paging;
|
||||
|
||||
/* CCCH is on C0 */
|
||||
struct gsm_bts_trx *c0;
|
||||
|
||||
|
@ -737,51 +588,6 @@ struct gsm_bts {
|
|||
uint32_t flags;
|
||||
uint32_t rsl_ip;
|
||||
} ip_access;
|
||||
struct {
|
||||
struct {
|
||||
struct gsm_abis_mo mo;
|
||||
} cclk;
|
||||
struct {
|
||||
struct gsm_abis_mo mo;
|
||||
} rack;
|
||||
struct gsm_envabtse envabtse[4];
|
||||
} bs11;
|
||||
struct {
|
||||
struct {
|
||||
struct om2k_mo om2k_mo;
|
||||
struct gsm_abis_mo mo;
|
||||
struct llist_head conn_groups;
|
||||
} cf;
|
||||
struct {
|
||||
struct om2k_mo om2k_mo;
|
||||
struct gsm_abis_mo mo;
|
||||
struct llist_head conn_groups;
|
||||
} is;
|
||||
struct {
|
||||
struct om2k_mo om2k_mo;
|
||||
struct gsm_abis_mo mo;
|
||||
struct llist_head conn_groups;
|
||||
} con;
|
||||
struct {
|
||||
struct om2k_mo om2k_mo;
|
||||
struct gsm_abis_mo mo;
|
||||
} dp;
|
||||
struct {
|
||||
struct om2k_mo om2k_mo;
|
||||
struct gsm_abis_mo mo;
|
||||
} tf;
|
||||
uint32_t use_superchannel:1;
|
||||
} rbs2000;
|
||||
struct {
|
||||
uint8_t bts_type;
|
||||
unsigned int configured:1,
|
||||
skip_reset:1,
|
||||
no_loc_rel_cnf:1,
|
||||
bts_reset_timer_cnf,
|
||||
did_reset:1,
|
||||
wait_reset:1;
|
||||
struct osmo_timer_list reset_timer;
|
||||
} nokia;
|
||||
};
|
||||
|
||||
/* Not entirely sure how ip.access specific this is */
|
||||
|
@ -830,9 +636,6 @@ struct gsm_bts *gsm_bts_num(struct gsm_network *net, int num);
|
|||
struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts);
|
||||
struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num);
|
||||
|
||||
enum gsm_bts_type str2btstype(const char *arg);
|
||||
const char *btstype2str(enum gsm_bts_type type);
|
||||
|
||||
enum bts_attribute str2btsattr(const char *s);
|
||||
const char *btsatttr2str(enum bts_attribute v);
|
||||
|
||||
|
|
|
@ -87,26 +87,6 @@ const char *btsvariant2str(enum gsm_bts_type_variant v)
|
|||
return get_value_string(osmo_bts_variant_names, v);
|
||||
}
|
||||
|
||||
const struct value_string bts_type_names[_NUM_GSM_BTS_TYPE + 1] = {
|
||||
{ GSM_BTS_TYPE_UNKNOWN, "unknown" },
|
||||
{ GSM_BTS_TYPE_BS11, "bs11" },
|
||||
{ GSM_BTS_TYPE_NANOBTS, "nanobts" },
|
||||
{ GSM_BTS_TYPE_RBS2000, "rbs2000" },
|
||||
{ GSM_BTS_TYPE_NOKIA_SITE, "nokia_site" },
|
||||
{ GSM_BTS_TYPE_OSMOBTS, "sysmobts" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
enum gsm_bts_type str2btstype(const char *arg)
|
||||
{
|
||||
return get_string_value(bts_type_names, arg);
|
||||
}
|
||||
|
||||
const char *btstype2str(enum gsm_bts_type type)
|
||||
{
|
||||
return get_value_string(bts_type_names, type);
|
||||
}
|
||||
|
||||
const struct value_string gsm_bts_features_descs[] = {
|
||||
{ BTS_FEAT_HSCSD, "HSCSD" },
|
||||
{ BTS_FEAT_GPRS, "GPRS" },
|
||||
|
@ -360,7 +340,6 @@ struct gsm_bts *gsm_bts_alloc(void *ctx, uint8_t bts_num)
|
|||
|
||||
bts->rach_b_thresh = -1;
|
||||
bts->rach_ldavg_slots = -1;
|
||||
bts->paging.free_chans_need = -1;
|
||||
bts->features.data = &bts->_features_data[0];
|
||||
bts->features.data_len = sizeof(bts->_features_data);
|
||||
|
||||
|
@ -528,35 +507,6 @@ gsm_objclass2mo(struct gsm_bts *bts, uint8_t obj_class,
|
|||
case NM_OC_SITE_MANAGER:
|
||||
mo = &bts->site_mgr.mo;
|
||||
break;
|
||||
case NM_OC_BS11:
|
||||
switch (obj_inst->bts_nr) {
|
||||
case BS11_OBJ_CCLK:
|
||||
mo = &bts->bs11.cclk.mo;
|
||||
break;
|
||||
case BS11_OBJ_BBSIG:
|
||||
if (obj_inst->ts_nr > bts->num_trx)
|
||||
return NULL;
|
||||
trx = gsm_bts_trx_num(bts, obj_inst->trx_nr);
|
||||
mo = &trx->bs11.bbsig.mo;
|
||||
break;
|
||||
case BS11_OBJ_PA:
|
||||
if (obj_inst->ts_nr > bts->num_trx)
|
||||
return NULL;
|
||||
trx = gsm_bts_trx_num(bts, obj_inst->trx_nr);
|
||||
mo = &trx->bs11.pa.mo;
|
||||
break;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
break;
|
||||
case NM_OC_BS11_RACK:
|
||||
mo = &bts->bs11.rack.mo;
|
||||
break;
|
||||
case NM_OC_BS11_ENVABTSE:
|
||||
if (obj_inst->trx_nr >= ARRAY_SIZE(bts->bs11.envabtse))
|
||||
return NULL;
|
||||
mo = &bts->bs11.envabtse[obj_inst->trx_nr].mo;
|
||||
break;
|
||||
case NM_OC_GPRS_NSE:
|
||||
mo = &bts->gprs.nse.mo;
|
||||
break;
|
||||
|
|
|
@ -156,7 +156,7 @@ char *gsm_abis_mo_name(const struct gsm_abis_mo *mo)
|
|||
|
||||
static inline void add_bts_attrs(struct msgb *msg, const struct gsm_bts *bts)
|
||||
{
|
||||
abis_nm_put_sw_file(msg, btstype2str(GSM_BTS_TYPE_OSMOBTS), PACKAGE_VERSION, true);
|
||||
abis_nm_put_sw_file(msg, "osmobts", PACKAGE_VERSION, true);
|
||||
abis_nm_put_sw_file(msg, btsatttr2str(BTS_TYPE_VARIANT), btsvariant2str(bts->variant), true);
|
||||
|
||||
if (strlen(bts->sub_model))
|
||||
|
|
Loading…
Reference in New Issue