libosmogsm
0.9.6.269-c2af
Osmocom GSM library
|
GSM Radio Signalling Link (TS 08.58) More...
Files | |
file | rsl.h |
file | rsl.c |
Macros | |
#define | rsl_tlv_parse(dec, buf, len) tlv_parse(dec, &rsl_att_tlvdef, buf, len, 0, 0) |
Parse RSL TLV structure using tlv_parse. | |
#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_ALLOC_SIZE 200 |
Size for RSL msgb_alloc. | |
#define | RSL_ALLOC_HEADROOM 56 |
Headroom size for RSL msgb_alloc. | |
Functions | |
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... | |
const char * | rsl_chan_nr_str (uint8_t chan_nr) |
Get human-readable string for RSL channel number. | |
const char * | rsl_err_name (uint8_t err) |
Get human-readable name for RSL Error. | |
const char * | rsl_rlm_cause_name (uint8_t err) |
Get human-readable string for RLM cause. | |
const char * | rsl_msg_name (uint8_t msg_type) |
Get human-readable string for RSL Message Type. | |
const char * | rsl_ipac_msg_name (uint8_t msg_type) |
Get human-readable name of ip.access RSL msg type. | |
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). | |
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. | |
int | rsl_ccch_conf_to_bs_ccch_sdcch_comb (int ccch_conf) |
Variables | |
const struct tlv_definition | rsl_att_tlvdef |
const struct tlv_definition | rsl_ipac_eie_tlvdef |
TLV parser definitions for IPA embedded IEs. | |
const struct value_string | rsl_act_type_names [] |
String names of RSL Channel Activation Types. | |
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 (TS 08.58)
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 |
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 |
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 |
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 |
Referenced by rsl_rll_push_hdr(), and rsl_rll_simple().
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 rsl_init_rll_hdr().
Referenced by rsl_rll_push_l3().
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 msgb_tv16_push(), and rsl_rll_push_hdr().
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 RSL_ALLOC_HEADROOM, RSL_ALLOC_SIZE, and rsl_init_rll_hdr().
const struct value_string rsl_act_type_names[] |
String names of RSL Channel Activation Types.
Referenced by rsl_act_type_name().
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 |