libosmogsm 1.11.0.26-c59d.202505152026
Osmocom GSM library
|
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <stdbool.h>
#include <osmocom/core/bitvec.h>
#include <osmocom/gsm/bitvec_gsm.h>
#include <osmocom/gsm/sysinfo.h>
#include <osmocom/gsm/gsm48_arfcn_range_encode.h>
#include <osmocom/gsm/gsm48_rest_octets.h>
Data Structures | |
struct | nch_pos |
Variables | |
static const struct nch_pos | si1ro_nch_positions [] |
|
inlinestatic |
References append_eutran_neib_cell(), bitvec_set_bit(), bitvec_set_uint(), H, L, len, OSMO_ASSERT, and SI2Q_MAX_LEN.
Referenced by osmo_gsm48_rest_octets_si2quater_encode().
|
inlinestatic |
References bitvec_set_bit(), bitvec_set_uint(), len, OSMO_ASSERT, OSMO_EARFCN_INVALID, OSMO_EARFCN_MEAS_INVALID, and SI2Q_MAX_LEN.
Referenced by append_earfcn().
|
static |
References bitvec_set_bit(), bitvec_set_uint(), encode_drx_timer(), encode_t3192(), and len.
Referenced by osmo_gsm48_rest_octets_si13_encode().
|
static |
References bitvec_set_bit(), bitvec_set_uint(), H, L, and len.
Referenced by osmo_gsm48_rest_octets_si3_encode(), and osmo_gsm48_rest_octets_si4_encode().
References bitvec_set_bit(), bitvec_set_uint(), and len.
Referenced by osmo_gsm48_rest_octets_si13_encode().
|
static |
Referenced by osmo_gsm48_rest_octets_si4_encode().
|
static |
References bitvec_set_bit(), bitvec_set_uint(), H, L, and len.
Referenced by osmo_gsm48_rest_octets_si3_encode(), and osmo_gsm48_rest_octets_si4_encode().
|
static |
References bitvec_set_bit(), bitvec_set_uint(), osmo_gsm48_si_selection_params::cbq, osmo_gsm48_si_selection_params::cell_resel_off, H, L, len, osmo_gsm48_si_selection_params::penalty_time, osmo_gsm48_si_selection_params::present, and osmo_gsm48_si_selection_params::temp_offs.
Referenced by osmo_gsm48_rest_octets_si3_encode(), and osmo_gsm48_rest_octets_si4_encode().
|
inlinestatic |
References bitvec_set_bit(), len, OSMO_ASSERT, SI2Q_MAX_LEN, and try_adding_uarfcn().
Referenced by osmo_gsm48_rest_octets_si2quater_encode().
|
inlinestatic |
References bitvec_add_range1024(), bitvec_set_bit(), bitvec_set_uint(), f0_helper(), len, length, and range1024_p().
Referenced by try_adding_uarfcn().
|
inlinestatic |
References f0_helper(), len, length, and range1024_p().
Referenced by try_adding_uarfcn().
References len, and OSMO_ASSERT.
Referenced by decode_gprs_cell_opt().
References bitvec_get_uint(), bitvec::cur_bit, decode_drx_timer(), decode_t3192(), and len.
Referenced by osmo_gsm48_rest_octets_si13_decode().
References len, and OSMO_ASSERT.
Referenced by decode_gprs_cell_opt().
References len.
Referenced by append_gprs_cell_opt().
References len.
Referenced by append_gprs_cell_opt().
References len, length, OSMO_GSM48_ARFCN_RANGE_1024, OSMO_GSM48_RANGE_ENC_MAX_ARFCNS, and range_encode().
Referenced by append_utran_fdd(), and append_utran_fdd_length().
int osmo_gsm48_rest_octets_si13_decode | ( | struct osmo_gsm48_si13_info * | si13, |
const uint8_t * | data | ||
) |
Decode SI13 Rest Octests (04.08 Chapter 10.5.2.37b).
[out] | si13 | decoded SI13 rest octets |
[in] | encoded | SI13 rest octets |
References bitvec_get_bit_high(), bitvec_get_uint(), bitvec::data, decode_gprs_cell_opt(), decode_gprs_pwr_ctrl_pars(), ENOTSUP, H, and len.
int osmo_gsm48_rest_octets_si13_encode | ( | uint8_t * | data, |
const struct osmo_gsm48_si13_info * | si13 | ||
) |
References bitvec_set_bit(), bitvec_set_uint(), bitvec_spare_padding(), bitvec::data, H, L, and len.
void osmo_gsm48_rest_octets_si3_decode | ( | struct osmo_gsm48_si_ro_info * | si3, |
const uint8_t * | data | ||
) |
Decode SI3 Rest Octests (Chapter 10.5.2.34 / Table 10.4.72).
[out] | si3 | decoded SI3 rest octets |
[in] | encoded | SI3 rest octets, 4 octets long |
References bitvec_get_bit_high(), bitvec_get_uint(), osmo_gsm48_si_selection_params::cbq, osmo_gsm48_si_selection_params::cell_resel_off, bitvec::data, H, len, osmo_gsm48_si_selection_params::penalty_time, osmo_gsm48_si_power_offset::power_offset, osmo_gsm48_si_selection_params::present, and osmo_gsm48_si_selection_params::temp_offs.
int osmo_gsm48_rest_octets_si3_encode | ( | uint8_t * | data, |
const struct osmo_gsm48_si_ro_info * | si3 | ||
) |
References append_gprs_ind(), append_power_offset(), append_selection_params(), bitvec_set_bit(), bitvec_set_uint(), bitvec_spare_padding(), bitvec::data, H, L, and len.
void osmo_gsm48_rest_octets_si4_decode | ( | struct osmo_gsm48_si_ro_info * | si4, |
const uint8_t * | data, | ||
int | len | ||
) |
References bitvec_get_bit_high(), bitvec_get_uint(), osmo_gsm48_si_selection_params::cbq, osmo_gsm48_si_selection_params::cell_resel_off, bitvec::data, H, len, osmo_gsm48_si_selection_params::penalty_time, osmo_gsm48_si_power_offset::power_offset, osmo_gsm48_si_selection_params::present, and osmo_gsm48_si_selection_params::temp_offs.
int osmo_gsm48_rest_octets_si4_encode | ( | uint8_t * | data, |
const struct osmo_gsm48_si_ro_info * | si4, | ||
int | len | ||
) |
References append_gprs_ind(), append_lsa_params(), append_power_offset(), append_selection_params(), bitvec_set_bit(), bitvec_set_uint(), bitvec::data, H, L, and len.
int osmo_gsm48_rest_octets_si6_encode | ( | uint8_t * | data, |
const struct osmo_gsm48_si6_ro_info * | in | ||
) |
References bitvec_set_bit(), bitvec_set_uint(), bitvec_spare_padding(), bitvec::data, H, L, and len.
Decode the 5-bit 'NCH position' field within SI1 Rest Octets.
[in] | value | 5-bit value from SI1 rest octets |
[out] | num_blocks | Number of CCCH used for NCH |
[out] | first_block | First CCCH block used for NCH |
References ARRAY_SIZE, nch_pos::first_block, len, nch_pos::num_blocks, and si1ro_nch_positions.
Encode the 5-bit 'NCH position' field within SI1 Rest Octets.
[in] | num_blocks | Number of CCCH used for NCH |
[in] | first_block | First CCCH block used for NCH |
References ARRAY_SIZE, nch_pos::first_block, len, nch_pos::num_blocks, and si1ro_nch_positions.
References n.
Referenced by append_utran_fdd(), and append_utran_fdd_length().
|
static |
References len, OSMO_GSM48_ARFCN_RANGE_1024, OSMO_GSM48_ARFCN_RANGE_128, OSMO_GSM48_ARFCN_RANGE_256, OSMO_GSM48_ARFCN_RANGE_512, osmo_gsm48_range_enc_1024(), osmo_gsm48_range_enc_128(), osmo_gsm48_range_enc_256(), osmo_gsm48_range_enc_512(), osmo_gsm48_range_enc_arfcns(), and osmo_gsm48_range_enc_filter_arfcns().
Referenced by f0_helper().
|
static |
References len, and OSMO_EARFCN_INVALID.
Referenced by osmo_gsm48_rest_octets_si2quater_encode().
|
inlinestatic |
References append_utran_fdd(), append_utran_fdd_length(), and len.
Referenced by append_uarfcns().
Referenced by osmo_gsm48_si1ro_nch_pos_decode(), and osmo_gsm48_si1ro_nch_pos_encode().