libosmogsm 1.9.0.196-9975
Osmocom GSM library
rsl.c File Reference
#include <stdint.h>
#include <stdio.h>
#include <errno.h>
#include <osmocom/gsm/tlv.h>
#include <osmocom/gsm/rsl.h>

Macros

#define RSL_ALLOC_SIZE   200
 Size for RSL msgb_alloc. More...
 
#define RSL_ALLOC_HEADROOM   56
 Headroom size for RSL msgb_alloc. More...
 

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...
 
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_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...
 
const char * rsl_rlm_cause_name (uint8_t err)
 Get human-readable string for RLM cause. More...
 
int rsl_ccch_conf_to_bs_cc_chans (int ccch_conf)
 
int rsl_ccch_conf_to_bs_ccch_sdcch_comb (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 msgbrsl_rll_simple (uint8_t msg_type, uint8_t chan_nr, uint8_t link_id, int transparent)
 Create msgb with RSL RLL header. More...
 

Variables

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...