VIRT-PHY: common_util: chantype_gsmtap2rsl() now in libosmocore

As of Change-Id Ie1bc00670887064da0fea61c3dab036c23ceea25, this function
is offered by libosmocore.

Change-Id: Ie269afe314967fd2c42b91ee854c217f699252dc
This commit is contained in:
Harald Welte 2017-07-12 23:45:23 +02:00
parent c8d1ad36eb
commit 656cd327f9
3 changed files with 1 additions and 85 deletions

View File

@ -9,43 +9,3 @@
#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);

View File

@ -2,7 +2,7 @@ AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS)
AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_srcdir)/../layer23/include
sbin_PROGRAMS = virtphy
virtphy_SOURCES = virtphy.c l1ctl_sock.c gsmtapl1_if.c l1ctl_sap.c virt_prim_pm.c virt_prim_fbsb.c virt_prim_rach.c virt_prim_data.c virt_prim_traffic.c virt_l1_sched_simple.c logging.c virt_l1_model.c shared/virtual_um.c shared/osmo_mcast_sock.c shared/common_util.c
virtphy_SOURCES = virtphy.c l1ctl_sock.c gsmtapl1_if.c l1ctl_sap.c virt_prim_pm.c virt_prim_fbsb.c virt_prim_rach.c virt_prim_data.c virt_prim_traffic.c virt_l1_sched_simple.c logging.c virt_l1_model.c shared/virtual_um.c shared/osmo_mcast_sock.c
virtphy_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS)
virtphy_LDFLAGS = -pthread

View File

@ -1,44 +0,0 @@
/*
* Utility function used both in osmo bts virt and osmocom bb virt.
*/
#include <osmocom/core/gsmtap.h>
#include <osmocom/gsm/rsl.h>
#include <virtphy/common_util.h>
void chantype_gsmtap2rsl(uint8_t gsmtap_chantype, uint8_t *rsl_chantype,
uint8_t *link_id)
{
// switch case with removed acch flag
switch (gsmtap_chantype & ~GSMTAP_CHANNEL_ACCH & 0xff) {
case GSMTAP_CHANNEL_TCH_F: // TCH/F, FACCH/F
*rsl_chantype = RSL_CHAN_Bm_ACCHs;
break;
case GSMTAP_CHANNEL_TCH_H: // TCH/H, FACCH/H
*rsl_chantype = RSL_CHAN_Lm_ACCHs;
break;
case GSMTAP_CHANNEL_SDCCH4: // SDCCH/4
*rsl_chantype = RSL_CHAN_SDCCH4_ACCH;
break;
case GSMTAP_CHANNEL_SDCCH8: // SDCCH/8
*rsl_chantype = RSL_CHAN_SDCCH8_ACCH;
break;
case GSMTAP_CHANNEL_BCCH: // BCCH
*rsl_chantype = RSL_CHAN_BCCH;
break;
case GSMTAP_CHANNEL_RACH: // RACH
*rsl_chantype = RSL_CHAN_RACH;
break;
case GSMTAP_CHANNEL_PCH: // PCH
case GSMTAP_CHANNEL_AGCH: // AGCH
*rsl_chantype = RSL_CHAN_PCH_AGCH;
break;
case GSMTAP_CHANNEL_PDCH:
*rsl_chantype = GSMTAP_CHANNEL_PDCH;
break;
}
*link_id = gsmtap_chantype & GSMTAP_CHANNEL_ACCH ? LID_SACCH :
LID_DEDIC;
}