move chcomb4pchan to public abis_nm_chcomb4pchan() function

This commit is contained in:
Harald Welte 2009-08-10 12:21:22 +02:00
parent 65f68fa961
commit 21bd3a52f1
3 changed files with 20 additions and 10 deletions

View File

@ -696,6 +696,8 @@ int abis_nm_perform_test(struct gsm_bts *bts, u_int8_t obj_class,
u_int8_t test_nr, u_int8_t auton_report,
u_int8_t *phys_config, u_int16_t phys_config_len);
int abis_nm_chcomb4pchan(enum gsm_phys_chan_config pchan);
/* Siemens / BS-11 specific */
int abis_nm_bs11_reset_resource(struct gsm_bts *bts);
int abis_nm_bs11_db_transmission(struct gsm_bts *bts, int begin);

View File

@ -404,6 +404,23 @@ static const struct tlv_definition nm_att_tlvdef = {
},
};
static const enum abis_nm_chan_comb chcomb4pchan[] = {
[GSM_PCHAN_CCCH] = NM_CHANC_mainBCCH,
[GSM_PCHAN_CCCH_SDCCH4] = NM_CHANC_BCCHComb,
[GSM_PCHAN_TCH_F] = NM_CHANC_TCHFull,
[GSM_PCHAN_TCH_H] = NM_CHANC_TCHHalf,
[GSM_PCHAN_SDCCH8_SACCH8C] = NM_CHANC_SDCCH,
/* FIXME: bounds check */
};
int abis_nm_chcomb4pchan(enum gsm_phys_chan_config pchan)
{
if (pchan < ARRAY_SIZE(chcomb4pchan))
return chcomb4pchan[pchan];
return -EINVAL;
}
int abis_nm_tlv_parse(struct tlv_parsed *tp, const u_int8_t *buf, int len)
{
return tlv_parse(tp, &nm_att_tlvdef, buf, len, 0, 0);

View File

@ -53,15 +53,6 @@ struct gsm_bts_trx_ts *ts_c0_alloc(struct gsm_bts *bts,
return ts;
}
static const enum abis_nm_chan_comb chcomb4pchan[] = {
[GSM_PCHAN_CCCH] = NM_CHANC_mainBCCH,
[GSM_PCHAN_CCCH_SDCCH4] = NM_CHANC_BCCHComb,
[GSM_PCHAN_TCH_F] = NM_CHANC_TCHFull,
[GSM_PCHAN_TCH_H] = NM_CHANC_TCHHalf,
[GSM_PCHAN_SDCCH8_SACCH8C] = NM_CHANC_SDCCH,
/* FIXME: bounds check */
};
/* Allocate a physical channel (TS) */
struct gsm_bts_trx_ts *ts_alloc(struct gsm_bts *bts,
enum gsm_phys_chan_config pchan)
@ -108,7 +99,7 @@ struct gsm_bts_trx_ts *ts_alloc(struct gsm_bts *bts,
if (ts->pchan == GSM_PCHAN_NONE) {
ts->pchan = pchan;
/* set channel attribute on OML */
abis_nm_set_channel_attr(ts, chcomb4pchan[pchan]);
abis_nm_set_channel_attr(ts, abis_nm_chcomb4pchan(pchan));
return ts;
}
}