libosmogsm
1.9.2
Osmocom GSM library
|
Go to the documentation of this file.
9 #if defined(_WIN32) || defined(__WIN32__)
11 # define EXPORTIT __declspec(dllexport)
int tlv_parse_one(uint8_t *o_tag, uint16_t *o_len, const uint8_t **o_val, const struct tlv_definition *def, const uint8_t *buf, int buf_len)
Parse a single TLV encoded IE.
Definition: tlv_parser.c:234
#define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs
Definition: gsm_08_58.h:53
@ SYSINFO_TYPE_MEAS_INFO
Definition: sysinfo.h:38
#define RSL_EXT_MEAS_ORDER
Definition: gsm_08_58.h:660
@ RSL_IE_CMD_INDICATOR
Definition: gsm_08_58.h:346
#define RSL_ERR_IE_CONTENT
Definition: gsm_08_58.h:639
@ RSL_IE_UPLINK_MEAS
Definition: gsm_08_58.h:321
#define RSL_CHAN_OSMO_CBCH4
Definition: gsm_08_58.h:466
const uint8_t Rho[25]
Definition: KeccakP-1600-3gpp.c:12
@ RSL_MT_CONN_FAIL
Definition: gsm_08_58.h:206
uint8_t len
Definition: gsm_04_11.h:2
const struct value_string osmo_sitype_strs[_MAX_SYSINFO_TYPE]
Definition: sysinfo.c:104
@ RSL_IE_SIEMENS_MRPCI
Definition: gsm_08_58.h:358
const char * rsl_or_ipac_msg_name(uint8_t msg_type)
Get human-readable name of standard or ip.access RSL msg type.
Definition: rsl.c:450
#define ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(ss)
Definition: gsm_08_58.h:43
uint8_t osmo_sitype2rsl(enum osmo_sysinfo_type si_type)
Definition: sysinfo.c:220
uint8_t ie_link_id
RSL_IE_LINK_IDENT (tag)
Definition: gsm_08_58.h:89
uint8_t rxlev_buckets[NUM_RXLEVS][NUM_ARFCNS/8]
Definition: rxlev_stat.h:11
int plan
Definition: mncc.h:35
@ RSL_IE_ACCESS_DELAY
Definition: gsm_08_58.h:313
@ RSL_MT_IPAC_BIND_MUX_NACK
Definition: gsm_08_58.h:249
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 fro...
Definition: sysinfo.c:166
struct tlv_parsed * osmo_tlvp_copy(const struct tlv_parsed *tp_orig, void *ctx)
Copy tlv_parsed using given talloc context.
Definition: tlv_parser.c:70
@ SYSINFO_TYPE_13
Definition: sysinfo.h:26
static struct msgb * msgb_alloc_headroom(uint16_t size, uint16_t headroom, const char *name)
@ GMM_CAUSE_INV_MAND_INFO
Definition: gsm_04_08_gprs.h:244
uint8_t link_id
Definition: gsm_08_08.h:4
@ RSL_MT_RTD_REP
Definition: gsm_08_58.h:226
@ RSL_IE_NCH_DRX_INFO
Definition: gsm_08_58.h:345
const uint8_t Pi[25]
Definition: KeccakP-1600-3gpp.c:15
@ RSL_MT_MODE_MODIFY_REQ
Definition: gsm_08_58.h:211
const uint8_t * val
pointer to value
Definition: tlv.h:504
static const struct value_string rsl_msgt_names[]
Definition: rsl.c:333
bool thresh_lo_valid
Definition: sysinfo.h:66
@ RSL_MT_PHY_CONTEXT_REQ
Definition: gsm_08_58.h:214
#define RLL_CAUSE_T200_EXPIRED
Definition: gsm_08_58.h:578
#define ABIS_RSL_CHAN_NR_CBITS_PCH_AGCH
Definition: gsm_08_58.h:47
@ RSL_IPAC_EIE_TIMING_ERR
Definition: gsm_08_58.h:810
static __thread char ienamebuf[32]
Definition: tlv_parser.c:642
@ RSL_IE_CHAN_NR
Definition: gsm_08_58.h:297
#define RLL_CAUSE_UNSOL_DM_RESP
Definition: gsm_08_58.h:581
@ RSL_IE_IPAC_RTP_COMPR
Definition: gsm_08_58.h:388
#define RLL_CAUSE_SABM_INFO_NOTALL
Definition: gsm_08_58.h:591
@ RSL_MT_SACCH_FILL
Definition: gsm_08_58.h:195
@ RSL_MT_REL_CONF
Definition: gsm_08_58.h:175
int bitvec_set_bit_pos(struct bitvec *bv, unsigned int bitnr, enum bit_value bit)
@ OAP_MSGT_CHALLENGE_REQUEST
Definition: oap.h:55
@ SYSINFO_TYPE_2ter
Definition: sysinfo.h:33
@ RSL_IE_MS_POWER_PARAM
Definition: gsm_08_58.h:327
@ RSL_IE_CHAN_MODE
Definition: gsm_08_58.h:302
#define RSL_SYSTEM_INFO_5ter
Definition: gsm_08_58.h:658
const char * get_value_string(const struct value_string *vs, uint32_t val)
struct abis_rsl_common_hdr c
Definition: gsm_08_58.h:110
@ RSL_IE_CHAN_NEEDED
Definition: gsm_08_58.h:336
void Keccak_f_8(uint8_t s[200])
Definition: KeccakP-1600-3gpp.c:76
#define ROTATE64(value, n)
Definition: KeccakP-1600-3gpp.c:21
uint8_t xres[8]
Definition: oap.h:74
int osmo_tlvp_merge(struct tlv_parsed *dst, const struct tlv_parsed *src)
Merge all tlv_parsed attributes of 'src' into 'dst'.
Definition: tlv_parser.c:105
@ RSL_MT_SUSP_CONF
Definition: gsm_08_58.h:180
@ RSL_IE_PAGING_LOAD
Definition: gsm_08_58.h:311
uint8_t cause
Definition: gsm_04_08.h:808
@ OAP_RAND_IE
Definition: oap.h:42
@ RSL_IPAC_EIE_FREQ_ERR
Definition: gsm_08_58.h:809
@ OAP_CAUSE_IE
Definition: oap.h:41
@ SYSINFO_TYPE_17
Definition: sysinfo.h:28
@ OAP_AUTS_IE
Definition: oap.h:45
#define RSL_ERR_SERV_OPT_UNAVAIL
Definition: gsm_08_58.h:623
#define RSL_SYSTEM_INFO_9
Definition: gsm_08_58.h:665
#define RSL_SYSTEM_INFO_5bis
Definition: gsm_08_58.h:657
@ RSL_MT_REL_REQ
Definition: gsm_08_58.h:174
#define RSL_CHAN_BCCH
Definition: gsm_08_58.h:462
@ RSL_MT_IPAC_PDCH_DEACT_NACK
Definition: gsm_08_58.h:243
#define RSL_MEAS_INFO
Definition: gsm_08_58.h:661
#define RSL_ACT_INTER_ASYNC
Definition: gsm_08_58.h:479
@ RSL_MT_IPAC_PDCH_DEACT
Definition: gsm_08_58.h:241
static unsigned char * msgb_put(struct msgb *msgb, unsigned int len)
void tlv_def_patch(struct tlv_definition *dst, const struct tlv_definition *src)
take a master (src) tlv_definition and fill up all empty slots in 'dst'
Definition: tlv_parser.c:449
const char * rsl_err_name(uint8_t err)
Get human-readable name for RSL Error.
Definition: rsl.c:327
#define NUM_ARFCNS
Definition: rxlev_stat.h:6
int tlv_parse(struct tlv_parsed *dec, const struct tlv_definition *def, const uint8_t *buf, int buf_len, uint8_t lv_tag, uint8_t lv_tag2)
Parse an entire buffer of TLV encoded Information Elements.
Definition: tlv_parser.c:346
#define RLL_CAUSE_IFRM_INC_LEN
Definition: gsm_08_58.h:588
@ RSL_MT_LISTENER_DET
Definition: gsm_08_58.h:224
#define RLL_CAUSE_IFRM_INC_MBITS
Definition: gsm_08_58.h:587
int bitvec_find_bit_pos(const struct bitvec *bv, unsigned int n, enum bit_value val)
uint8_t secret_k[16]
Definition: oap_client.h:56
@ RSL_IE_IPAC_SPEECH_MODE
Definition: gsm_08_58.h:381
@ RSL_IE_SMSCB_MSG
Definition: gsm_08_58.h:338
struct tlv_definition tvlv_att_def
Definition: tlv_parser.c:49
for(i=0;i< vector_active(cmdvec);i++) if((node
@ RSL_MT_HANDO_DET
Definition: gsm_08_58.h:209
@ OAP_AUTN_IE
Definition: oap.h:43
#define RSL_ERR_REMOTE_TRANSC_FAIL
Definition: gsm_08_58.h:618
#define RSL_BCCH_CCCH_CONF_4_NC
Definition: gsm_08_58.h:725
int16_t rxlev_stat_get_next(const struct rxlev_stats *st, uint8_t rxlev, int16_t arfcn)
Definition: rxlev_stat.c:46
@ RSL_MT_SUSP_REQ
Definition: gsm_08_58.h:179
#define RLL_CAUSE_REEST_REQ
Definition: gsm_08_58.h:579
write Write running configuration to or terminal n Write configuration to the copy running config startup config
@ RSL_IE_RESOURCE_INFO
Definition: gsm_08_58.h:317
@ SYSINFO_TYPE_16
Definition: sysinfo.h:27
#define OSMO_EARFCN_INVALID
Definition: sysinfo.h:11
@ RSL_MT_IPAC_DLCX_IND
Definition: gsm_08_58.h:262
#define RSL_ERR_PROCESSOR_OVERLOAD
Definition: gsm_08_58.h:616
#define RSL_ERR_RES_UNAVAIL
Definition: gsm_08_58.h:620
int osmo_shift_tlv(uint8_t **data, size_t *data_len, uint8_t *tag, uint8_t **value, size_t *value_len)
Extract TLV and advance data pointer + subtract length.
Definition: tlv_parser.c:572
@ RSL_IE_IPAC_RTP_PAYLOAD2
Definition: gsm_08_58.h:389
@ RSL_MT_DATA_IND
Definition: gsm_08_58.h:169
int type
Definition: mncc.h:34
@ RSL_IE_EMLPP_PRIO
Definition: gsm_08_58.h:347
uint8_t * meas_bw
Definition: sysinfo.h:53
@ RSL_IE_FRAME_NUMBER
Definition: gsm_08_58.h:304
@ RSL_MT_BCCH_INFO
Definition: gsm_08_58.h:185
#define RSL_ACT_TYPE_INITIAL
Definition: gsm_08_58.h:475
#define RSL_ERR_IE_NONEXIST
Definition: gsm_08_58.h:637
osmo_static_assert(sizeof(struct gsm48_system_information_type_header)==3, _si_header_size)
@ RSL_IPAC_EIE_NCELL_BA_CHG_LIST
Definition: gsm_08_58.h:821
@ RSL_MT_PRE_HANDO_NOTIF
Definition: gsm_08_58.h:227
@ RSL_IE_SYSINFO_TYPE
Definition: gsm_08_58.h:326
@ RSL_IE_STARTNG_TIME
Definition: gsm_08_58.h:319
#define RSL_ERR_BTS_NOT_EQUIPPED
Definition: gsm_08_58.h:617
@ RSL_IE_REQ_REFERENCE
Definition: gsm_08_58.h:315
uint64_t osmo_decode_big_endian(const uint8_t *data, size_t data_len)
const struct value_string * msgt_names
value_string array of message type names (legacy, if not populated in msg_def)
Definition: tlv.h:698
#define RSL_SYSTEM_INFO_6
Definition: gsm_08_58.h:651
#define TLVP_LEN(x, y)
Definition: tlv.h:557
uint8_t msg[0]
Definition: gsm_08_08.h:729
osmo_static_assert(_LOG_CTX_COUNT<=ARRAY_SIZE(((struct log_context *) NULL) ->ctx), enum_logging_ctx_items_fit_in_struct_log_context)
#define ABIS_RSL_CHAN_NR_CBITS_RACH
Definition: gsm_08_58.h:46
union osmo_sub_auth_data::@111 u
Osmocom TLV protocol definition.
Definition: tlv.h:688
uint8_t res_len
length (in bytes) of res: 4..16 bytes
Definition: auth.h:95
uint8_t timeslot
E1 timeslot.
Definition: gsm_12_21.h:4
@ RSL_IE_IPAC_RTP_JIT_BUF
Definition: gsm_08_58.h:387
@ RSL_IPAC_EIE_NUM_OF_MS
Definition: gsm_08_58.h:822
@ RSL_MT_IPAC_MDCX_NACK
Definition: gsm_08_58.h:261
@ TLV_TYPE_FIXED
fixed-length value-only
Definition: tlv.h:510
@ RSL_IE_MAIN_CHAN_REF
Definition: gsm_08_58.h:349
@ RSL_MT_LOCATION_INFO
Definition: gsm_08_58.h:234
uint16_t len
length
Definition: tlv.h:503
static uint8_t * msgb_v_put(struct msgb *msg, uint8_t val)
put (append) a V field to a Message buffers
Definition: tlv.h:391
#define RSL_ERR_NOTIFICATION_OVERFL
Definition: gsm_08_58.h:619
#define RSL_ERR_CCCH_OVERLOAD
Definition: gsm_08_58.h:614
uint8_t auts[14]
Definition: oap.h:76
static int msgb_tailroom(const struct msgb *msgb)
const char * get_value_string_or_null(const struct value_string *vs, uint32_t val)
@ RSL_IPAC_EIE_RXQUAL
Definition: gsm_08_58.h:808
#define RLL_CAUSE_SFRM_INC_PARAM
Definition: gsm_08_58.h:586
#define RSL_ERR_SERV_OPT_UNIMPL
Definition: gsm_08_58.h:626
@ RSL_MT_MS_POWER_CONTROL
Definition: gsm_08_58.h:217
const struct tlv_definition rsl_att_tlvdef
Definition: rsl.c:63
@ RSL_MT_IPAC_CONNECT_MUX
Definition: gsm_08_58.h:244
@ RSL_IE_IPAC_HO_C_PARMS
Definition: gsm_08_58.h:384
#define RSL_SYSTEM_INFO_20
Definition: gsm_08_58.h:668
@ TLV_TYPE_T
tag-only
Definition: tlv.h:511
#define ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs
Definition: gsm_08_58.h:41
const struct tlv_definition * tlv_def
TLV parser definition (optional)
Definition: tlv.h:692
int tlv_parse2(struct tlv_parsed *dec, int dec_multiples, const struct tlv_definition *def, const uint8_t *buf, int buf_len, uint8_t lv_tag, uint8_t lv_tag2)
Like tlv_parse(), but capable of decoding multiple occurences of the same IE.
Definition: tlv_parser.c:369
void osmo_oap_encode(struct msgb *msg, const struct osmo_oap_message *oap_msg)
Compose OAP message data.
Definition: oap.c:160
static const struct value_string rsl_rlm_cause_strs[]
Definition: rsl.c:458
@ RSL_MT_REL_IND
Definition: gsm_08_58.h:176
@ RSL_IPAC_EIE_BS_PWR_CTL
Definition: gsm_08_58.h:812
@ SYSINFO_TYPE_EMO
Definition: sysinfo.h:37
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.
Definition: sysinfo.c:137
#define RLL_CAUSE_UNSOL_UA_RESP
Definition: gsm_08_58.h:580
@ RSL_IE_FULL_IMM_ASS_INFO
Definition: gsm_08_58.h:339
#define NUM_RXLEVS
Definition: rxlev_stat.h:5
const char * osmo_tlv_prot_msg_name(const struct osmo_tlv_prot_def *pdef, uint8_t msg_type)
get the message name for given msg_type in protocol pdef
Definition: tlv_parser.c:646
struct osmo_tlv_prot_msg_def msg_def[256]
definition of each message (8-bit message type)
Definition: tlv.h:694
#define RSL_ACT_SECOND_ADD
Definition: gsm_08_58.h:481
@ RSL_MT_MODE_MODIFY_NACK
Definition: gsm_08_58.h:213
#define RSL_SYSTEM_INFO_8
Definition: gsm_08_58.h:645
@ SYSINFO_TYPE_8
Definition: sysinfo.h:23
@ RSL_MT_CHAN_ACTIV_ACK
Definition: gsm_08_58.h:204
@ RSL_IE_IPAC_REMOTE_IP
Definition: gsm_08_58.h:377
@ RSL_IE_IPAC_REMOTE_PORT
Definition: gsm_08_58.h:378
@ RSL_IPAC_EIE_NCELL_DEF_EXT
Definition: gsm_08_58.h:824
char number[33]
Definition: mncc.h:38
@ RSL_MT_IPAC_MDCX_ACK
Definition: gsm_08_58.h:260
#define RSL_ERR_OM_INTERVENTION
Definition: gsm_08_58.h:607
@ OSMO_TLVP_ERR_OFS_LEN_BEYOND_BUFFER
Definition: tlv.h:47
@ RSL_MT_OVERLOAD
Definition: gsm_08_58.h:196
@ OAP_MSGT_CHALLENGE_RESULT
Definition: oap.h:57
#define RSL_CHAN_SDCCH8_ACCH
Definition: gsm_08_58.h:461
static uint8_t * msgb_tv16_push(struct msgb *msg, uint8_t tag, uint16_t val)
push (prepend) a TV16 field to a Message buffers
Definition: tlv.h:453
Definition: oap_client.h:34
char version[20]
Definition: ipaccess.h:12
const char * rsl_msg_name(uint8_t err)
Get human-readable string for RSL Message Type.
Definition: rsl.c:405
uint8_t type
Definition: gsm_08_08.h:2
@ OAP_MSGT_REGISTER_REQUEST
Definition: oap.h:51
@ RSL_IE_IPAC_LOCAL_PORT
Definition: gsm_08_58.h:380
const struct value_string rsl_act_type_names[]
String names of RSL Channel Activation Types.
Definition: rsl.c:632
@ RSL_MT_IPAC_BIND_MUX
Definition: gsm_08_58.h:247
@ RSL_IE_OSMO_REP_ACCH_CAP
Definition: gsm_08_58.h:368
#define RSL_ERR_INVALID_MESSAGE
Definition: gsm_08_58.h:629
#define RSL_SYSTEM_INFO_2
Definition: gsm_08_58.h:647
osmo_sysinfo_type
Definition: sysinfo.h:14
@ RSL_IPAC_EIE_HO_CAND_EXT
Definition: gsm_08_58.h:823
struct tlv_p_entry lv[256]
Definition: tlv.h:533
@ RSL_IE_IPAC_LOCAL_IP
Definition: gsm_08_58.h:382
struct osmo_sub_auth_data::@111::@112 umts
@ RSL_IE_MS_IDENTITY
Definition: gsm_08_58.h:308
@ RSL_IE_OSMO_TRAINING_SEQUENCE
Definition: gsm_08_58.h:369
#define RSL_ERR_MSG_DISCR
Definition: gsm_08_58.h:631
@ RSL_MT_RF_RES_IND
Definition: gsm_08_58.h:194
@ RSL_IPAC_EIE_3G_NCELL_LIST
Definition: gsm_08_58.h:831
#define RLL_CAUSE_FRM_UNIMPL
Definition: gsm_08_58.h:589
@ TLV_TYPE_TLV
tag-length-value
Definition: tlv.h:513
int osmo_oap_decode(struct osmo_oap_message *oap_msg, const uint8_t *data, size_t data_len)
Decode OAP message data.
Definition: oap.c:43
@ RSL_MT_ERROR_REPORT
Definition: gsm_08_58.h:197
int tlv_encode(struct msgb *msg, const struct tlv_definition *def, const struct tlv_parsed *tp)
Encode a set of decoded TLVs according to a given definition into a message buffer.
Definition: tlv_parser.c:173
static struct msgb * oap_msg_register(uint16_t client_id)
Definition: oap_client.c:139
uint8_t autn[16]
authentication nonce
Definition: auth.h:91
@ RSL_IE_SMSCB_CHAN_INDICATOR
Definition: gsm_08_58.h:342
osmo_oap_iei
Information Element Identifiers for OAP IEs.
Definition: oap.h:40
EXPORTIT void Keccak_f_64(uint64_t s[25])
Definition: KeccakP-1600-3gpp.c:28
@ RSL_IPAC_EIE_HO_THRESH_COMP
Definition: gsm_08_58.h:818
static struct msgb * oap_msg_challenge_response(uint8_t *xres)
Definition: oap_client.c:166
@ TLV_TYPE_TvLV
tag, variable length, value
Definition: tlv.h:515
@ RSL_IE_SMSCB_INFO
Definition: gsm_08_58.h:332
@ OAP_XRES_IE
Definition: oap.h:44
@ RSL_MT_IPAC_MDCX
Definition: gsm_08_58.h:259
Definition of All 256 IE / TLV.
Definition: tlv.h:527
int registration_failures
Definition: oap_client.h:58
@ SYSINFO_TYPE_7
Definition: sysinfo.h:22
@ RSL_IPAC_EIE_HO_CANDIDATES
Definition: gsm_08_58.h:820
static unsigned char * msgb_push(struct msgb *msgb, unsigned int len)
const struct value_string * gsm48_gmm_cause_names
Definition: gsm_04_08_gprs.c:80
@ RSL_IE_MEAS_RES_NR
Definition: gsm_08_58.h:323
static __thread char msgnamebuf[32]
Definition: tlv_parser.c:643
Definition: gsm_08_58.h:82
#define RSL_ERR_T_MSRFPCI_EXP
Definition: gsm_08_58.h:609
const struct value_string osmo_mncc_names[]
#define RSL_BCCH_CCCH_CONF_3_NC
Definition: gsm_08_58.h:724
@ RSL_MT_CCCH_LOAD_IND
Definition: gsm_08_58.h:186
int autn_present
Definition: oap.h:71
void Keccak_f_64(uint64_t s[25])
Definition: KeccakP-1600-3gpp.c:28
@ RSL_IE_SACCH_INFO
Definition: gsm_08_58.h:340
uint8_t res[16]
authentication result
Definition: auth.h:94
@ SYSINFO_TYPE_2bis
Definition: sysinfo.h:32
#define RSL_ERR_TERR_CH_FAIL
Definition: gsm_08_58.h:613
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.
Definition: rsl.c:548
@ RSL_IE_IPAC_RTP_CSD_FMT
Definition: gsm_08_58.h:386
#define RSL_CHAN_PCH_AGCH
Definition: gsm_08_58.h:464
enum tlv_type type
TLV type.
Definition: tlv.h:522
@ RSL_MT_IPAC_DISC_MUX
Definition: gsm_08_58.h:250
void _osmo_mncc_log(int subsys, int level, const char *file, int line, const char *prefix, const uint8_t *msg, unsigned int len)
@ RSL_MT_IPAC_PDCH_ACT
Definition: gsm_08_58.h:238
#define RSL_ERR_PROTO
Definition: gsm_08_58.h:640
static uint8_t * msgb_vtvlv_gan_put(struct msgb *msg, uint16_t tag, uint16_t len, const uint8_t *val)
put (append) a vTvLV field to Message buffers
Definition: tlv.h:297
@ RSL_MT_RECON_REQ
Definition: gsm_08_58.h:182
#define RSL_ERR_ACCH_OVERLOAD
Definition: gsm_08_58.h:615
@ RSL_MT_SMS_BC_REQ
Definition: gsm_08_58.h:191
#define RSL_SYSTEM_INFO_18
Definition: gsm_08_58.h:666
@ RSL_MT_PREPROC_CONFIG
Definition: gsm_08_58.h:219
static const uint8_t sitype2rsl[_MAX_SYSINFO_TYPE]
Definition: sysinfo.c:52
#define RSL_ERR_RADIO_IF_FAIL
Definition: gsm_08_58.h:603
void msgb_free(struct msgb *m)
#define RSL_BCCH_CCCH_CONF_1_C
Definition: gsm_08_58.h:722
@ RSL_MT_CHAN_ACTIV_NACK
Definition: gsm_08_58.h:205
#define RSL_CHAN_NR_MASK
Definition: gsm_08_58.h:456
EXPORTIT void Keccak_f_8(uint8_t s[200])
Definition: KeccakP-1600-3gpp.c:76
#define RSL_CHAN_Lm_ACCHs
Definition: gsm_08_58.h:459
int osmo_tlv_prot_validate_tp(const struct osmo_tlv_prot_def *pdef, uint8_t msg_type, const struct tlv_parsed *tp, int log_subsys, const char *log_pfx)
Validate an already TLV-decoded message against the protocol definition.
Definition: tlv_parser.c:677
@ RSL_IE_MR_CONTROL
Definition: gsm_08_58.h:351
@ RSL_IE_CHAN_IDENT
Definition: gsm_08_58.h:301
int present
Definition: mncc.h:36
@ RSL_MT_DEACTIVATE_SACCH
Definition: gsm_08_58.h:207
@ RSL_MT_IPAC_PDCH_ACT_ACK
Definition: gsm_08_58.h:239
tlv_type
TLV type.
Definition: tlv.h:508
@ RSL_MT_IPAC_CONNECT_MUX_ACK
Definition: gsm_08_58.h:245
@ RSL_MT_IPAC_DLCX_ACK
Definition: gsm_08_58.h:264
#define RSL_CHAN_OSMO_VAMOS_Lm_ACCHs
Definition: gsm_08_58.h:471
@ TLV_TYPE_TL16V
tag, 16 bit length, value
Definition: tlv.h:514
#define RSL_ERR_IE_LENGTH
Definition: gsm_08_58.h:638
#define RSL_ACT_SECOND_MULTI
Definition: gsm_08_58.h:482
@ RSL_IE_PYHS_CONTEXT
Definition: gsm_08_58.h:312
@ SYSINFO_TYPE_6
Definition: sysinfo.h:21
#define RLL_CAUSE_SEQ_ERR
Definition: gsm_08_58.h:584
@ RSL_MT_IPAC_DLCX
Definition: gsm_08_58.h:263
@ RSL_IPAC_EIE_SDCCH_CTL_PARAM
Definition: gsm_08_58.h:832
void rsl_init_cchan_hdr(struct abis_rsl_cchan_hdr *ch, uint8_t msg_type)
Initialize a RSL Common Channel header.
Definition: rsl.c:55
@ RSL_IE_BS_POWER
Definition: gsm_08_58.h:300
#define ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH
Definition: gsm_08_58.h:48
#define ABIS_RSL_CHAN_NR_CBITS_BCCH
Definition: gsm_08_58.h:45
struct tlv_def def[256]
Definition: tlv.h:528
#define RSL_ERR_INTERWORKING
Definition: gsm_08_58.h:642
#define RSL_ERR_MSG_SEQ
Definition: gsm_08_58.h:633
void rxlev_stat_input(struct rxlev_stats *st, uint16_t arfcn, uint8_t rxlev)
Definition: rxlev_stat.c:32
#define EXPORTIT
Definition: KeccakP-1600-3gpp.h:13
#define RSL_ERR_HANDOVER_ACC_FAIL
Definition: gsm_08_58.h:605
@ RSL_IE_MSG_ID
Definition: gsm_08_58.h:324
uint8_t iei
Definition: gsm_08_58.h:4
@ RSL_IPAC_EIE_MASTER_KEY
Definition: gsm_08_58.h:826
@ RSL_IE_UIC
Definition: gsm_08_58.h:348
@ SYSINFO_TYPE_10
Definition: sysinfo.h:25
int rsl_ccch_conf_to_bs_ccch_sdcch_comb(int ccch_conf)
Definition: rsl.c:502
int osmo_match_shift_tv_fixed(uint8_t **data, size_t *data_len, uint8_t tag, size_t len, uint8_t **value)
Match tag, check length and assign value pointer.
Definition: tlv_parser.c:506
@ RSL_MT_SMS_BC_CMD
Definition: gsm_08_58.h:198
@ OSMO_TLVP_ERR_UNKNOWN_TLV_TYPE
Definition: tlv.h:48
static uint8_t * msgb_tlv_put(struct msgb *msg, uint8_t tag, uint8_t len, const uint8_t *val)
put (append) a TLV field to a Message buffers
Definition: tlv.h:366
#define RSL_ERR_NORMAL_UNSPEC
Definition: gsm_08_58.h:608
@ RSL_IPAC_EIE_PC_THRESH_COMP
Definition: gsm_08_58.h:817
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.
Definition: rsl.c:569
@ RSL_MT_DATA_REQ
Definition: gsm_08_58.h:168
#define RSL_CHAN_OSMO_VAMOS_Bm_ACCHs
Definition: gsm_08_58.h:470
void rxlev_stat_dump(const struct rxlev_stats *st)
Definition: rxlev_stat.c:68
@ RSL_IE_PREPROC_PARAM
Definition: gsm_08_58.h:329
@ RSL_IE_RLM_CAUSE
Definition: gsm_08_58.h:318
int osmo_auth_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand) OSMO_DEPRECATED_OUTSIDE("Use osmo_auth_gen_vec2 instead")
Generate authentication vector.
Definition: auth_core.c:217
#define ABIS_RSL_MDISC_RLL
Definition: gsm_08_58.h:149
@ RSL_IPAC_EIE_HANDO_THRESH
Definition: gsm_08_58.h:814
@ TLV_TYPE_SINGLE_TV
tag and value (both 4 bit) in 1 byte
Definition: tlv.h:516
@ RSL_IE_ERR_MSG
Definition: gsm_08_58.h:334
@ RSL_IE_IMM_ASS_INFO
Definition: gsm_08_58.h:331
#define RSL_ALLOC_HEADROOM
Headroom size for RSL msgb_alloc.
Definition: rsl.c:39
#define RSL_SYSTEM_INFO_2bis
Definition: gsm_08_58.h:655
uint8_t rsl_enc_chan_nr(uint8_t type, uint8_t subch, uint8_t timeslot)
Encode channel number as per Section 9.3.1.
Definition: rsl.c:155
#define RSL_ERR_TRANSC_UNAVAIL
Definition: gsm_08_58.h:622
const char * name
human-readable name of message type (optional)
Definition: tlv.h:672
#define RSL_CHAN_OSMO_CBCH8
Definition: gsm_08_58.h:467
int xres_present
Definition: oap.h:73
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.
Definition: rsl.c:230
@ RSL_IPAC_EIE_OSMO_MS_PWR_CTL
Definition: gsm_08_58.h:837
@ RSL_IE_TFO_STATUS
Definition: gsm_08_58.h:355
@ RSL_IE_RTD
Definition: gsm_08_58.h:354
const char * rsl_rlm_cause_name(uint8_t err)
Get human-readable string for RLM cause.
Definition: rsl.c:477
@ RSL_IE_SUP_CODEC_TYPES
Definition: gsm_08_58.h:352
@ RSL_IE_IPAC_BSCMPL_TOUT
Definition: gsm_08_58.h:376
#define ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(ss)
Definition: gsm_08_58.h:44
@ RSL_MT_IPAC_CRCX_ACK
Definition: gsm_08_58.h:257
@ RSL_MT_REMOTE_CODEC_CONF_REP
Definition: gsm_08_58.h:225
@ RSL_MT_IPAC_DISC_MUX_NACK
Definition: gsm_08_58.h:252
@ RSL_IE_IPAC_RTP_MPLEX_ID
Definition: gsm_08_58.h:391
uint8_t u8
Definition: common.h:27
@ SYSINFO_TYPE_18
Definition: sysinfo.h:29
static __attribute__((constructor))
Definition: tlv_parser.c:461
#define RSL_SYSTEM_INFO_13
Definition: gsm_08_58.h:662
@ RSL_IE_MR_CONFIG
Definition: gsm_08_58.h:350
#define TLVP_PRESENT(x, y)
Definition: tlv.h:556
@ SYSINFO_TYPE_19
Definition: sysinfo.h:30
int rsl_ccch_conf_to_bs_cc_chans(int ccch_conf)
Definition: rsl.c:483
@ RSL_MT_UNIT_DATA_REQ
Definition: gsm_08_58.h:177
static uint8_t * msgb_tl16v_put(struct msgb *msg, uint8_t tag, uint16_t len, const uint8_t *val)
put (append) a TL16V field to Message buffers
Definition: tlv.h:250
@ RSL_MT_IPAC_PDCH_DEACT_ACK
Definition: gsm_08_58.h:242
enum osmo_sysinfo_type osmo_rsl2sitype(uint8_t rsl_si)
Definition: sysinfo.c:225
@ RSL_MT_CHAN_ACTIV
Definition: gsm_08_58.h:203
uint8_t fixed_len
length in case of TLV_TYPE_FIXED
Definition: tlv.h:523
@ SYSINFO_TYPE_1
Definition: sysinfo.h:16
@ RSL_MT_BS_POWER_CONTROL
Definition: gsm_08_58.h:218
void Keccak_f_32(uint32_t s[50])
Definition: KeccakP-1600-3gpp.c:131
uint8_t chan_nr
Definition: gsm_08_58.h:86
@ RSL_MT_CBCH_LOAD_IND
Definition: gsm_08_58.h:199
#define RSL_ACT_INTER_SYNC
Definition: gsm_08_58.h:480
void rxlev_stat_reset(struct rxlev_stats *st)
Definition: rxlev_stat.c:63
static unsigned int msgb_l2len(const struct msgb *msgb)
#define RSL_SYSTEM_INFO_19
Definition: gsm_08_58.h:667
@ RSL_MT_TALKER_DET
Definition: gsm_08_58.h:223
@ OSMO_TLVP_ERR_MAND_IE_MISSING
Definition: tlv.h:50
@ SYSINFO_TYPE_20
Definition: sysinfo.h:31
@ RSL_IE_IPAC_RTP_MPLEX
Definition: gsm_08_58.h:390
#define RSL_ALLOC_SIZE
Size for RSL msgb_alloc.
Definition: rsl.c:37
@ RSL_IE_CHAN_DESC
Definition: gsm_08_58.h:344
uint16_t * arfcn
Definition: sysinfo.h:50
@ RSL_IE_CBCH_LOAD_INFO
Definition: gsm_08_58.h:341
#define RLL_CAUSE_SABM_MF
Definition: gsm_08_58.h:590
@ RSL_MT_MODE_MODIFY_ACK
Definition: gsm_08_58.h:212
@ SYSINFO_TYPE_3
Definition: sysinfo.h:18
#define RSL_SYSTEM_INFO_7
Definition: gsm_08_58.h:652
@ OAP_CLIENT_ID_IE
Definition: oap.h:46
@ RSL_IPAC_EIE_NCELL_LIST_EXT
Definition: gsm_08_58.h:825
@ RSL_MT_IPAC_DLCX_NACK
Definition: gsm_08_58.h:265
#define RSL_ERR_RR_UNAVAIL
Definition: gsm_08_58.h:612
const struct tlv_definition rsl_ipac_eie_tlvdef
TLV parser definitions for IPA embedded IEs.
Definition: rsl.c:596
void rsl_init_rll_hdr(struct abis_rsl_rll_hdr *dh, uint8_t msg_type)
Initialize a RSL RLL header.
Definition: rsl.c:44
uint8_t ie_chan
RSL_IE_CHAN_NR (tag)
Definition: gsm_08_58.h:111
struct msgb * osmo_mncc_stringify(const uint8_t *msg, unsigned int len)
@ RSL_IPAC_EIE_HO_CAUSE
Definition: gsm_08_58.h:819
uint8_t * osmo_encode_big_endian(uint64_t value, size_t data_len)
@ RSL_IE_IPAC_PROXY_UDP
Definition: gsm_08_58.h:375
const char * rsl_chan_nr_str(uint8_t chan_nr)
Get human-readable string for RSL channel number, in static buffer.
Definition: rsl.c:269
@ RSL_IE_OSMO_OSMUX_CID
Definition: gsm_08_58.h:371
#define RSL_ERR_OPT_IE_ERROR
Definition: gsm_08_58.h:636
@ RSL_IE_ENCR_INFO
Definition: gsm_08_58.h:303
@ RSL_IE_GROUP_CALL_REF
Definition: gsm_08_58.h:343
#define ABIS_RSL_MDISC_TRANSP
Definition: gsm_08_58.h:160
@ RSL_MT_DELETE_IND
Definition: gsm_08_58.h:188
@ RSL_MT_CHAN_RQD
Definition: gsm_08_58.h:187
@ SYSINFO_TYPE_2quater
Definition: sysinfo.h:34
const char * rsl_ipac_msg_name(uint8_t msg_type)
Get human-readable name of ip.access RSL msg type.
Definition: rsl.c:442
@ RSL_MT_IPAC_CRCX
Definition: gsm_08_58.h:256
static const uint8_t rsl2sitype[256]
Definition: sysinfo.c:78
uint8_t msg_type
message type (abis_rsl_msgtype)
Definition: gsm_08_58.h:77
#define RSL_ERR_RADIO_LINK_FAIL
Definition: gsm_08_58.h:604
@ OAP_MSGT_REGISTER_ERROR
Definition: oap.h:52
@ RSL_MT_IPAC_PDCH_ACT_NACK
Definition: gsm_08_58.h:240
@ GMM_CAUSE_PROTO_ERR_UNSPEC
Definition: gsm_04_08_gprs.h:250
@ OSMO_TLVP_ERR_OFS_BEYOND_BUFFER
Definition: tlv.h:46
#define RSL_ERR_IE_ERROR
Definition: gsm_08_58.h:634
@ RSL_IE_FULL_BCCH_INFO
Definition: gsm_08_58.h:335
@ RSL_MT_IPAC_CRCX_NACK
Definition: gsm_08_58.h:258
@ RSL_MT_IPAC_BIND_MUX_ACK
Definition: gsm_08_58.h:248
@ RSL_MT_TFO_MOD_REQ
Definition: gsm_08_58.h:233
#define ABIS_RSL_MDISC_COM_CHAN
Definition: gsm_08_58.h:153
#define RSL_ERR_RCH_ALR_ACTV_ALLOC
Definition: gsm_08_58.h:628
uint8_t rand[16]
Definition: oap.h:70
@ RSL_IE_L3_INFO
Definition: gsm_08_58.h:307
@ RSL_IPAC_EIE_OSMO_PC_THRESH_COMP
Definition: gsm_08_58.h:838
#define RSL_SYSTEM_INFO_5
Definition: gsm_08_58.h:650
@ TLV_TYPE_NONE
no type
Definition: tlv.h:509
#define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH8
Definition: gsm_08_58.h:50
@ RSL_MT_MR_CODEC_MOD_REQ
Definition: gsm_08_58.h:228
#define OSMO_EARFCN_MEAS_INVALID
Definition: sysinfo.h:12
struct abis_rsl_common_hdr c
Definition: gsm_08_58.h:83
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.
Definition: rsl.c:280
void logp2(int subsys, unsigned int level, const char *file, int line, int cont, const char *format,...)
@ RSL_MT_MR_CODEC_MOD_ACK
Definition: gsm_08_58.h:229
int osmo_shift_v_fixed(uint8_t **data, size_t *data_len, size_t len, uint8_t **value)
Advance the data pointer, subtract length and assign value pointer.
Definition: tlv_parser.c:478
@ RSL_IE_PREPROC_MEAS
Definition: gsm_08_58.h:330
struct osmo_tlv_prot_ie_def ie_def[256]
definition of IE for each 8-bit tag
Definition: tlv.h:696
#define RSL_ERR_MSG_TYPE
Definition: gsm_08_58.h:632
enum osmo_sub_auth_type type
Definition: auth.h:69
#define RSL_ACT_INTRA_NORM_ASS
Definition: gsm_08_58.h:478
uint8_t autn[16]
Definition: oap.h:72
@ RSL_IPAC_EIE_NCELL_LIST
Definition: gsm_08_58.h:816
int log_check_level(int subsys, unsigned int level)
@ RSL_MT_SACCH_INFO_MODIFY
Definition: gsm_08_58.h:222
#define RSL_ACT_OSMO_PDCH
Definition: gsm_08_58.h:483
@ RSL_MT_TFO_REP
Definition: gsm_08_58.h:232
#define RSL_CHAN_RACH
Definition: gsm_08_58.h:463
@ RSL_IE_TIMING_ADVANCE
Definition: gsm_08_58.h:320
const uint8_t Iota[24]
Definition: KeccakP-1600-3gpp.c:18
struct tlv_definition vtvlv_gan_att_def
Definition: tlv_parser.c:50
#define RSL_SYSTEM_INFO_3
Definition: gsm_08_58.h:648
uint8_t secret_opc[16]
Definition: oap_client.h:57
uint8_t link_id
Definition: gsm_08_58.h:91
Parsed/decoded OAP protocol message.
Definition: oap.h:65
static int oap_evaluate_challenge(const struct osmo_oap_client_state *state, const uint8_t *rx_random, const uint8_t *rx_autn, uint8_t *tx_xres)
Definition: oap_client.c:76
@ SYSINFO_TYPE_5
Definition: sysinfo.h:20
@ RSL_IE_LLP_APDU
Definition: gsm_08_58.h:356
#define RSL_CHAN_Bm_ACCHs
Definition: gsm_08_58.h:458
@ RSL_IE_HANDO_REF
Definition: gsm_08_58.h:305
int tlv_encode_ordered(struct msgb *msg, const struct tlv_definition *def, const struct tlv_parsed *tp, const uint8_t *tag_order, unsigned int tag_order_len)
Encode a set of decoded TLVs according to a given definition and IE order into a message buffer.
Definition: tlv_parser.c:199
int osmo_earfcn_del(struct osmo_earfcn_si2q *e, uint16_t arfcn)
Delete arfcn (and corresponding measurement bandwith) from earfcn struct.
Definition: sysinfo.c:195
static uint8_t * msgb_tvlv_put(struct msgb *msg, uint8_t tag, uint16_t len, const uint8_t *val)
put (append) a TvLV field to Message buffers
Definition: tlv.h:275
@ RSL_MT_MR_CODEC_MOD_NACK
Definition: gsm_08_58.h:230
uint8_t chan_nr
Definition: gsm_04_08.h:248
@ RSL_IE_CODEC_CONFIG
Definition: gsm_08_58.h:353
@ RSL_MT_RF_CHAN_REL_ACK
Definition: gsm_08_58.h:221
@ RSL_MT_EST_CONF
Definition: gsm_08_58.h:172
@ RSL_MT_ENCR_CMD
Definition: gsm_08_58.h:208
#define ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(ss)
Definition: gsm_08_58.h:42
@ RSL_IE_CAUSE
Definition: gsm_08_58.h:322
#define RSL_SYSTEM_INFO_2ter
Definition: gsm_08_58.h:656
int osmo_tlv_prot_parse(const struct osmo_tlv_prot_def *pdef, struct tlv_parsed *dec, unsigned int dec_multiples, uint8_t msg_type, const uint8_t *buf, unsigned int buf_len, uint8_t lv_tag, uint8_t lv_tag2, int log_subsys, const char *log_pfx)
Parse + Validate a TLV-encoded message against the protocol definition.
Definition: tlv_parser.c:729
@ RSL_MT_PREPROC_MEAS_RES
Definition: gsm_08_58.h:220
@ RSL_IE_RACH_LOAD
Definition: gsm_08_58.h:314
@ RSL_IE_IPAC_SRTP_CONFIG
Definition: gsm_08_58.h:374
write Write running configuration to or terminal n Write configuration to the file(same as write file)\n") ALIAS(config_write_file
#define RSL_SYSTEM_INFO_1
Definition: gsm_08_58.h:646
uint8_t msg_discr
message discriminator (ABIS_RSL_MDISC_*)
Definition: gsm_08_58.h:76
#define RSL_BCCH_CCCH_CONF_2_NC
Definition: gsm_08_58.h:723
@ OSMO_TLVP_ERR_IE_TOO_SHORT
Definition: tlv.h:51
@ RSL_MT_RES_REQ
Definition: gsm_08_58.h:181
@ RSL_MT_RF_CHAN_REL
Definition: gsm_08_58.h:216
#define RSL_SYSTEM_INFO_10
Definition: gsm_08_58.h:659
@ RSL_MT_IMMEDIATE_ASSIGN_CMD
Definition: gsm_08_58.h:190
@ RSL_IE_IPAC_CONN_ID
Definition: gsm_08_58.h:385
@ RSL_MT_MEAS_RES
Definition: gsm_08_58.h:210
int rsl_dec_chan_nr(uint8_t chan_nr, uint8_t *type, uint8_t *subch, uint8_t *timeslot)
Decode RSL channel number.
Definition: rsl.c:188
#define RSL_CHAN_OSMO_PDCH
Definition: gsm_08_58.h:465
int osmo_oap_client_init(struct osmo_oap_client_config *config, struct osmo_oap_client_state *state)
Definition: oap_client.c:35
#define RLL_CAUSE_UNSOL_DM_RESP_MF
Definition: gsm_08_58.h:582
@ OSMO_AUTH_ALG_MILENAGE
Definition: auth.h:34
@ RSL_IE_IPAC_RTP_PAYLOAD
Definition: gsm_08_58.h:379
@ OAP_MSGT_REGISTER_RESULT
Definition: oap.h:53
#define RSL_ERR_MAND_IE_ERROR
Definition: gsm_08_58.h:635
@ RSL_IE_CB_CMD_TYPE
Definition: gsm_08_58.h:337
#define LOGP(ss, level, fmt, args...)
struct msgb * msgb_alloc(uint16_t size, const char *name)
uint16_t client_id
Definition: oap_client.h:55
enum osmo_oap_message_type message_type
Definition: oap.h:66
@ SYSINFO_TYPE_2
Definition: sysinfo.h:17
uint16_t client_id
Definition: oap.h:68
@ RSL_MT_IPAC_DISC_MUX_ACK
Definition: gsm_08_58.h:251
@ RSL_IPAC_EIE_MASTER_SALT
Definition: gsm_08_58.h:827
int tlv_encode_one(struct msgb *msg, enum tlv_type type, uint8_t tag, unsigned int len, const uint8_t *val)
Encode a single TLV into given message buffer.
Definition: tlv_parser.c:132
static const char * osmo_mncc_name(uint32_t msg_type)
Definition: mncc.h:96
@ SYSINFO_TYPE_5ter
Definition: sysinfo.h:36
@ RSL_MT_NOT_CMD
Definition: gsm_08_58.h:200
@ _MAX_SYSINFO_TYPE
Definition: sysinfo.h:45
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.
Definition: rsl.c:526
char * osmo_hexdump_nospc(const unsigned char *buf, int len)
@ RSL_IPAC_EIE_AMR_CONV_THRESH
Definition: gsm_08_58.h:833
#define RSL_ERR_EQUIPMENT_FAIL
Definition: gsm_08_58.h:611
@ SYSINFO_TYPE_5bis
Definition: sysinfo.h:35
static int handle_challenge(struct osmo_oap_client_state *state, struct osmo_oap_message *oap_rx, struct msgb **msg_tx)
Definition: oap_client.c:176
@ RSL_MT_IPAC_CONNECT_MUX_NACK
Definition: gsm_08_58.h:246
#define RSL_SYSTEM_INFO_16
Definition: gsm_08_58.h:653
int osmo_match_shift_tlv(uint8_t **data, size_t *data_len, uint8_t tag, uint8_t **value, size_t *value_len)
Verify TLV header and advance data / subtract length.
Definition: tlv_parser.c:544
@ RSL_MT_ERROR_IND
Definition: gsm_08_58.h:170
uint16_t min_len
minimum length of IE value part, in octets
Definition: tlv.h:682
uint8_t msg_type
Definition: gsm_04_08.h:808
@ RSL_IPAC_EIE_NCELL_DEFAULTS
Definition: gsm_08_58.h:815
@ RSL_IE_PAGING_GROUP
Definition: gsm_08_58.h:310
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 fro...
Definition: sysinfo.c:155
int osmo_oap_client_handle(struct osmo_oap_client_state *state, const struct msgb *msg_rx, struct msgb **msg_tx)
Definition: oap_client.c:213
const char * osmo_tlv_prot_ie_name(const struct osmo_tlv_prot_def *pdef, uint8_t iei)
get the IE name for given IEI in protocol pdef
Definition: tlv_parser.c:659
@ RSL_MT_PHY_CONTEXT_CONF
Definition: gsm_08_58.h:215
@ RSL_MT_MR_CODEC_MOD_PER
Definition: gsm_08_58.h:231
@ RSL_MT_OSMO_ETWS_CMD
Definition: gsm_08_58.h:267
@ RSL_IE_MS_POWER
Definition: gsm_08_58.h:309
struct msgb * osmo_oap_client_encoded(const struct osmo_oap_message *oap_msg)
Definition: oap_client.c:129
#define RSL_SYSTEM_INFO_2quater
Definition: gsm_08_58.h:664
int rand_present
Definition: oap.h:69
@ RSL_MT_PAGING_CMD
Definition: gsm_08_58.h:189
@ RSL_IE_IPAC_CONN_STAT
Definition: gsm_08_58.h:383
@ RSL_IE_ACT_TYPE
Definition: gsm_08_58.h:299
bool qrxlm_valid
Definition: sysinfo.h:70
@ RSL_IE_MS_TIMING_OFFSET
Definition: gsm_08_58.h:333
int osmo_shift_lv(uint8_t **data, size_t *data_len, uint8_t **value, size_t *value_len)
Extract LV and advance data pointer + subtract length.
Definition: tlv_parser.c:612
#define RSL_ERR_TALKER_ACC_FAIL
Definition: gsm_08_58.h:606
@ RSL_IE_BS_POWER_PARAM
Definition: gsm_08_58.h:328
#define RLL_CAUSE_UFRM_INC_PARAM
Definition: gsm_08_58.h:585
#define RSL_CHAN_SDCCH4_ACCH
Definition: gsm_08_58.h:460
#define RSL_SYSTEM_INFO_17
Definition: gsm_08_58.h:654
@ RSL_MT_EST_REQ
Definition: gsm_08_58.h:171
@ RSL_IPAC_EIE_3G_HO_PARAM
Definition: gsm_08_58.h:830
@ RSL_IPAC_EIE_MS_PWR_CTL
Definition: gsm_08_58.h:813
Definition: gsm_08_58.h:109
@ RSL_IE_RELEASE_MODE
Definition: gsm_08_58.h:316
@ SYSINFO_TYPE_9
Definition: sysinfo.h:24
#define RSL_BCCH_CCCH_CONF_1_NC
Definition: gsm_08_58.h:721
Definition: gsm_04_08.h:638
const char * name
human-readable name of protocol
Definition: tlv.h:690
@ RSL_MT_CHAN_CONF
Definition: gsm_08_58.h:192
int screen
Definition: mncc.h:37
static uint8_t * msgb_tv_fixed_put(struct msgb *msg, uint8_t tag, unsigned int len, const uint8_t *val)
put (append) a TVfixed field to a Message buffers
Definition: tlv.h:382
#define RSL_ACT_TYPE_REACT
Definition: gsm_08_58.h:476
#define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(ss)
Definition: gsm_08_58.h:54
int auts_present
Definition: oap.h:75
@ OSMO_AUTH_TYPE_UMTS
Definition: auth.h:19
@ RSL_IE_OSMO_TEMP_OVP_ACCH_CAP
Definition: gsm_08_58.h:370
size_t length
Definition: sysinfo.h:55
uint8_t mand_count
number of entries in 'mand_ies' above
Definition: tlv.h:676
static const struct value_string rsl_err_vals[]
Definition: rsl.c:288
EXPORTIT void Keccak_f_32(uint32_t s[50])
Definition: KeccakP-1600-3gpp.c:131
@ RSL_IPAC_EIE_RXLEV
Definition: gsm_08_58.h:807
static const struct value_string rsl_ipac_msgt_names[]
ip.access specific
Definition: rsl.c:411
void osmo_earfcn_init(struct osmo_earfcn_si2q *e)
Initialize earfcn struct.
Definition: sysinfo.c:211
int msgb_printf(struct msgb *msgb, const char *format,...)
result of the TLV parser
Definition: tlv.h:532
@ RSL_MT_IPAC_DIR_RETR_ENQ
Definition: gsm_08_58.h:237
@ RSL_IPAC_EIE_MEAS_TRANS_RES
Definition: gsm_08_58.h:829
int osmo_oap_client_register(struct osmo_oap_client_state *state, struct msgb **msg_tx)
Definition: oap_client.c:153
@ RSL_IPAC_EIE_OSMO_MEAS_AVG_CFG
Definition: gsm_08_58.h:836
int osmo_constant_time_cmp(const uint8_t *exp, const uint8_t *rel, const int count)
@ RSL_MT_UNIT_DATA_IND
Definition: gsm_08_58.h:178
#define RLL_CAUSE_UNSOL_SPRV_RESP
Definition: gsm_08_58.h:583
enum osmo_oap_client_state::@23 state
Definition: oap_client.h:46
#define RSL_SYSTEM_INFO_4
Definition: gsm_08_58.h:649
const char * name
huamn-readable name (optional)
Definition: tlv.h:684
static uint8_t * msgb_tv_put(struct msgb *msg, uint8_t tag, uint8_t val)
put (append) a TV field to a Message buffers
Definition: tlv.h:374
#define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH4
Definition: gsm_08_58.h:49
const uint8_t * mand_ies
array of mandatory IEs
Definition: tlv.h:674
@ RSL_IPAC_EIE_MEAS_AVG_CFG
Definition: gsm_08_58.h:811
@ TLV_TYPE_vTvLV_GAN
variable-length tag, variable-length length
Definition: tlv.h:517
int tlv_dump(struct tlv_parsed *dec)
Dump parsed TLV structure to stdout.
Definition: tlv_parser.c:53
@ TLV_TYPE_TV
tag-value (8bit)
Definition: tlv.h:512
#define TLVP_VAL(x, y)
Definition: tlv.h:558
#define RSL_ACT_INTRA_IMM_ASS
Definition: gsm_08_58.h:477
Definition: rxlev_stat.h:8
uint8_t ie_chan
RSL_IE_CHAN_NR (tag)
Definition: gsm_08_58.h:84
@ RSL_IE_LINK_IDENT
Definition: gsm_08_58.h:298
#define RSL_ERR_ENCR_UNIMPL
Definition: gsm_08_58.h:625
bool prio_valid
Definition: sysinfo.h:68
enum gsm48_gmm_cause cause
Definition: oap.h:67
@ RSL_IE_L1_INFO
Definition: gsm_08_58.h:306
@ SYSINFO_TYPE_4
Definition: sysinfo.h:19
@ RSL_MT_EST_IND
Definition: gsm_08_58.h:173