diff options
author | Harald Welte <laforge@gnumonks.org> | 2010-06-14 22:44:42 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-06-20 10:44:53 +0200 |
commit | f3d8e92731dbdc05ed4214ab9ff2bbb9189f42ad (patch) | |
tree | ad97765a9f61d7c5e3c1b01d04323784aebc91e0 /openbsc/include/openbsc/gsm_data.h | |
parent | a39b0f2bb7a7c8b97dc654a1ecdf3f58072a7fbb (diff) |
[BSC] introduce the concept of 'BTS features'
We can then check if a bts supports a certain feature or not.
Diffstat (limited to 'openbsc/include/openbsc/gsm_data.h')
-rw-r--r-- | openbsc/include/openbsc/gsm_data.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h index 107434476..8cb09d2eb 100644 --- a/openbsc/include/openbsc/gsm_data.h +++ b/openbsc/include/openbsc/gsm_data.h @@ -402,6 +402,17 @@ struct gsm_bts_model { const char *name; struct tlv_definition nm_att_tlvdef; + + struct bitvec features; + uint8_t _features_data[128/8]; +}; + +enum gsm_bts_features { + BTS_FEAT_HSCSD, + BTS_FEAT_GPRS, + BTS_FEAT_EGPRS, + BTS_FEAT_ECSD, + BTS_FEAT_HOPPING, }; /** @@ -792,6 +803,8 @@ int gsm48_ra_id_by_bts(u_int8_t *buf, struct gsm_bts *bts); void gprs_ra_id_by_bts(struct gprs_ra_id *raid, struct gsm_bts *bts); struct gsm_meas_rep *lchan_next_meas_rep(struct gsm_lchan *lchan); +int gsm_btsmodel_set_feature(struct gsm_bts_model *model, enum gsm_bts_features feat); +int gsm_bts_has_feature(struct gsm_bts *bts, enum gsm_bts_features feat); int gsm_bts_model_register(struct gsm_bts_model *model); #endif |