libosmogsm 1.9.0.196-9975
Osmocom GSM library
rsl.h File Reference
#include <stdint.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/msgb.h>
#include <osmocom/gsm/protocol/gsm_08_58.h>

Go to the source code of this file.

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. More...
 
#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. 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_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 msgbrsl_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...
 

Variables

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