|
libosmogsm 1.11.0.52-28973f
Osmocom GSM library
|
GSM 04.08 System Information (SI) encoding and decoding. More...
#include <errno.h>#include <string.h>#include <stdio.h>#include <osmocom/core/bitvec.h>#include <osmocom/core/utils.h>#include <osmocom/gsm/sysinfo.h>#include <osmocom/gsm/protocol/gsm_04_08.h>#include <osmocom/gsm/protocol/gsm_08_58.h>Functions | |
| osmo_static_assert (sizeof(struct gsm48_system_information_type_header)==3, _si_header_size) | |
| osmo_static_assert (sizeof(struct gsm48_rach_control)==3, _si_rach_control) | |
| osmo_static_assert (sizeof(struct gsm48_system_information_type_1)==22, _si1_size) | |
| osmo_static_assert (sizeof(struct gsm48_system_information_type_2)==23, _si2_size) | |
| osmo_static_assert (sizeof(struct gsm48_system_information_type_3)==19, _si3_size) | |
| osmo_static_assert (sizeof(struct gsm48_system_information_type_4)==13, _si4_size) | |
| osmo_static_assert (sizeof(struct gsm48_system_information_type_5)==18, _si5_size) | |
| osmo_static_assert (sizeof(struct gsm48_system_information_type_6)==11, _si6_size) | |
| osmo_static_assert (sizeof(struct gsm48_system_information_type_10)==1, _si10_size) | |
| osmo_static_assert (sizeof(struct gsm48_system_information_type_13)==3, _si13_size) | |
| int | osmo_earfcn_add (struct osmo_earfcn_si2q *e, uint16_t arfcn, uint8_t meas_bw) |
| Add pair of arfcn and measurement bandwith value to earfcn struct. More... | |
| size_t | osmo_earfcn_bit_size (const struct osmo_earfcn_si2q *e) |
| Return number of bits necessary to represent earfcn struct as Repeated E-UTRAN Neighbour Cells IE from 3GPP TS 44.018 Table 10.5.2.33b.1. More... | |
| size_t | osmo_earfcn_bit_size_ext (const struct osmo_earfcn_si2q *e, size_t offset) |
| Return number of bits necessary to represent earfcn struct as Repeated E-UTRAN Neighbour Cells IE from 3GPP TS 44.018 Table 10.5.2.33b.1. More... | |
| int | osmo_earfcn_del (struct osmo_earfcn_si2q *e, uint16_t arfcn) |
| Delete arfcn (and corresponding measurement bandwith) from earfcn struct. More... | |
| void | osmo_earfcn_init (struct osmo_earfcn_si2q *e) |
| Initialize earfcn struct. More... | |
| uint8_t | osmo_sitype2rsl (enum osmo_sysinfo_type si_type) |
| enum osmo_sysinfo_type | osmo_rsl2sitype (uint8_t rsl_si) |
Variables | |
| static const uint8_t | sitype2rsl [_MAX_SYSINFO_TYPE] |
| static const uint8_t | rsl2sitype [256] |
| const struct value_string | osmo_sitype_strs [_MAX_SYSINFO_TYPE] |
GSM 04.08 System Information (SI) encoding and decoding.
3GPP TS 04.08 version 7.21.0 Release 1998 / ETSI TS 100 940 V7.21.0
| int osmo_earfcn_add | ( | struct osmo_earfcn_si2q * | e, |
| uint16_t | arfcn, | ||
| uint8_t | meas_bw | ||
| ) |
Add pair of arfcn and measurement bandwith value to earfcn struct.
| [in,out] | e | earfcn struct |
| [in] | arfcn | EARFCN value, 16 bits |
| [in] | meas_bw | measurement bandwith value |
References arfcn, osmo_earfcn_si2q::arfcn, osmo_earfcn_si2q::length, osmo_earfcn_si2q::meas_bw, and OSMO_EARFCN_INVALID.
| size_t osmo_earfcn_bit_size | ( | const struct osmo_earfcn_si2q * | e | ) |
Return number of bits necessary to represent earfcn struct as Repeated E-UTRAN Neighbour Cells IE from 3GPP TS 44.018 Table 10.5.2.33b.1.
| [in,out] | e | earfcn struct |
References osmo_earfcn_bit_size_ext().
| size_t osmo_earfcn_bit_size_ext | ( | const struct osmo_earfcn_si2q * | e, |
| size_t | offset | ||
| ) |
Return number of bits necessary to represent earfcn struct as Repeated E-UTRAN Neighbour Cells IE from 3GPP TS 44.018 Table 10.5.2.33b.1.
| [in,out] | e | earfcn struct |
| [in] | offset | into earfcn struct: how many EARFCNs to skip while estimating size |
References osmo_earfcn_si2q::arfcn, osmo_earfcn_si2q::length, osmo_earfcn_si2q::meas_bw, OSMO_EARFCN_INVALID, OSMO_EARFCN_MEAS_INVALID, osmo_earfcn_si2q::prio_valid, osmo_earfcn_si2q::qrxlm_valid, and osmo_earfcn_si2q::thresh_lo_valid.
Referenced by osmo_earfcn_bit_size().
| int osmo_earfcn_del | ( | struct osmo_earfcn_si2q * | e, |
| uint16_t | arfcn | ||
| ) |
Delete arfcn (and corresponding measurement bandwith) from earfcn struct.
| [in,out] | e | earfcn struct |
| [in] | arfcn | EARFCN value, 16 bits |
References arfcn, osmo_earfcn_si2q::arfcn, osmo_earfcn_si2q::length, osmo_earfcn_si2q::meas_bw, OSMO_EARFCN_INVALID, and OSMO_EARFCN_MEAS_INVALID.
| void osmo_earfcn_init | ( | struct osmo_earfcn_si2q * | e | ) |
Initialize earfcn struct.
| [in,out] | e | earfcn struct |
References osmo_earfcn_si2q::arfcn, osmo_earfcn_si2q::length, osmo_earfcn_si2q::meas_bw, OSMO_EARFCN_INVALID, and OSMO_EARFCN_MEAS_INVALID.
| enum osmo_sysinfo_type osmo_rsl2sitype | ( | uint8_t | rsl_si | ) |
References rsl2sitype.
| uint8_t osmo_sitype2rsl | ( | enum osmo_sysinfo_type | si_type | ) |
References sitype2rsl.
| osmo_static_assert | ( | sizeof(struct gsm48_rach_control) | = =3, |
| _si_rach_control | |||
| ) |
| osmo_static_assert | ( | sizeof(struct gsm48_system_information_type_1) | = =22, |
| _si1_size | |||
| ) |
| osmo_static_assert | ( | sizeof(struct gsm48_system_information_type_10) | = =1, |
| _si10_size | |||
| ) |
| osmo_static_assert | ( | sizeof(struct gsm48_system_information_type_13) | = =3, |
| _si13_size | |||
| ) |
| osmo_static_assert | ( | sizeof(struct gsm48_system_information_type_2) | = =23, |
| _si2_size | |||
| ) |
| osmo_static_assert | ( | sizeof(struct gsm48_system_information_type_3) | = =19, |
| _si3_size | |||
| ) |
| osmo_static_assert | ( | sizeof(struct gsm48_system_information_type_4) | = =13, |
| _si4_size | |||
| ) |
| osmo_static_assert | ( | sizeof(struct gsm48_system_information_type_5) | = =18, |
| _si5_size | |||
| ) |
| osmo_static_assert | ( | sizeof(struct gsm48_system_information_type_6) | = =11, |
| _si6_size | |||
| ) |
| osmo_static_assert | ( | sizeof(struct gsm48_system_information_type_header) | = =3, |
| _si_header_size | |||
| ) |
| const struct value_string osmo_sitype_strs[_MAX_SYSINFO_TYPE] |
|
static |
Referenced by osmo_rsl2sitype().
|
static |
Referenced by osmo_sitype2rsl().