libosmogsm  0.9.6-14.20170220git32ee5af8.fc33
Osmocom GSM library
aes.h
1 /*
2  * AES functions
3  * Copyright (c) 2003-2006, Jouni Malinen <j@w1.fi>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  *
9  * Alternatively, this software may be distributed under the terms of BSD
10  * license.
11  *
12  * See README and COPYING for more details.
13  */
14 
15 #pragma once
16 
17 #define AES_BLOCK_SIZE 16
18 
19 void * aes_encrypt_init(const u8 *key, size_t len);
20 void aes_encrypt(void *ctx, const u8 *plain, u8 *crypt);
21 void aes_encrypt_deinit(void *ctx);
22 void * aes_decrypt_init(const u8 *key, size_t len);
23 void aes_decrypt(void *ctx, const u8 *crypt, u8 *plain);
24 void aes_decrypt_deinit(void *ctx);
PRIM_DL_REL
@ PRIM_DL_REL
DL-RLEEASE.
Definition: lapd_core.h:22
gsm0503_mcs5_dl_hdr
const struct osmo_conv_code gsm0503_mcs5_dl_hdr
structure describing convolutional code EDGE MCS-5 DL HDR
Definition: gsm0503_conv.c:1186
_a5_12_clock
static uint32_t _a5_12_clock(uint32_t r, uint32_t mask, uint32_t taps)
Compute the next LFSR state.
Definition: a5.c:156
PRIM_DL_EST
@ PRIM_DL_EST
DL-ESTABLISH.
Definition: lapd_core.h:21
lapdm_channel_set_mode
int lapdm_channel_set_mode(struct lapdm_channel *lc, enum lapdm_mode mode)
Set the lapdm_mode of a LAPDm channel.
Definition: lapdm.c:1265
osmo_gsup_pdp_info::qos_enc_len
size_t qos_enc_len
Definition: gsup.h:128
gsm_mncc_facility
Definition: mncc.h:60
_a5_2
void _a5_2(const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul)
Generate a GSM A5/1 cipher stream.
Definition: a5.c:337
osmo_auth_supported
int osmo_auth_supported(enum osmo_auth_algo algo)
Determine if a given authentication algorithm is supported.
Definition: auth_core.c:85
lapdm_entity::last_tx_dequeue
int last_tx_dequeue
last entity that was dequeued
Definition: lapdm.h:54
ABIS_OM_MDISC_TRAU
#define ABIS_OM_MDISC_TRAU
Message Discriminator for TRAU management.
Definition: gsm_12_21.h:56
abis_nm_fail_evt_vrep
struct msgb * abis_nm_fail_evt_vrep(enum abis_nm_event_type t, enum abis_nm_severity s, enum abis_nm_pcause_type ct, uint16_t cause_value, const char *fmt, va_list ap)
Pack 3GPP TS 12.21 § 8.8.2 Failure Event Report into msgb.
Definition: abis_nm.c:545
abis_nm_severity_name
const char * abis_nm_severity_name(uint8_t cause)
Get human-readable string for perceived OML severity.
Definition: abis_nm.c:248
osmo_match_shift_tlv
int osmo_match_shift_tlv(uint8_t **data, size_t *data_len, uint8_t tag, uint8_t **value, size_t *value_len)
Definition: tlv_parser.c:361
ph_rach_ind_param::fn
uint32_t fn
GSM Frame Number at time of RA.
Definition: l1sap.h:62
gsm0503_tch_ahs_6_7
const struct osmo_conv_code gsm0503_tch_ahs_6_7
structure describing convolutional code TCH/AHS 6.7
Definition: gsm0503_conv.c:904
gsm0503_tch_ahs_7_4
const struct osmo_conv_code gsm0503_tch_ahs_7_4
structure describing convolutional code TCH/AHS 7.4
Definition: gsm0503_conv.c:859
gsm48_req_ref
Definition: gsm_04_08.h:467
gsm_freq_range
Definition: gsm_utils.c:590
tlv_p_entry::val
const uint8_t * val
pointer to value
Definition: tlv.h:365
gsm48_range_512
Definition: gsm_04_08.h:152
rsl_tlv_parse
#define rsl_tlv_parse(dec, buf, len)
Parse RSL TLV structure using tlv_parse.
Definition: rsl.h:21
smrdownstate
Definition: gsm0411_smr.c:372
link_id
uint8_t link_id
RSL link identifier (value)
Definition: gsm_08_58.h:4
lapdm_channel_set_flags
void lapdm_channel_set_flags(struct lapdm_channel *lc, unsigned int flags)
Set the flags of all LAPDm entities in a LAPDm channel.
Definition: lapdm.c:1320
LAPD_MODE_NETWORK
@ LAPD_MODE_NETWORK
behave like network
Definition: lapd_core.h:68
PRIM_DL_SUSP
@ PRIM_DL_SUSP
DL-SUSPEND.
Definition: lapd_core.h:23
osmo_phsap_prim
primitive header for PH-SAP primitives
Definition: l1sap.h:139
LAPDM_MODE_MS
@ LAPDM_MODE_MS
behave like a MS (mobile phone)
Definition: lapdm.h:14
lapdm_entity::mode
enum lapdm_mode mode
are we in BTS mode or MS mode
Definition: lapdm.h:56
osmo_auth_register
int osmo_auth_register(struct osmo_auth_impl *impl)
Register an authentication algorithm implementation with the core.
Definition: auth_core.c:51
osmo_phsap_prim::oph
struct osmo_prim_hdr oph
generic primitive header
Definition: l1sap.h:140
abis_nm_att_settable
enum abis_nm_attr abis_nm_att_settable[]
Attributes that the BSC can set, not only get, according to Section 9.4.
Definition: abis_nm.c:265
lapdm_channel::lapdm_dcch
struct lapdm_entity lapdm_dcch
Dedicated Control Channel.
Definition: lapdm.h:77
smcdatastate
Definition: gsm0411_smc.c:475
abis_nm_t200_ms
const uint8_t abis_nm_t200_ms[]
3GPP TS 12.21 9.4.53 T200 values (in msec)
Definition: abis_nm.c:254
l2downstate
Definition: lapd_core.c:2141
lapdm_channel_reset
void lapdm_channel_reset(struct lapdm_channel *lc)
Reset a LAPDm channel with all its entities.
Definition: lapdm.c:1307
gsm_12_21.h
gsm0503_rach
const struct osmo_conv_code gsm0503_rach
structure describing convolutional code RACH
Definition: gsm0503_conv.c:95
osmo_a5
int osmo_a5(int n, const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul)
Main method to generate a A5/x cipher stream.
Definition: a5.c:414
abis_nm_event_type
abis_nm_event_type
Event Type (Section 9.4.16)
Definition: gsm_12_21.h:572
gsm0503_mcs7_dl_hdr
const struct osmo_conv_code gsm0503_mcs7_dl_hdr
structure describing convolutional code EDGE MCS-7 DL HDR
Definition: gsm0503_conv.c:1248
gsm0503_xcch
const struct osmo_conv_code gsm0503_xcch
structure describing convolutional code xCCH
Definition: gsm0503_conv.c:84
abis_nm_reports
enum abis_nm_msgtype abis_nm_reports[4]
unidirectional messages from BTS to BSC
Definition: abis_nm.c:43
osmo_auth_load
int osmo_auth_load(const char *path)
Load all available authentication plugins from the given path.
Definition: auth_core.c:72
gsm_time
Definition: gsm_utils.h:40
ipaccess_head_ext
Definition: ipaccess.h:14
osmo_shift_tlv
int osmo_shift_tlv(uint8_t **data, size_t *data_len, uint8_t *tag, uint8_t **value, size_t *value_len)
Definition: tlv_parser.c:389
LAPD_MODE_USER
@ LAPD_MODE_USER
behave like user
Definition: lapd_core.h:67
abis_nm_nack_cause_name
const char * abis_nm_nack_cause_name(uint8_t cause)
Get human-readable string for NACK cause.
Definition: abis_nm.c:215
_a5_12_parity
static uint32_t _a5_12_parity(uint32_t x)
Computes parity of a 32-bit word.
Definition: a5.c:128
ph_rach_ind_param::acc_delay
uint8_t acc_delay
Delay in bit periods.
Definition: l1sap.h:61
gsm_mncc_number
Definition: mncc.h:31
osmo_gsup_pdp_info::apn_enc
const uint8_t * apn_enc
Definition: gsup.h:121
gsm411_smc_inst
Definition: gsm0411_smc.h:25
lapdm_entity::l3_ctx
void * l3_ctx
context for layer3 instance
Definition: lapdm.h:60
PRIM_DL_UNIT_DATA
@ PRIM_DL_UNIT_DATA
DL-UNIT-DATA.
Definition: lapd_core.h:19
gsm_mncc_cause
Definition: mncc.h:39
lapd_set_mode
int lapd_set_mode(struct lapd_datalink *dl, enum lapd_mode mode)
Set the lapdm_mode of a LAPDm entity.
Definition: lapd_core.c:333
gsm_mncc_bearer_cap
Definition: mncc.h:10
osmo_auth_gen_vec_auts
int osmo_auth_gen_vec_auts(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *auts, const uint8_t *rand_auts, const uint8_t *_rand)
Generate authentication vector and re-sync sequence.
Definition: auth_core.c:185
gsm0503_tch_afs_6_7
const struct osmo_conv_code gsm0503_tch_afs_6_7
structure describing convolutional code TCH/AFS 6.7
Definition: gsm0503_conv.c:464
TLV_TYPE_FIXED
@ TLV_TYPE_FIXED
fixed-length value-only
Definition: tlv.h:371
lapdm_phsap_dequeue_prim
int lapdm_phsap_dequeue_prim(struct lapdm_entity *le, struct osmo_phsap_prim *pp)
dequeue a msg that's pending transmission via L1 and wrap it into a osmo_phsap_prim
Definition: lapdm.c:292
tlv_p_entry::len
uint16_t len
length
Definition: tlv.h:364
msgb_v_put
static uint8_t * msgb_v_put(struct msgb *msg, uint8_t val)
put (append) a V field to a msgb
Definition: tlv.h:290
osmo_dlsap_prim::oph
struct osmo_prim_hdr oph
generic primitive header
Definition: lapd_core.h:58
gsm0503_mcs1_ul_hdr
const struct osmo_conv_code gsm0503_mcs1_ul_hdr
structure describing convolutional code EDGE MCS-1 UL HDR
Definition: gsm0503_conv.c:1110
abis_nm_pcause_type
abis_nm_pcause_type
Probable Cause Type (Section 9.4.43)
Definition: gsm_12_21.h:591
gsm0503_tch_afs_4_75
const struct osmo_conv_code gsm0503_tch_afs_4_75
structure describing convolutional code TCH/AFS 4.75
Definition: gsm0503_conv.c:691
TLV_TYPE_T
@ TLV_TYPE_T
tag-only
Definition: tlv.h:372
gprs_ra_id
Definition: gsm48.h:11
gsm0503_sch
const struct osmo_conv_code gsm0503_sch
structure describing convolutional code SCH
Definition: gsm0503_conv.c:106
smcdownstate
Definition: gsm0411_smc.c:414
lapdm_rslms_recvmsg
int lapdm_rslms_recvmsg(struct msgb *msg, struct lapdm_channel *lc)
Receive a RSLms msgb from Layer 3.
Definition: lapdm.c:1211
ph_rach_ind_param::ra
uint16_t ra
Random Access.
Definition: l1sap.h:60
osmo_gsup_pdp_info::qos_enc
const uint8_t * qos_enc
Definition: gsup.h:126
abis_nm_msg_disc_names
const struct value_string abis_nm_msg_disc_names[]
Human-readable strings for A-bis OML Object Class.
Definition: abis_nm.c:420
msgb_tv16_push
static uint8_t * msgb_tv16_push(struct msgb *msg, uint8_t tag, uint16_t val)
push (prepend) a TV16 field to a msgb
Definition: tlv.h:324
gsm411_rp_hdr
Definition: gsm_04_11.h:102
lapdm_phsap_up
int lapdm_phsap_up(struct osmo_prim_hdr *oph, struct lapdm_entity *le)
Receive a PH-SAP primitive from L1.
Definition: lapdm.c:715
rsl_msg_name
const char * rsl_msg_name(uint8_t err)
Get human-readable string for RSL Message Type.
Definition: rsl.c:344
lapdm_entity_init
void lapdm_entity_init(struct lapdm_entity *le, enum lapdm_mode mode, int t200)
initialize a LAPDm entity and all datalinks inside
Definition: lapdm.c:151
abis_rsl_common_hdr
RSL common header.
Definition: gsm_08_58.h:34
_a5_1
void _a5_1(const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul)
Generate a GSM A5/1 cipher stream.
Definition: a5.c:216
msgb_lv_put
static uint8_t * msgb_lv_put(struct msgb *msg, uint8_t len, const uint8_t *val)
put (append) a LV field to a msgb
Definition: tlv.h:257
gsm0503_tch_afs_5_15
const struct osmo_conv_code gsm0503_tch_afs_5_15
structure describing convolutional code TCH/AFS 5.15
Definition: gsm0503_conv.c:605
abis_nm_attr
abis_nm_attr
OML Attributes / IEs (Section 9.4)
Definition: gsm_12_21.h:321
ss_request
Definition: gsm0480.h:21
_a5_1_clock
static void _a5_1_clock(uint32_t r[], int force)
GSM A5/1 Clocking function.
Definition: a5.c:175
lapdm_channel
the two lapdm_entities that form a GSM logical channel (ACCH + DCCH)
Definition: lapdm.h:73
osmo_dlsap_prim
primitive header for LAPD DL-SAP primitives
Definition: lapd_core.h:57
ph_data_param::link_id
uint8_t link_id
Link Identifier (Like RSL)
Definition: l1sap.h:69
TLV_TYPE_TLV
@ TLV_TYPE_TLV
tag-length-value
Definition: tlv.h:374
gsm48_range_256
Definition: gsm_04_08.h:229
gsm_mncc_progress
Definition: mncc.h:54
tlv_definition
Definition of All 256 IE / TLV.
Definition: tlv.h:388
osmo_auth_3g_from_2g
int osmo_auth_3g_from_2g(struct osmo_auth_vector *vec)
Generate 3G CK + IK from 2G authentication vector.
Definition: auth_core.c:123
gsm0503_mcs9
const struct osmo_conv_code gsm0503_mcs9
structure describing convolutional code EDGE MCS-9
Definition: gsm0503_conv.c:1310
gsm48_range_1024
Definition: gsm_04_08.h:81
abis_rsl_rll_hdr
Definition: gsm_08_58.h:41
osmo_gsup_pdp_info
Definition: gsup.h:114
abis_nm_fail_evt_rep
struct msgb * abis_nm_fail_evt_rep(enum abis_nm_event_type t, enum abis_nm_severity s, enum abis_nm_pcause_type ct, uint16_t cause_value, const char *fmt,...)
Pack 3GPP TS 12.21 § 8.8.2 Failure Event Report into msgb.
Definition: abis_nm.c:529
gsm0503_tch_afs_12_2
const struct osmo_conv_code gsm0503_tch_afs_12_2
structure describing convolutional code TCH/AFS 12.2
Definition: gsm0503_conv.c:218
dtap_header
Definition: gsm_08_08.h:36
gsm0503_tch_hr
const struct osmo_conv_code gsm0503_tch_hr
structure describing convolutional code TCH/HR
Definition: gsm0503_conv.c:766
LAPDM_MODE_BTS
@ LAPDM_MODE_BTS
behave like a BTS (network)
Definition: lapdm.h:15
rsl_rll_push_l3
void rsl_rll_push_l3(struct msgb *msg, uint8_t msg_type, uint8_t chan_nr, uint8_t link_id, int transparent)
Push a RSL RLL header with L3_INFO IE.
Definition: rsl.c:476
ipaccess_head
Definition: ipaccess.h:8
gsm0503_cs2
const struct osmo_conv_code gsm0503_cs2
structures describing convolutional codes CS2/3
Definition: gsm0503_conv.c:134
dl_rel_req_param::mode
uint8_t mode
release mode
Definition: lapd_core.h:53
LAPD_U_SABM
#define LAPD_U_SABM
Definition: lapd_core.c:88
gsm_sysinfo_freq
Definition: gsm48_ie.h:107
PRIM_MDL_ERROR
@ PRIM_MDL_ERROR
MDL-ERROR.
Definition: lapd_core.h:26
abis_nm_event_type_name
const char * abis_nm_event_type_name(uint8_t cause)
Get human-readable string for OML event type.
Definition: abis_nm.c:231
osmo_gsup_pdp_info::apn_enc_len
size_t apn_enc_len
Definition: gsup.h:123
abis_rsl_cchan_hdr::data
uint8_t data[0]
message payload data
Definition: gsm_08_58.h:63
lapdm_channel_set_l1
void lapdm_channel_set_l1(struct lapdm_channel *lc, osmo_prim_cb cb, void *ctx)
Set the L1 callback and context of a LAPDm channel.
Definition: lapdm.c:1277
TLV_TYPE_TL16V
@ TLV_TYPE_TL16V
tag, 16 bit length, value
Definition: tlv.h:375
gsm0503_mcs1
const struct osmo_conv_code gsm0503_mcs1
structure describing convolutional code EDGE MCS-1
Definition: gsm0503_conv.c:1126
rsl_init_cchan_hdr
void rsl_init_cchan_hdr(struct abis_rsl_cchan_hdr *ch, uint8_t msg_type)
Initialize a RSL Common Channel header.
Definition: rsl.c:52
gsm0503_mcs7_ul_hdr
const struct osmo_conv_code gsm0503_mcs7_ul_hdr
structure describing convolutional code EDGE MCS-7 UL HDR
Definition: gsm0503_conv.c:1264
abis_om_fom_hdr
OML Object Instance.
Definition: gsm_12_21.h:77
lapdm_channel_set_l3
void lapdm_channel_set_l3(struct lapdm_channel *lc, lapdm_cb_t cb, void *ctx)
Set the L3 callback and context of a LAPDm channel.
Definition: lapdm.c:1286
lapdm_entity::l1_prim_cb
osmo_prim_cb l1_prim_cb
callback for sending prims to L1
Definition: lapdm.h:62
abis_nm_sw_load_msgs
enum abis_nm_msgtype abis_nm_sw_load_msgs[9]
messages related to software load
Definition: abis_nm.c:58
lapd_history
Definition: lapd_core.h:117
msgb_tlv_put
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 msgb
Definition: tlv.h:265
lapdm_entity::tx_pending
int tx_pending
currently a pending frame not confirmed by L1
Definition: lapdm.h:55
rsl_rll_simple
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:492
abis_nm_nacks
enum abis_nm_msgtype abis_nm_nacks[33]
All NACKs (negative acknowledgements.
Definition: abis_nm.c:72
gsm0503_tch_fr
const struct osmo_conv_code gsm0503_tch_fr
structure describing convolutional code TCH/FR
Definition: gsm0503_conv.c:705
osmo_auth_gen_vec
int osmo_auth_gen_vec(struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand)
Generate authentication vector.
Definition: auth_core.c:151
lapdm_entity::l1_ctx
void * l1_ctx
context for layer1 instance
Definition: lapdm.h:59
TLV_TYPE_SINGLE_TV
@ TLV_TYPE_SINGLE_TV
tag and value (both 4 bit) in 1 byte
Definition: tlv.h:377
abis_nm_att_tlvdef_ipa
const struct tlv_definition abis_nm_att_tlvdef_ipa
GSM A-bis OML IPA TLV parser definition.
Definition: abis_nm.c:294
lapdm_entity
a LAPDm Entity
Definition: lapdm.h:51
gsm0503_tch_afs_7_4
const struct osmo_conv_code gsm0503_tch_afs_7_4
structure describing convolutional code TCH/AFS 7.4
Definition: gsm0503_conv.c:408
PRIM_DL_RECON
@ PRIM_DL_RECON
DL-RECONNECT.
Definition: lapd_core.h:25
osmo_gsup_message
Definition: gsup.h:132
_a5_2_get_output
static uint8_t _a5_2_get_output(uint32_t r[])
GSM A5/2 Output function.
Definition: a5.c:314
length
uint8_t length
Length in octets.
Definition: gsm_12_21.h:7
abis_nm.h
ABIS_OM_MDISC_MMI
#define ABIS_OM_MDISC_MMI
Message Discriminator for Man Machine Interface.
Definition: gsm_12_21.h:54
ph_data_param::chan_nr
uint8_t chan_nr
Channel Number (Like RSL)
Definition: l1sap.h:70
gsm0503_tch_ahs_5_15
const struct osmo_conv_code gsm0503_tch_ahs_5_15
structure describing convolutional code TCH/AHS 5.15
Definition: gsm0503_conv.c:996
msgb_tl16v_put
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 msgb
Definition: tlv.h:180
abis_nm_adm_state_names
const struct value_string abis_nm_adm_state_names[]
Human-readable names for OML administrative state.
Definition: abis_nm.c:504
gsm_mncc_ssversion
Definition: mncc.h:65
gsm0503_mcs4
const struct osmo_conv_code gsm0503_mcs4
structure describing convolutional code EDGE MCS-4
Definition: gsm0503_conv.c:1171
gsm48_control_channel_descr
Definition: gsm_04_08.h:622
abis_rsl_rll_hdr::chan_nr
uint8_t chan_nr
RSL channel number (value)
Definition: gsm_08_58.h:44
data
uint8_t data[0]
actual payload data
Definition: gsm_08_58.h:2
gsm_mncc_useruser
Definition: mncc.h:49
osmo_phsap_prim::u
union osmo_phsap_prim::@1 u
request-specific data
lapdm_entity_exit
void lapdm_entity_exit(struct lapdm_entity *le)
flush and release all resoures in LAPDm entity
Definition: lapdm.c:176
abis_nm_osmo_att_tlvdef
const struct tlv_definition abis_nm_osmo_att_tlvdef
org.osmocom GSM A-bis OML TLV parser definition
Definition: abis_nm.c:413
PRIM_DL_RES
@ PRIM_DL_RES
DL-RESUME.
Definition: lapd_core.h:24
gsm0503_mcs7
const struct osmo_conv_code gsm0503_mcs7
structure describing convolutional code EDGE MCS-7
Definition: gsm0503_conv.c:1280
gsm0503_mcs1_dl_hdr
const struct osmo_conv_code gsm0503_mcs1_dl_hdr
structure describing convolutional code EDGE MCS-1 DL HDR
Definition: gsm0503_conv.c:1094
abis_nm_nack_name
const char * abis_nm_nack_name(uint8_t nack)
Get human-readable string for OML NACK message type.
Definition: abis_nm.c:147
msg_type
uint8_t msg_type
message type (abis_rsl_msgtype)
Definition: gsm_08_58.h:1
gsm0503_tch_afs_7_95
const struct osmo_conv_code gsm0503_tch_afs_7_95
structure describing convolutional code TCH/AFS 7.95
Definition: gsm0503_conv.c:361
abis_nm_debugp_foh
#define abis_nm_debugp_foh(ss, foh)
write a human-readable OML header to the debug log
Definition: abis_nm.h:43
gsm_mncc_cccap
Definition: mncc.h:70
abis_rsl_common_hdr::msg_type
uint8_t msg_type
message type (abis_rsl_msgtype)
Definition: gsm_08_58.h:36
gsm0503_tch_afs_5_9
const struct osmo_conv_code gsm0503_tch_afs_5_9
structure describing convolutional code TCH/AFS 5.9
Definition: gsm0503_conv.c:549
lapdm_entity::l3_cb
lapdm_cb_t l3_cb
callback for sending stuff to L3
Definition: lapdm.h:63
osmo_gsup_pdp_info::pdp_type
uint16_t pdp_type
Definition: gsup.h:118
lapd_mode
lapd_mode
LAPD mode/role.
Definition: lapd_core.h:66
_a5_2_clock
static void _a5_2_clock(uint32_t r[], int force)
GSM A5/2 Clocking function.
Definition: a5.c:287
gsm_meas_rep_unidir
Definition: meas_rep.h:13
lapdm_entity::datalink
struct lapdm_datalink datalink[_NR_DL_SAPI]
the SAPIs of the LAPDm entity
Definition: lapdm.h:53
_a5_4
void _a5_4(const uint8_t *ck, uint32_t fn, ubit_t *dl, ubit_t *ul, bool fn_correct)
Generate a GSM A5/4 cipher stream.
Definition: a5.c:67
lapd_msg_ctx
LAPD message context.
Definition: lapd_core.h:93
gsm0503_mcs3
const struct osmo_conv_code gsm0503_mcs3
structure describing convolutional code EDGE MCS-3
Definition: gsm0503_conv.c:1156
gsm341_ms_message
Definition: gsm_03_41.h:19
osmo_shift_v_fixed
int osmo_shift_v_fixed(uint8_t **data, size_t *data_len, size_t len, uint8_t **value)
Definition: tlv_parser.c:295
gsm0503_tch_ahs_5_9
const struct osmo_conv_code gsm0503_tch_ahs_5_9
structure describing convolutional code TCH/AHS 5.9
Definition: gsm0503_conv.c:947
a5.h
Osmocom GSM A5 ciphering algorithm header.
gsm48_var_bit
Definition: gsm_04_08.h:358
osmo_dlsap_prim::u
union osmo_dlsap_prim::@2 u
request-specific data
gsm48_cell_options
Definition: gsm_04_08.h:640
abis_rsl_rll_hdr::link_id
uint8_t link_id
RSL link identifier (value)
Definition: gsm_08_58.h:46
lapdm_entity_reset
void lapdm_entity_reset(struct lapdm_entity *le)
Reset an entire LAPDm entity and all its datalinks.
Definition: lapdm.c:1295
abis_nm_test_name
const char * abis_nm_test_name(uint8_t test)
Get human-readable string for OML test.
Definition: abis_nm.c:498
lapdm_channel::lapdm_acch
struct lapdm_entity lapdm_acch
Associated Control Channel.
Definition: lapdm.h:76
abis_rsl_common_hdr::msg_discr
uint8_t msg_discr
message discriminator (ABIS_RSL_MDISC_*)
Definition: gsm_08_58.h:35
lapdm_channel::name
char * name
human-readable name
Definition: lapdm.h:75
abis_nm_chcomb4pchan
int abis_nm_chcomb4pchan(enum gsm_phys_chan_config pchan)
Obtain OML Channel Combination for phnsical channel config.
Definition: abis_nm.c:580
gsm0503_mcs8
const struct osmo_conv_code gsm0503_mcs8
structure describing convolutional code EDGE MCS-8
Definition: gsm0503_conv.c:1295
abis_nm_obj_class_names
const struct value_string abis_nm_obj_class_names[]
Human-readable strings for A-bis OML Object Class.
Definition: abis_nm.c:429
bitvec_add_range1024
void bitvec_add_range1024(struct bitvec *bv, const struct gsm48_range_1024 *r)
append range1024 encoded data to bit vector
Definition: gsm_utils.c:681
_a5_1_get_output
static uint8_t _a5_1_get_output(uint32_t r[])
GSM A5/1 Output function.
Definition: a5.c:200
gsm0503_mcs6
const struct osmo_conv_code gsm0503_mcs6
structure describing convolutional code EDGE MCS-6
Definition: gsm0503_conv.c:1233
ussd_request
Definition: gsm0480.h:11
lapdm_entity_set_flags
void lapdm_entity_set_flags(struct lapdm_entity *le, unsigned int flags)
Set the flags of a LAPDm entity.
Definition: lapdm.c:1314
msgb_tv_push
static uint8_t * msgb_tv_push(struct msgb *msg, uint8_t tag, uint8_t val)
push (prepend) a TV field to a msgb
Definition: tlv.h:315
osmo_a5_fn_count
static uint32_t osmo_a5_fn_count(uint32_t fn)
Converts a frame number into the 22 bit number used in A5/x.
Definition: a5.h:43
lapdm_entity_set_mode
int lapdm_entity_set_mode(struct lapdm_entity *le, enum lapdm_mode mode)
Set the lapdm_mode of a LAPDm entity.
Definition: lapdm.c:1239
abis_nm_att_tlvdef
const struct tlv_definition abis_nm_att_tlvdef
GSM A-bis OML TLV parser definition.
Definition: abis_nm.c:343
abis_nm_no_ack_nack
enum abis_nm_msgtype abis_nm_no_ack_nack[3]
messages without ACK/NACK
Definition: abis_nm.c:51
gsm0503_mcs5
const struct osmo_conv_code gsm0503_mcs5
structure describing convolutional code EDGE MCS-5
Definition: gsm0503_conv.c:1218
lapdm_channel_init
void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode)
initialize a LAPDm channel and all its channels
Definition: lapdm.c:168
rsl_rll_push_hdr
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:459
gsm48_loc_area_id
Definition: gsm_04_08.h:570
tlv.h
gsm0503_tch_afs_10_2
const struct osmo_conv_code gsm0503_tch_afs_10_2
structure describing convolutional code TCH/AFS 10.2
Definition: gsm0503_conv.c:279
abis_nm_avail_name
const char * abis_nm_avail_name(uint8_t avail)
Get human-readable string for OML Availability State.
Definition: abis_nm.c:480
ABIS_OM_MDISC_MANUF
#define ABIS_OM_MDISC_MANUF
Message Discriminator for Manufacturer Specific Messages.
Definition: gsm_12_21.h:58
_a5_12_majority
static uint32_t _a5_12_majority(uint32_t v1, uint32_t v2, uint32_t v3)
Compute majority bit from 3 taps.
Definition: a5.c:144
gsm_08_58.h
abis_nm_msgtype
abis_nm_msgtype
OML Message Type (Section 9.1)
Definition: gsm_12_21.h:88
gsm411_smr_inst
Definition: gsm0411_smr.h:12
abis_rsl_rll_hdr::data
uint8_t data[0]
message payload data
Definition: gsm_08_58.h:47
abis_nm_pchan4chcomb
enum gsm_phys_chan_config abis_nm_pchan4chcomb(uint8_t chcomb)
Obtain physical channel config for OML Channel Combination.
Definition: abis_nm.c:589
abis_rsl_cchan_hdr::chan_nr
uint8_t chan_nr
RSL channel number (value)
Definition: gsm_08_58.h:62
gsm0503_cs3
const struct osmo_conv_code gsm0503_cs3
Definition: gsm0503_conv.c:170
gsm48_range_128
Definition: gsm_04_08.h:314
smrdatastate
Definition: gsm0411_smr.c:424
abis_rsl_cchan_hdr
Definition: gsm_08_58.h:59
ipaccess_unit
Definition: ipa.h:11
gsm0503_tch_ahs_7_95
const struct osmo_conv_code gsm0503_tch_ahs_7_95
structure describing convolutional code TCH/AHS 7.95
Definition: gsm0503_conv.c:812
lapdm_msg_ctx
LAPDm message context.
Definition: lapdm.h:21
lapdm_mode
lapdm_mode
LAPDm mode/role.
Definition: lapdm.h:13
msgb_tv_fixed_put
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 msgb
Definition: tlv.h:281
PRIM_DL_DATA
@ PRIM_DL_DATA
DL-DATA.
Definition: lapd_core.h:20
abis_nm_severity
abis_nm_severity
Perceived Severity (Section: 9.4.63)
Definition: gsm_12_21.h:581
ABIS_OM_MDISC_FOM
#define ABIS_OM_MDISC_FOM
Message Discriminator for Formatted Object Messages.
Definition: gsm_12_21.h:52
gsm0503_tch_ahs_4_75
const struct osmo_conv_code gsm0503_tch_ahs_4_75
structure describing convolutional code TCH/AHS 4.75
Definition: gsm0503_conv.c:1076
tlv_parsed
result of the TLV parser
Definition: tlv.h:393
chan_nr
uint8_t chan_nr
RSL channel number (value)
Definition: gsm_08_58.h:2
gsm48_hdr
Definition: gsm_04_08.h:598
gsm0503_mcs5_ul_hdr
const struct osmo_conv_code gsm0503_mcs5_ul_hdr
structure describing convolutional code EDGE MCS-5 UL HDR
Definition: gsm0503_conv.c:1202
rsl.h
gsm0503_mcs2
const struct osmo_conv_code gsm0503_mcs2
structure describing convolutional code EDGE MCS-2
Definition: gsm0503_conv.c:1141
osmo_auth_alg_parse
enum osmo_auth_algo osmo_auth_alg_parse(const char *name)
Parse human-readable name of authentication algorithm.
Definition: auth_core.c:215
msgb_tv_put
static uint8_t * msgb_tv_put(struct msgb *msg, uint8_t tag, uint8_t val)
put (append) a TV field to a msgb
Definition: tlv.h:273
lapd_core.h
TLV_TYPE_TV
@ TLV_TYPE_TV
tag-value (8bit)
Definition: tlv.h:373
abis_nm_opstate_name
const char * abis_nm_opstate_name(uint8_t os)
Get human-readable string for OML Operational State.
Definition: abis_nm.c:451
osmo_auth_alg_name
const char * osmo_auth_alg_name(enum osmo_auth_algo alg)
Get human-readable name of authentication algorithm.
Definition: auth_core.c:209
lapdm.h
_a5_3
void _a5_3(const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul, bool fn_correct)
Generate a GSM A5/3 cipher stream.
Definition: a5.c:96