libosmogsm 1.11.0.24-ece60
Osmocom GSM library
|
GSM Radio Signalling Link messages on the A-bis interface. More...
Files | |
file | gsm_08_58.h |
GSM Radio Signalling Link messages on the A-bis interface. | |
file | rsl.h |
file | rsl.c |
Data Structures | |
union | abis_rsl_chan_nr |
union | abis_rsl_link_id |
struct | abis_rsl_common_hdr |
RSL common header. More... | |
struct | abis_rsl_rll_hdr |
struct | abis_rsl_dchan_hdr |
struct | abis_rsl_cchan_hdr |
struct | abis_rsl_osmo_rep_acch_cap |
struct | abis_rsl_osmo_temp_ovp_acch_cap |
struct | rsl_ie_chan_mode |
RSL Channel Mode IF (Chapter 9.3.6) More... | |
struct | rsl_ie_chan_ident |
RSL Channel Identification IE (Chapter 9.3.5) More... | |
struct | rsl_ie_cb_cmd_type |
RSL Cell Broadcast Command (Chapter 9.3.41) More... | |
struct | rsl_ie_nch_drx_info |
NCH DRX Information (Chapter 9.3.47) More... | |
struct | rsl_mrpci |
struct | ipac_preproc_ave_cfg |
struct | osmo_preproc_ave_cfg_field |
struct | osmo_preproc_ave_cfg |
struct | ipac_preproc_pc_thresh |
MS/BS Power Control Thresholds (RSL_IPAC_EIE_MS_PWR_CTL) More... | |
struct | osmo_preproc_pc_thresh |
Osmocom extension for: MS/BS Power Control Thresholds (RSL_IPAC_EIE_OSMO_MS_PWR_CTL) More... | |
struct | ipac_preproc_ho_thresh |
Handover Thresholds. More... | |
struct | ipac_preproc_pc_comp |
PC Threshold Comparators (RSL_IPAC_EIE_PC_THRESH_COMP) More... | |
struct | ipac_preproc_pc_comp_field |
Osmocom extension for: PC Threshold Comparators (RSL_IPAC_EIE_OSMO_PC_THRESH_COMP) More... | |
struct | osmo_preproc_pc_comp |
struct | ipac_preproc_ho_comp |
HO Threshold Comparators. More... | |
struct | ipac_preproc_ho_candidates |
struct | ipac_preproc_ncell_dflts |
struct | ipac_preproc_ho_ctl_param |
struct | ipac_preproc_cfg |
struct | rsl_l1_info |
Functions | |
union abis_rsl_chan_nr | __attribute__ ((packed)) |
void | rsl_init_rll_hdr (struct abis_rsl_rll_hdr *dh, uint8_t msg_type) |
Initialize a RSL RLL header. More... | |
void | rsl_init_cchan_hdr (struct abis_rsl_cchan_hdr *ch, uint8_t msg_type) |
Initialize a RSL Common Channel header. More... | |
uint8_t | rsl_enc_chan_nr (uint8_t type, uint8_t subch, uint8_t timeslot) |
Encode channel number as per Section 9.3.1. More... | |
int | rsl_dec_chan_nr (uint8_t chan_nr, uint8_t *type, uint8_t *subch, uint8_t *timeslot) |
Decode RSL channel number. More... | |
char * | rsl_chan_nr_str_buf (char *buf, size_t buf_len, uint8_t chan_nr) |
Get human-readable string for RSL channel number, in caller-provided buffer. More... | |
const char * | rsl_chan_nr_str (uint8_t chan_nr) |
Get human-readable string for RSL channel number, in static buffer. More... | |
char * | rsl_chan_nr_str_c (const void *ctx, uint8_t chan_nr) |
Get human-readable string for RSL channel number, in dynamically-allocated buffer. More... | |
const char * | rsl_err_name (uint8_t err) |
Get human-readable name for RSL Error. More... | |
const char * | rsl_rlm_cause_name (uint8_t err) |
Get human-readable string for RLM cause. More... | |
const char * | rsl_msg_name (uint8_t msg_type) |
Get human-readable string for RSL Message Type. More... | |
const char * | rsl_ipac_msg_name (uint8_t msg_type) |
Get human-readable name of ip.access RSL msg type. More... | |
const char * | rsl_or_ipac_msg_name (uint8_t msg_type) |
Get human-readable name of standard or ip.access RSL msg type. More... | |
int | rsl_ccch_conf_to_bs_cc_chans (int ccch_conf) |
void | rsl_rll_push_hdr (struct msgb *msg, uint8_t msg_type, uint8_t chan_nr, uint8_t link_id, int transparent) |
Push a RSL RLL header onto an existing msgb. More... | |
void | rsl_rll_push_l3 (struct msgb *msg, uint8_t msg_type, uint8_t chan_nr, uint8_t link_id, int transparent) |
Wrap msgb in L3 Info IE and push a RSL RLL header. More... | |
struct msgb * | rsl_rll_simple (uint8_t msg_type, uint8_t chan_nr, uint8_t link_id, int transparent) |
Create msgb with RSL RLL header. More... | |
static const char * | rsl_act_type_name (uint8_t act_type) |
Return a human readable name for GSM 08.58 RSL_ACT_* constants. More... | |
int | rsl_ccch_conf_to_bs_ccch_sdcch_comb (int ccch_conf) |
Variables | |
enum abis_rsl_msgtype | __attribute__ |
const struct tlv_definition | rsl_att_tlvdef |
const struct tlv_definition | rsl_ipac_eie_tlvdef |
TLV parser definitions for IPA embedded IEs. More... | |
const struct value_string | rsl_act_type_names [] |
String names of RSL Channel Activation Types. More... | |
const struct tlv_definition | rsl_att_tlvdef |
static const struct value_string | rsl_err_vals [] |
static const struct value_string | rsl_msgt_names [] |
static const struct value_string | rsl_ipac_msgt_names [] |
ip.access specific More... | |
static const struct value_string | rsl_rlm_cause_strs [] |
const struct tlv_definition | rsl_ipac_eie_tlvdef |
TLV parser definitions for IPA embedded IEs. More... | |
const struct value_string | rsl_act_type_names [] |
String names of RSL Channel Activation Types. More... | |
GSM Radio Signalling Link messages on the A-bis interface.
3GPP TS 08.58 version 8.6.0 Release 1999 / ETSI TS 100 596 V8.6.0.
#define ABIS_RSL_CHAN_NR_CBITS_BCCH 0x10 |
#define ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs 0x01 |
#define ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs | ( | ss | ) | (0x02 + (ss)) |
#define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH4 0x19 /*< non-standard, for CBCH/SDCCH4 */ |
#define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH8 0x1a /*< non-standard, for CBCH/SDCCH8 */ |
#define ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH 0x18 /*< non-standard, for dyn TS */ |
#define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs 0x1d /*< VAMOS TCH/F */ |
#define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs | ( | ss | ) | (0x1e + (ss)) /*< VAMOS TCH/H */ |
#define ABIS_RSL_CHAN_NR_CBITS_PCH_AGCH 0x12 |
#define ABIS_RSL_CHAN_NR_CBITS_RACH 0x11 |
#define ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH | ( | ss | ) | (0x04 + (ss)) |
#define ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH | ( | ss | ) | (0x08 + (ss)) |
#define ABIS_RSL_LINK_ID_CBITS_FACCH_SDCCH 0x00 |
#define ABIS_RSL_LINK_ID_CBITS_SACCH 0x01 |
#define ABIS_RSL_MDISC_COM_CHAN 0x0c |
#define ABIS_RSL_MDISC_DED_CHAN 0x08 |
#define ABIS_RSL_MDISC_IPACCESS 0x7e |
#define ABIS_RSL_MDISC_LOC 0x20 |
#define ABIS_RSL_MDISC_RLL 0x02 |
#define ABIS_RSL_MDISC_TRANSP 0x01 |
#define ABIS_RSL_MDISC_TRX 0x10 |
#define RLL_CAUSE_FRM_UNIMPL 0x0c |
#define RLL_CAUSE_IFRM_INC_LEN 0x0b |
#define RLL_CAUSE_IFRM_INC_MBITS 0x0a |
#define RLL_CAUSE_REEST_REQ 0x02 |
#define RLL_CAUSE_SABM_INFO_NOTALL 0x0e |
#define RLL_CAUSE_SABM_MF 0x0d |
#define RLL_CAUSE_SEQ_ERR 0x07 |
#define RLL_CAUSE_SFRM_INC_PARAM 0x09 |
#define RLL_CAUSE_T200_EXPIRED 0x01 |
#define RLL_CAUSE_UFRM_INC_PARAM 0x08 |
#define RLL_CAUSE_UNSOL_DM_RESP 0x04 |
#define RLL_CAUSE_UNSOL_DM_RESP_MF 0x05 |
#define RLL_CAUSE_UNSOL_SPRV_RESP 0x06 |
#define RLL_CAUSE_UNSOL_UA_RESP 0x03 |
#define RSL_ACT_INTER_ASYNC 0x02 |
#define RSL_ACT_INTER_SYNC 0x03 |
#define RSL_ACT_INTRA_IMM_ASS 0x00 |
#define RSL_ACT_INTRA_NORM_ASS 0x01 |
#define RSL_ACT_OSMO_PDCH 0x0f /*< non-standard, for dyn TS */ |
#define RSL_ACT_SECOND_ADD 0x04 |
#define RSL_ACT_SECOND_MULTI 0x05 |
#define RSL_ACT_TYPE_INITIAL 0x00 |
#define RSL_ACT_TYPE_REACT 0x80 |
#define RSL_ALLOC_HEADROOM 56 |
Headroom size for RSL msgb_alloc.
#define RSL_ALLOC_SIZE 200 |
Size for RSL msgb_alloc.
#define RSL_BCCH_CCCH_CONF_1_C 0x01 |
#define RSL_BCCH_CCCH_CONF_1_NC 0x00 |
#define RSL_BCCH_CCCH_CONF_2_NC 0x02 |
#define RSL_BCCH_CCCH_CONF_3_NC 0x04 |
#define RSL_BCCH_CCCH_CONF_4_NC 0x06 |
#define RSL_BS_PA_MFRMS_2 0x00 |
#define RSL_BS_PA_MFRMS_3 0x01 |
#define RSL_BS_PA_MFRMS_4 0x02 |
#define RSL_BS_PA_MFRMS_5 0x03 |
#define RSL_BS_PA_MFRMS_6 0x04 |
#define RSL_BS_PA_MFRMS_7 0x05 |
#define RSL_BS_PA_MFRMS_8 0x06 |
#define RSL_BS_PA_MFRMS_9 0x07 |
#define RSL_CB_CMD_DEFBCAST_NORMAL 0 |
#define RSL_CB_CMD_DEFBCAST_NULL 1 |
#define RSL_CB_CMD_LASTBLOCK_1 1 |
#define RSL_CB_CMD_LASTBLOCK_2 2 |
#define RSL_CB_CMD_LASTBLOCK_3 3 |
#define RSL_CB_CMD_LASTBLOCK_4 0 |
#define RSL_CB_CMD_TYPE_DEFAULT 0x0e |
#define RSL_CB_CMD_TYPE_NORMAL 0x00 |
#define RSL_CB_CMD_TYPE_NULL 0x0f |
#define RSL_CB_CMD_TYPE_SCHEDULE 0x08 |
#define RSL_CHAN_BCCH 0x80 |
#define RSL_CHAN_Bm_ACCHs 0x08 |
#define RSL_CHAN_Lm_ACCHs 0x10 /* .. 0x18 */ |
#define RSL_CHAN_NR_1 0x08 /*< bit to add for 2nd,... lchan */ |
#define RSL_CHAN_NR_MASK 0xf8 |
#define RSL_CHAN_OSMO_CBCH4 0xc8 /*< non-standard, for CBCH/SDCCH4 */ |
#define RSL_CHAN_OSMO_CBCH8 0xd0 /*< non-standard, for CBCH/SDCCH8 */ |
#define RSL_CHAN_OSMO_PDCH 0xc0 /*< non-standard, for dyn TS */ |
#define RSL_CHAN_OSMO_VAMOS_Bm_ACCHs 0xe8 /* VAMOS TCH/F */ |
#define RSL_CHAN_OSMO_VAMOS_Lm_ACCHs 0xf0 /* VAMOS TCH/H */ |
#define RSL_CHAN_PCH_AGCH 0x90 |
#define RSL_CHAN_RACH 0x88 |
#define RSL_CHAN_SDCCH4_ACCH 0x20 /* .. 0x38 */ |
#define RSL_CHAN_SDCCH8_ACCH 0x40 /* ...0x78 */ |
#define RSL_CHANNEED_ANY 0x00 |
#define RSL_CHANNEED_SDCCH 0x01 |
#define RSL_CHANNEED_TCH_F 0x02 |
#define RSL_CHANNEED_TCH_ForH 0x03 |
#define RSL_CMD_INDICATOR_START 0x00 |
Command Indicator (Chapter 9.3.48)
#define RSL_CMD_INDICATOR_STOP 0x01 |
#define RSL_CMOD_CSD_T_1200 RSL_CMOD_CSD_T_1k2 |
#define RSL_CMOD_CSD_T_14400 RSL_CMOD_CSD_T_14k4 |
#define RSL_CMOD_CSD_T_2400 RSL_CMOD_CSD_T_2k4 |
#define RSL_CMOD_CSD_T_29000 RSL_CMOD_CSD_T_29k0 |
#define RSL_CMOD_CSD_T_32000 RSL_CMOD_CSD_T_32k0 |
#define RSL_CMOD_CSD_T_4800 RSL_CMOD_CSD_T_4k8 |
#define RSL_CMOD_CSD_T_9600 RSL_CMOD_CSD_T_9k6 |
#define RSL_CMOD_DTXd 0x02 /* downlink */ |
#define RSL_CMOD_DTXu 0x01 /* uplink */ |
#define RSL_CMOD_SP_NT_12k0 RSL_CMOD_CSD_NT_12k0 |
#define RSL_CMOD_SP_NT_14k5 RSL_CMOD_CSD_NT_14k5 |
#define RSL_CMOD_SP_NT_6k0 RSL_CMOD_CSD_NT_6k0 |
#define RSL_ERIC_SYSTEM_INFO_13 0x0C |
#define RSL_ERR_ACCH_OVERLOAD 0x24 |
#define RSL_ERR_BTS_NOT_EQUIPPED 0x27 |
#define RSL_ERR_CCCH_OVERLOAD 0x23 |
#define RSL_ERR_ENCR_UNIMPL 0x40 |
#define RSL_ERR_EQUIPMENT_FAIL 0x20 |
#define RSL_ERR_HANDOVER_ACC_FAIL 0x02 |
#define RSL_ERR_IE_CONTENT 0x68 |
#define RSL_ERR_IE_ERROR 0x63 |
#define RSL_ERR_IE_LENGTH 0x67 |
#define RSL_ERR_IE_NONEXIST 0x66 |
#define RSL_ERR_INTERWORKING 0x7f |
#define RSL_ERR_INVALID_MESSAGE 0x5f |
#define RSL_ERR_MAND_IE_ERROR 0x64 |
#define RSL_ERR_MSG_DISCR 0x60 |
#define RSL_ERR_MSG_SEQ 0x62 |
#define RSL_ERR_MSG_TYPE 0x61 |
#define RSL_ERR_NORMAL_UNSPEC 0x0f |
#define RSL_ERR_NOTIFICATION_OVERFL 0x29 |
#define RSL_ERR_OM_INTERVENTION 0x07 |
#define RSL_ERR_OPT_IE_ERROR 0x65 |
#define RSL_ERR_PROCESSOR_OVERLOAD 0x25 |
#define RSL_ERR_PROTO 0x6f |
#define RSL_ERR_RADIO_IF_FAIL 0x00 |
#define RSL_ERR_RADIO_LINK_FAIL 0x01 |
#define RSL_ERR_RCH_ALR_ACTV_ALLOC 0x50 |
#define RSL_ERR_REMOTE_TRANSC_FAIL 0x28 |
#define RSL_ERR_RES_UNAVAIL 0x2f |
#define RSL_ERR_RR_UNAVAIL 0x21 |
#define RSL_ERR_SERV_OPT_UNAVAIL 0x3f |
#define RSL_ERR_SERV_OPT_UNIMPL 0x4f |
#define RSL_ERR_T_MSRFPCI_EXP 0x18 |
#define RSL_ERR_TALKER_ACC_FAIL 0x03 |
#define RSL_ERR_TERR_CH_FAIL 0x22 |
#define RSL_ERR_TRANSC_UNAVAIL 0x30 |
#define RSL_ERRCLS_INTERWORKING 0x70 |
#define RSL_ERRCLS_INVAL_MSG 0x50 |
#define RSL_ERRCLS_NORMAL 0x00 |
#define RSL_ERRCLS_PROTO_ERROR 0x60 |
#define RSL_ERRCLS_RESOURCE_UNAVAIL 0x20 |
#define RSL_ERRCLS_SERVICE_UNAVAIL 0x30 |
#define RSL_ERRCLS_SERVICE_UNIMPL 0x40 |
#define RSL_EXT_MEAS_ORDER 0x47 |
#define RSL_IE_ERIC_ACTIVATE_FLAG 0xfe |
#define RSL_IE_ERIC_BCCH_MAPPING 0xf2 |
#define RSL_IE_ERIC_CNTR_CTRL 0xf4 |
#define RSL_IE_ERIC_CNTR_CTRL_ACK 0xf5 |
#define RSL_IE_ERIC_CNTR_REPORT 0xf6 |
#define RSL_IE_ERIC_EGPRS_REQ_REF 0xf9 |
#define RSL_IE_ERIC_EMR_SUPPORT 0xf8 |
#define RSL_IE_ERIC_FULL_NCH_INFO 0xff |
#define RSL_IE_ERIC_ICP_CONN 0xf7 |
#define RSL_IE_ERIC_INST_NR 0x48 |
#define RSL_IE_ERIC_MOBILE_ID 0xf1 |
#define RSL_IE_ERIC_NY2 0xfc |
#define RSL_IE_ERIC_PACKET_PAG_IND 0xf3 |
#define RSL_IE_ERIC_PAGING_GROUP 0x0e |
#define RSL_IE_ERIC_PGSL_TIMERS 0x49 |
#define RSL_IE_ERIC_POWER_INFO 0xf0 |
#define RSL_IE_ERIC_REP_PER_NCH 0xfb |
#define RSL_IE_ERIC_REPEAT_DL_FACCH 0x4a |
#define RSL_IE_ERIC_T3115 0xfd |
#define RSL_IE_ERIC_VGCS_REL 0xfa |
#define rsl_ipac_eie_tlv_parse | ( | dec, | |
buf, | |||
len | |||
) | tlv_parse(dec, &rsl_ipac_eie_tlvdef, buf, len, 0, 0) |
Parse RSL IPAC EIE TLV structure using tlv_parse.
#define RSL_MEAS_INFO 0x48 |
#define RSL_SYSTEM_INFO_1 0x01 |
#define RSL_SYSTEM_INFO_10 0x0f |
#define RSL_SYSTEM_INFO_13 0x28 |
#define RSL_SYSTEM_INFO_16 0x08 |
#define RSL_SYSTEM_INFO_17 0x09 |
#define RSL_SYSTEM_INFO_18 0x2b |
#define RSL_SYSTEM_INFO_19 0x2c |
#define RSL_SYSTEM_INFO_2 0x02 |
#define RSL_SYSTEM_INFO_20 0x2d |
#define RSL_SYSTEM_INFO_2bis 0x0a |
#define RSL_SYSTEM_INFO_2quater 0x29 |
#define RSL_SYSTEM_INFO_2ter 0x0b |
#define RSL_SYSTEM_INFO_3 0x03 |
#define RSL_SYSTEM_INFO_4 0x04 |
#define RSL_SYSTEM_INFO_5 0x05 |
#define RSL_SYSTEM_INFO_5bis 0x0d |
#define RSL_SYSTEM_INFO_5ter 0x0e |
#define RSL_SYSTEM_INFO_6 0x06 |
#define RSL_SYSTEM_INFO_7 0x07 |
#define RSL_SYSTEM_INFO_8 0x00 |
#define RSL_SYSTEM_INFO_9 0x2a |
#define rsl_tlv_parse | ( | dec, | |
buf, | |||
len | |||
) | tlv_parse(dec, &rsl_att_tlvdef, buf, len, 0, 0) |
Parse RSL TLV structure using tlv_parse.
anonymous enum |
enum abis_rsl_ie |
RSL Information Element Identifiers (Chapter 9.3)
enum abis_rsl_msgtype |
Siemens vendor-specific RSL message types.
enum rsl_cmod_crt |
Channel rate and type.
enum rsl_cmod_csd_nt |
enum rsl_cmod_csd_t |
enum rsl_cmod_sp |
enum rsl_cmod_spd |
enum rsl_ipac_embedded_ie |
ip.access specific embedded information elements
enum rsl_ipac_rtp_payload |
enum rsl_mrpci_phase |
enum rsl_mrpci_pwrclass |
enum rsl_rel_mode |
union abis_rsl_chan_nr __attribute__ | ( | (packed) | ) |
|
inlinestatic |
Return a human readable name for GSM 08.58 RSL_ACT_* constants.
References get_value_string(), and rsl_act_type_names.
int rsl_ccch_conf_to_bs_cc_chans | ( | int | ccch_conf | ) |
References RSL_BCCH_CCCH_CONF_1_C, RSL_BCCH_CCCH_CONF_1_NC, RSL_BCCH_CCCH_CONF_2_NC, RSL_BCCH_CCCH_CONF_3_NC, and RSL_BCCH_CCCH_CONF_4_NC.
Referenced by gsm0502_calc_paging_group().
int rsl_ccch_conf_to_bs_ccch_sdcch_comb | ( | int | ccch_conf | ) |
const char * rsl_chan_nr_str | ( | uint8_t | chan_nr | ) |
Get human-readable string for RSL channel number, in static buffer.
[in] | chan_nr | channel number to be stringified |
References chan_nr, and rsl_chan_nr_str_buf().
char * rsl_chan_nr_str_buf | ( | char * | buf, |
size_t | buf_len, | ||
uint8_t | chan_nr | ||
) |
Get human-readable string for RSL channel number, in caller-provided buffer.
[out] | buf | caller-provided output buffer |
[in] | buf_len | size of buf in bytes |
[in] | chan_nr | channel number to be stringified |
References ABIS_RSL_CHAN_NR_CBITS_BCCH, ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs, ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs, ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH4, ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH8, ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH, ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs, ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs, ABIS_RSL_CHAN_NR_CBITS_PCH_AGCH, ABIS_RSL_CHAN_NR_CBITS_RACH, ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH, ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH, chan_nr, and ts.
Referenced by rsl_chan_nr_str(), and rsl_chan_nr_str_c().
char * rsl_chan_nr_str_c | ( | const void * | ctx, |
uint8_t | chan_nr | ||
) |
Get human-readable string for RSL channel number, in dynamically-allocated buffer.
[in] | ctx | talloc context from which to allocate output buffer |
[in] | chan_nr | channel number to be stringified |
References chan_nr, and rsl_chan_nr_str_buf().
int rsl_dec_chan_nr | ( | uint8_t | chan_nr, |
uint8_t * | type, | ||
uint8_t * | subch, | ||
uint8_t * | timeslot | ||
) |
Decode RSL channel number.
[in] | chan_nr | Channel Number |
[out] | type | Channel Type |
[out] | subch | Sub-channel Number |
[out] | timeslot | Timeslot |
References chan_nr, RSL_CHAN_BCCH, RSL_CHAN_Bm_ACCHs, RSL_CHAN_Lm_ACCHs, RSL_CHAN_NR_MASK, RSL_CHAN_OSMO_CBCH4, RSL_CHAN_OSMO_CBCH8, RSL_CHAN_OSMO_PDCH, RSL_CHAN_OSMO_VAMOS_Bm_ACCHs, RSL_CHAN_OSMO_VAMOS_Lm_ACCHs, RSL_CHAN_PCH_AGCH, RSL_CHAN_RACH, RSL_CHAN_SDCCH4_ACCH, RSL_CHAN_SDCCH8_ACCH, timeslot, and type.
uint8_t rsl_enc_chan_nr | ( | uint8_t | type, |
uint8_t | subch, | ||
uint8_t | timeslot | ||
) |
Encode channel number as per Section 9.3.1.
[in] | Channel | Type (RSL_CHAN_...) |
[in] | subch | Sub-Channel within Channel |
[in] | timeslot | Air interface timeslot |
References RSL_CHAN_Lm_ACCHs, RSL_CHAN_OSMO_VAMOS_Lm_ACCHs, RSL_CHAN_SDCCH4_ACCH, RSL_CHAN_SDCCH8_ACCH, timeslot, and type.
const char * rsl_err_name | ( | uint8_t | err | ) |
Get human-readable name for RSL Error.
References get_value_string(), and rsl_err_vals.
void rsl_init_cchan_hdr | ( | struct abis_rsl_cchan_hdr * | ch, |
uint8_t | msg_type | ||
) |
Initialize a RSL Common Channel header.
[out] | ch | Caller-allocated RSL Common Channel Header |
[in] | msg_type | Message Type |
References ABIS_RSL_MDISC_COM_CHAN, abis_rsl_cchan_hdr::c, abis_rsl_cchan_hdr::ie_chan, abis_rsl_common_hdr::msg_discr, msg_type, abis_rsl_common_hdr::msg_type, and RSL_IE_CHAN_NR.
Referenced by l2_ph_chan_conf(), and l2_ph_rach_ind().
void rsl_init_rll_hdr | ( | struct abis_rsl_rll_hdr * | dh, |
uint8_t | msg_type | ||
) |
Initialize a RSL RLL header.
[out] | dh | Caller-allocated RSL RLL header |
[in] | msg_type | Message Type |
References ABIS_RSL_MDISC_RLL, abis_rsl_rll_hdr::c, abis_rsl_rll_hdr::ie_chan, abis_rsl_rll_hdr::ie_link_id, abis_rsl_common_hdr::msg_discr, msg_type, abis_rsl_common_hdr::msg_type, RSL_IE_CHAN_NR, and RSL_IE_LINK_IDENT.
Referenced by rsl_rll_push_hdr(), and rsl_rll_simple().
const char * rsl_ipac_msg_name | ( | uint8_t | msg_type | ) |
Get human-readable name of ip.access RSL msg type.
References get_value_string(), msg_type, and rsl_ipac_msgt_names.
Referenced by rsl_or_ipac_msg_name().
const char * rsl_msg_name | ( | uint8_t | err | ) |
Get human-readable string for RSL Message Type.
References get_value_string(), msg_type, and rsl_msgt_names.
Referenced by rslms_rx_rll().
const char * rsl_or_ipac_msg_name | ( | uint8_t | msg_type | ) |
Get human-readable name of standard or ip.access RSL msg type.
If msg_type is a standard RSL message type, return its human-readable name. Otherwise return rsl_ipac_msg_name(msg_type).
References get_value_string_or_null(), msg_type, rsl_ipac_msg_name(), rsl_msgt_names, and value_string::str.
void rsl_rll_push_hdr | ( | struct msgb * | msg, |
uint8_t | msg_type, | ||
uint8_t | chan_nr, | ||
uint8_t | link_id, | ||
int | transparent | ||
) |
Push a RSL RLL header onto an existing msgb.
msg | Message Buffer to which RLL header shall be pushed | |
[in] | msg_type | RSL Message Type |
[in] | chan_nr | RSL Channel Number |
[in] | link_id | RSL Link Identifier |
[in] | transparent | Transparent to BTS (1) or not (0) |
References ABIS_RSL_MDISC_TRANSP, abis_rsl_rll_hdr::c, chan_nr, abis_rsl_rll_hdr::chan_nr, link_id, abis_rsl_rll_hdr::link_id, msg, abis_rsl_common_hdr::msg_discr, msg_type, msgb_push(), and rsl_init_rll_hdr().
Referenced by rsl_rll_push_l3(), and send_rslms_rll_l3_ui().
void rsl_rll_push_l3 | ( | struct msgb * | msg, |
uint8_t | msg_type, | ||
uint8_t | chan_nr, | ||
uint8_t | link_id, | ||
int | transparent | ||
) |
Wrap msgb in L3 Info IE and push a RSL RLL header.
[in] | msg | Message Buffer to which L3 Header shall be appended |
[in] | msg_type | RSL Message Type |
[in] | chan_hr | RSL Channel Number |
[in] | link_id | Link Identififer |
[in] | transparent | Transparent to BTS (1) or not (0) |
References chan_nr, link_id, msg, msg_type, msgb_l3, msgb_tv16_push(), RSL_IE_L3_INFO, and rsl_rll_push_hdr().
Referenced by send_rslms_rll_l3().
struct msgb * rsl_rll_simple | ( | uint8_t | msg_type, |
uint8_t | chan_nr, | ||
uint8_t | link_id, | ||
int | transparent | ||
) |
Create msgb with RSL RLL header.
[in] | msg_type | RSL Message Type |
[in] | chan_nr | RSL Channel Number |
[in] | link_id | RSL Link Identifier |
[in] | transparent | Transparent to BTS (1) or not (0) |
References ABIS_RSL_MDISC_TRANSP, abis_rsl_rll_hdr::c, chan_nr, abis_rsl_rll_hdr::chan_nr, link_id, abis_rsl_rll_hdr::link_id, msg, abis_rsl_common_hdr::msg_discr, msg_type, msgb_alloc_headroom(), msgb_put(), RSL_ALLOC_HEADROOM, RSL_ALLOC_SIZE, and rsl_init_rll_hdr().
Referenced by rsl_rll_error(), and send_rll_simple().
const char * rsl_rlm_cause_name | ( | uint8_t | err | ) |
Get human-readable string for RLM cause.
References get_value_string(), and rsl_rlm_cause_strs.
struct ipac_preproc_cfg __attribute__ |
|
extern |
String names of RSL Channel Activation Types.
Referenced by rsl_act_type_name().
const struct value_string rsl_act_type_names[] |
String names of RSL Channel Activation Types.
Referenced by rsl_act_type_name().
|
extern |
const struct tlv_definition rsl_att_tlvdef |
|
static |
Referenced by rsl_err_name().
|
extern |
TLV parser definitions for IPA embedded IEs.
const struct tlv_definition rsl_ipac_eie_tlvdef |
TLV parser definitions for IPA embedded IEs.
|
static |
ip.access specific
Referenced by rsl_ipac_msg_name().
|
static |
Referenced by rsl_msg_name(), and rsl_or_ipac_msg_name().
|
static |
Referenced by rsl_rlm_cause_name().