diff options
author | Sebastian Stumpf <sebastian.stumpf87@googlemail.com> | 2017-04-06 16:46:52 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-07-12 23:26:26 +0200 |
commit | 59cc3c3ab1efcaa8f44a3b76bd9b036018fea074 (patch) | |
tree | 7f8ae6802fd72407765a9fd513a993b06cfb430a /src/host/virt_phy/include | |
parent | ba1f7c297483a2eaa2478aeb23edf6a4baea8501 (diff) |
VIRT-PHY: Extracted common virtphy utils.
Change-Id: I759c6e9805ab012f9553bcba9b5d379193462955
Diffstat (limited to 'src/host/virt_phy/include')
-rw-r--r-- | src/host/virt_phy/include/virtphy/common_util.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/host/virt_phy/include/virtphy/common_util.h b/src/host/virt_phy/include/virtphy/common_util.h new file mode 100644 index 00000000..672ff932 --- /dev/null +++ b/src/host/virt_phy/include/virtphy/common_util.h @@ -0,0 +1,51 @@ +/* + * Utility function used both in osmo bts virt and osmocom bb virt. + */ + +#pragma once + +#include <osmocom/core/gsmtap.h> +#include <osmocom/gsm/rsl.h> + +#define LID_SACCH 0x40 +#define LID_DEDIC 0x00 + +/*! \brief convert GSMTAP channel type to RSL channel number + * \param[in] gsmtap_chantype GSMTAP channel type + * \param[out] rsl_chantype rsl channel type + * \param[out] rsl_chantype rsl link id + * + * Mapping from gsmtap channel: + * GSMTAP_CHANNEL_UNKNOWN * 0x00 + * GSMTAP_CHANNEL_BCCH * 0x01 + * GSMTAP_CHANNEL_CCCH * 0x02 + * GSMTAP_CHANNEL_RACH * 0x03 + * GSMTAP_CHANNEL_AGCH * 0x04 + * GSMTAP_CHANNEL_PCH * 0x05 + * GSMTAP_CHANNEL_SDCCH * 0x06 + * GSMTAP_CHANNEL_SDCCH4 * 0x07 + * GSMTAP_CHANNEL_SDCCH8 * 0x08 + * GSMTAP_CHANNEL_TCH_F * 0x09 + * GSMTAP_CHANNEL_TCH_H * 0x0a + * GSMTAP_CHANNEL_PACCH * 0x0b + * GSMTAP_CHANNEL_CBCH52 * 0x0c + * GSMTAP_CHANNEL_PDCH * 0x0d + * GSMTAP_CHANNEL_PTCCH * 0x0e + * GSMTAP_CHANNEL_CBCH51 * 0x0f + * to rsl channel type: + * RSL_CHAN_NR_MASK * 0xf8 + * RSL_CHAN_NR_1 * * 0x08 + * RSL_CHAN_Bm_ACCHs * 0x08 + * RSL_CHAN_Lm_ACCHs * 0x10 + * RSL_CHAN_SDCCH4_ACCH * 0x20 + * RSL_CHAN_SDCCH8_ACCH * 0x40 + * RSL_CHAN_BCCH * * 0x80 + * RSL_CHAN_RACH * * 0x88 + * RSL_CHAN_PCH_AGCH * 0x90 + * RSL_CHAN_OSMO_PDCH * 0xc0 + * and logical channel link id: + * LID_SACCH * * 0x40 + * LID_DEDIC * * 0x00 + */ +void chantype_gsmtap2rsl(uint8_t gsmtap_chantype, uint8_t *rsl_chantype, + uint8_t *link_id); |