aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2015-12-13 13:44:07 +0100
committerHarald Welte <laforge@gnumonks.org>2015-12-13 13:51:57 +0100
commit116033d0d1240cf35a20830324c82774a18d3e8e (patch)
tree27a549dffe040d7290da74c0316573670caf397a /openbsc/include/openbsc
parent65d4ef80c6ea0378d4c42d9525e6d94a0de6694e (diff)
Use BS/MS power control parameters in RSL (for Abis/IP)
The TS 08.58 9.3.31 / 9.3.32 IEs are unfortunately encoded in a manufacturer-dependent way. This is why we need to add an encoding function to the bts model. Currently we only implement it for the Abis/IP type BTSs like nanobts and OsmoBTS.
Diffstat (limited to 'openbsc/include/openbsc')
-rw-r--r--openbsc/include/openbsc/abis_rsl.h10
-rw-r--r--openbsc/include/openbsc/gsm_data_shared.h6
2 files changed, 13 insertions, 3 deletions
diff --git a/openbsc/include/openbsc/abis_rsl.h b/openbsc/include/openbsc/abis_rsl.h
index b27595e4a..305d8fa00 100644
--- a/openbsc/include/openbsc/abis_rsl.h
+++ b/openbsc/include/openbsc/abis_rsl.h
@@ -30,6 +30,7 @@ struct gsm_bts;
struct gsm_lchan;
struct gsm_subscriber;
struct gsm_bts_trx_ts;
+struct gsm_power_control;
int rsl_bcch_info(struct gsm_bts_trx *trx, uint8_t type,
@@ -83,8 +84,10 @@ int rsl_ccch_conf_to_bs_ccch_sdcch_comb(int ccch_conf);
int rsl_sacch_info_modify(struct gsm_lchan *lchan, uint8_t type,
const uint8_t *data, int len);
-int rsl_chan_bs_power_ctrl(struct gsm_lchan *lchan, unsigned int fpc, int db);
-int rsl_chan_ms_power_ctrl(struct gsm_lchan *lchan, unsigned int fpc, int dbm);
+int rsl_chan_bs_power_ctrl(struct gsm_lchan *lchan, unsigned int fpc, int db,
+ struct gsm_power_control *pc);
+int rsl_chan_ms_power_ctrl(struct gsm_lchan *lchan, unsigned int fpc, int dbm,
+ struct gsm_power_control *pc);
/* SMSCB functionality */
int rsl_sms_cb_command(struct gsm_bts *bts, uint8_t chan_number,
@@ -96,7 +99,8 @@ int rsl_nokia_si_begin(struct gsm_bts_trx *trx);
int rsl_nokia_si_end(struct gsm_bts_trx *trx);
/* required for Nokia BTS power control */
-int rsl_bs_power_control(struct gsm_bts_trx *trx, uint8_t channel, uint8_t reduction);
+int rsl_bs_power_control(struct gsm_bts_trx *trx, uint8_t channel,
+ uint8_t reduction, struct gsm_power_control *pc);
int rsl_release_sapis_from(struct gsm_lchan *lchan, int start,
diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h
index 864361414..24ab6d8ff 100644
--- a/openbsc/include/openbsc/gsm_data_shared.h
+++ b/openbsc/include/openbsc/gsm_data_shared.h
@@ -455,6 +455,12 @@ struct gsm_bts_model {
struct tlv_definition nm_att_tlvdef;
+ struct {
+ void (*encode_power_param)(struct msgb *msg,
+ struct gsm_power_control *pc,
+ uint8_t msg_type);
+ } rsl;
+
struct bitvec features;
uint8_t _features_data[128/8];
};