diff options
author | Harald Welte <laforge@gnumonks.org> | 2019-05-27 16:51:23 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-05-27 17:20:38 +0200 |
commit | a8d7ebb6fb147292e862921ce09bbe6b6b30ee51 (patch) | |
tree | e62e58b6601598dbc801aa5a87fdee588f099213 /src | |
parent | 1d32b7fecd7802f19918c4617174140b0408dfb2 (diff) |
rsl: Add osmocom-specific extensions to RSL channel numbers for CBCH
We don't really *need* it in libosmocore as such, but the lack of
having all osmocom extensions listed here lead to using overlapping
definitions: 0x18 was used for dynamic PDCH on the Abis side, but also
for CBCH on the L1SAP side. Let's list them all here to increase
visibility in case anyone wants to extend this further...
Related: OS#4027
Change-Id: I93e557358cf1c1b622f77f906959df7ca6d5cb12
Diffstat (limited to 'src')
-rw-r--r-- | src/gsm/rsl.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 17774799..0409734e 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -209,6 +209,12 @@ int rsl_dec_chan_nr(uint8_t chan_nr, uint8_t *type, uint8_t *subch, uint8_t *tim } else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_PDCH) { *type = RSL_CHAN_OSMO_PDCH; *subch = 0; + } else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH4) { + *type = RSL_CHAN_OSMO_CBCH4; + *subch = 0; + } else if ((chan_nr & 0xf8) == RSL_CHAN_OSMO_CBCH8) { + *type = RSL_CHAN_OSMO_CBCH8; + *subch = 0; } else return -EINVAL; @@ -242,6 +248,10 @@ char *rsl_chan_nr_str_buf(char *buf, size_t buf_len, uint8_t chan_nr) snprintf(buf, buf_len, "PCH/AGCH on TS%d", ts); else if (cbits == 0x18) snprintf(buf, buf_len, "PDCH on TS%d", ts); + else if (cbits == 0x19) + snprintf(buf, buf_len, "CBCH(SDCCH/4) on TS%d", ts); + else if (cbits == 0x1a) + snprintf(buf, buf_len, "CBCH(SDCCH/8) on TS%d", ts); else snprintf(buf, buf_len, "UNKNOWN on TS%d", ts); |