libosmogsm
0.9.6-14.20170220git32ee5af8.fc33
Osmocom GSM library
|
17 #define AES_BLOCK_SIZE 16
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
DL-RLEEASE.
Definition: lapd_core.h:22
const struct osmo_conv_code gsm0503_mcs5_dl_hdr
structure describing convolutional code EDGE MCS-5 DL HDR
Definition: gsm0503_conv.c:1186
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
DL-ESTABLISH.
Definition: lapd_core.h:21
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
size_t qos_enc_len
Definition: gsup.h:128
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
int osmo_auth_supported(enum osmo_auth_algo algo)
Determine if a given authentication algorithm is supported.
Definition: auth_core.c:85
int last_tx_dequeue
last entity that was dequeued
Definition: lapdm.h:54
#define ABIS_OM_MDISC_TRAU
Message Discriminator for TRAU management.
Definition: gsm_12_21.h:56
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
const char * abis_nm_severity_name(uint8_t cause)
Get human-readable string for perceived OML severity.
Definition: abis_nm.c:248
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
uint32_t fn
GSM Frame Number at time of RA.
Definition: l1sap.h:62
const struct osmo_conv_code gsm0503_tch_ahs_6_7
structure describing convolutional code TCH/AHS 6.7
Definition: gsm0503_conv.c:904
const struct osmo_conv_code gsm0503_tch_ahs_7_4
structure describing convolutional code TCH/AHS 7.4
Definition: gsm0503_conv.c:859
Definition: gsm_04_08.h:467
int send_out
how much was sent from send_buffer
Definition: lapd_core.h:156
Definition: gsm_utils.c:590
const uint8_t * val
pointer to value
Definition: tlv.h:365
Definition: gsm_04_08.h:152
#define rsl_tlv_parse(dec, buf, len)
Parse RSL TLV structure using tlv_parse.
Definition: rsl.h:21
Definition: gsm0411_smr.c:372
uint8_t link_id
RSL link identifier (value)
Definition: gsm_08_58.h:4
int use_sabme
use SABME instead of SABM
Definition: lapd_core.h:134
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
behave like network
Definition: lapd_core.h:68
@ PRIM_DL_SUSP
DL-SUSPEND.
Definition: lapd_core.h:23
primitive header for PH-SAP primitives
Definition: l1sap.h:139
@ LAPDM_MODE_MS
behave like a MS (mobile phone)
Definition: lapdm.h:14
enum lapdm_mode mode
are we in BTS mode or MS mode
Definition: lapdm.h:56
int osmo_auth_register(struct osmo_auth_impl *impl)
Register an authentication algorithm implementation with the core.
Definition: auth_core.c:51
struct osmo_prim_hdr oph
generic primitive header
Definition: l1sap.h:140
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
struct lapdm_entity lapdm_dcch
Dedicated Control Channel.
Definition: lapdm.h:77
Definition: gsm0411_smc.c:475
const uint8_t abis_nm_t200_ms[]
3GPP TS 12.21 9.4.53 T200 values (in msec)
Definition: abis_nm.c:254
Definition: lapd_core.c:2141
void lapdm_channel_reset(struct lapdm_channel *lc)
Reset a LAPDm channel with all its entities.
Definition: lapdm.c:1307
enum lapd_mode mode
current mode of link
Definition: lapd_core.h:133
const struct osmo_conv_code gsm0503_rach
structure describing convolutional code RACH
Definition: gsm0503_conv.c:95
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
Event Type (Section 9.4.16)
Definition: gsm_12_21.h:572
const struct osmo_conv_code gsm0503_mcs7_dl_hdr
structure describing convolutional code EDGE MCS-7 DL HDR
Definition: gsm0503_conv.c:1248
const struct osmo_conv_code gsm0503_xcch
structure describing convolutional code xCCH
Definition: gsm0503_conv.c:84
enum abis_nm_msgtype abis_nm_reports[4]
unidirectional messages from BTS to BSC
Definition: abis_nm.c:43
struct osmo_timer_list t200
T200 timer.
Definition: lapd_core.h:150
int osmo_auth_load(const char *path)
Load all available authentication plugins from the given path.
Definition: auth_core.c:72
Definition: gsm_utils.h:40
Definition: ipaccess.h:14
int seq_err_cond
condition of sequence error
Definition: lapd_core.h:145
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
behave like user
Definition: lapd_core.h:67
const char * abis_nm_nack_cause_name(uint8_t cause)
Get human-readable string for NACK cause.
Definition: abis_nm.c:215
struct llist_head tx_queue
frames to L1
Definition: lapd_core.h:153
struct lapdm_msg_ctx mctx
context of established connection
Definition: lapdm.h:33
static uint32_t _a5_12_parity(uint32_t x)
Computes parity of a 32-bit word.
Definition: a5.c:128
uint8_t acc_delay
Delay in bit periods.
Definition: l1sap.h:61
struct lapd_cr_ent loc2rem
filled-in once we set the lapd_mode above
Definition: lapd_core.h:130
const uint8_t * apn_enc
Definition: gsup.h:121
Definition: gsm0411_smc.h:25
void * l3_ctx
context for layer3 instance
Definition: lapdm.h:60
@ PRIM_DL_UNIT_DATA
DL-UNIT-DATA.
Definition: lapd_core.h:19
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
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
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
fixed-length value-only
Definition: tlv.h:371
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
uint16_t len
length
Definition: tlv.h:364
static uint8_t * msgb_v_put(struct msgb *msg, uint8_t val)
put (append) a V field to a msgb
Definition: tlv.h:290
struct osmo_prim_hdr oph
generic primitive header
Definition: lapd_core.h:58
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
Probable Cause Type (Section 9.4.43)
Definition: gsm_12_21.h:591
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
tag-only
Definition: tlv.h:372
int maxf
maximum frame size (after defragmentation)
Definition: lapd_core.h:138
const struct osmo_conv_code gsm0503_sch
structure describing convolutional code SCH
Definition: gsm0503_conv.c:106
Definition: gsm0411_smc.c:414
int lapdm_rslms_recvmsg(struct msgb *msg, struct lapdm_channel *lc)
Receive a RSLms msgb from Layer 3.
Definition: lapdm.c:1211
uint16_t ra
Random Access.
Definition: l1sap.h:60
const uint8_t * qos_enc
Definition: gsup.h:126
const struct value_string abis_nm_msg_disc_names[]
Human-readable strings for A-bis OML Object Class.
Definition: abis_nm.c:420
struct osmo_timer_list t203
T203 timer.
Definition: lapd_core.h:151
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
Definition: gsm_04_11.h:102
int lapdm_phsap_up(struct osmo_prim_hdr *oph, struct lapdm_entity *le)
Receive a PH-SAP primitive from L1.
Definition: lapdm.c:715
const char * rsl_msg_name(uint8_t err)
Get human-readable string for RSL Message Type.
Definition: rsl.c:344
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
RSL common header.
Definition: gsm_08_58.h:34
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
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
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
OML Attributes / IEs (Section 9.4)
Definition: gsm_12_21.h:321
static void _a5_1_clock(uint32_t r[], int force)
GSM A5/1 Clocking function.
Definition: a5.c:175
the two lapdm_entities that form a GSM logical channel (ACCH + DCCH)
Definition: lapdm.h:73
primitive header for LAPD DL-SAP primitives
Definition: lapd_core.h:57
uint8_t link_id
Link Identifier (Like RSL)
Definition: l1sap.h:69
@ TLV_TYPE_TLV
tag-length-value
Definition: tlv.h:374
Definition: gsm_04_08.h:229
uint8_t range_hist
range of history buffer 2..2^n
Definition: lapd_core.h:158
uint8_t own_busy
receiver busy on our side
Definition: lapd_core.h:146
Definition of All 256 IE / TLV.
Definition: tlv.h:388
int osmo_auth_3g_from_2g(struct osmo_auth_vector *vec)
Generate 3G CK + IK from 2G authentication vector.
Definition: auth_core.c:123
uint32_t state
LAPD state (lapd_state)
Definition: lapd_core.h:144
const struct osmo_conv_code gsm0503_mcs9
structure describing convolutional code EDGE MCS-9
Definition: gsm0503_conv.c:1310
Definition: gsm_04_08.h:81
struct msgb * cont_res
buffer to store content resolution data on network side, to detect multiple phones on same channel
Definition: lapd_core.h:160
Definition: gsm_08_58.h:41
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
const struct osmo_conv_code gsm0503_tch_afs_12_2
structure describing convolutional code TCH/AFS 12.2
Definition: gsm0503_conv.c:218
int t203_usec
retry timer (default 10 secs)
Definition: lapd_core.h:149
const struct osmo_conv_code gsm0503_tch_hr
structure describing convolutional code TCH/HR
Definition: gsm0503_conv.c:766
@ LAPDM_MODE_BTS
behave like a BTS (network)
Definition: lapdm.h:15
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
LAPD datalink.
Definition: lapd_core.h:123
const struct osmo_conv_code gsm0503_cs2
structures describing convolutional codes CS2/3
Definition: gsm0503_conv.c:134
uint8_t mode
release mode
Definition: lapd_core.h:53
#define LAPD_U_SABM
Definition: lapd_core.c:88
Definition: gsm48_ie.h:107
@ PRIM_MDL_ERROR
MDL-ERROR.
Definition: lapd_core.h:26
const char * abis_nm_event_type_name(uint8_t cause)
Get human-readable string for OML event type.
Definition: abis_nm.c:231
size_t apn_enc_len
Definition: gsup.h:123
uint8_t data[0]
message payload data
Definition: gsm_08_58.h:63
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
uint8_t peer_busy
receiver busy on remote side
Definition: lapd_core.h:147
@ TLV_TYPE_TL16V
tag, 16 bit length, value
Definition: tlv.h:375
const struct osmo_conv_code gsm0503_mcs1
structure describing convolutional code EDGE MCS-1
Definition: gsm0503_conv.c:1126
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
const struct osmo_conv_code gsm0503_mcs7_ul_hdr
structure describing convolutional code EDGE MCS-7 UL HDR
Definition: gsm0503_conv.c:1264
OML Object Instance.
Definition: gsm_12_21.h:77
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
osmo_prim_cb l1_prim_cb
callback for sending prims to L1
Definition: lapdm.h:62
enum abis_nm_msgtype abis_nm_sw_load_msgs[9]
messages related to software load
Definition: abis_nm.c:58
int n200_est_rel
number of retranmissions
Definition: lapd_core.h:136
Definition: lapd_core.h:117
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
int tx_pending
currently a pending frame not confirmed by L1
Definition: lapdm.h:55
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
enum abis_nm_msgtype abis_nm_nacks[33]
All NACKs (negative acknowledgements.
Definition: abis_nm.c:72
const struct osmo_conv_code gsm0503_tch_fr
structure describing convolutional code TCH/FR
Definition: gsm0503_conv.c:705
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
void * l1_ctx
context for layer1 instance
Definition: lapdm.h:59
@ TLV_TYPE_SINGLE_TV
tag and value (both 4 bit) in 1 byte
Definition: tlv.h:377
const struct tlv_definition abis_nm_att_tlvdef_ipa
GSM A-bis OML IPA TLV parser definition.
Definition: abis_nm.c:294
a LAPDm Entity
Definition: lapdm.h:51
uint8_t k
maximum number of unacknowledged frames
Definition: lapd_core.h:139
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
DL-RECONNECT.
Definition: lapd_core.h:25
uint8_t v_recv
seq nr of next I frame expected to be received
Definition: lapd_core.h:143
static uint8_t _a5_2_get_output(uint32_t r[])
GSM A5/2 Output function.
Definition: a5.c:314
LAPDm datalink like TS 04.06 / Section 3.5.2.
Definition: lapdm.h:31
struct lapd_msg_ctx lctx
LAPD context.
Definition: lapd_core.h:137
uint8_t length
Length in octets.
Definition: gsm_12_21.h:7
#define ABIS_OM_MDISC_MMI
Message Discriminator for Man Machine Interface.
Definition: gsm_12_21.h:54
uint8_t chan_nr
Channel Number (Like RSL)
Definition: l1sap.h:70
const struct osmo_conv_code gsm0503_tch_ahs_5_15
structure describing convolutional code TCH/AHS 5.15
Definition: gsm0503_conv.c:996
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
struct msgb * send_buffer
current frame transmitting
Definition: lapd_core.h:155
const struct value_string abis_nm_adm_state_names[]
Human-readable names for OML administrative state.
Definition: abis_nm.c:504
const struct osmo_conv_code gsm0503_mcs4
structure describing convolutional code EDGE MCS-4
Definition: gsm0503_conv.c:1171
Definition: gsm_04_08.h:622
uint8_t chan_nr
RSL channel number (value)
Definition: gsm_08_58.h:44
uint8_t data[0]
actual payload data
Definition: gsm_08_58.h:2
union osmo_phsap_prim::@1 u
request-specific data
void lapdm_entity_exit(struct lapdm_entity *le)
flush and release all resoures in LAPDm entity
Definition: lapdm.c:176
const struct tlv_definition abis_nm_osmo_att_tlvdef
org.osmocom GSM A-bis OML TLV parser definition
Definition: abis_nm.c:413
uint8_t retrans_ctr
re-transmission counter
Definition: lapd_core.h:152
@ PRIM_DL_RES
DL-RESUME.
Definition: lapd_core.h:24
const struct osmo_conv_code gsm0503_mcs7
structure describing convolutional code EDGE MCS-7
Definition: gsm0503_conv.c:1280
const struct osmo_conv_code gsm0503_mcs1_dl_hdr
structure describing convolutional code EDGE MCS-1 DL HDR
Definition: gsm0503_conv.c:1094
const char * abis_nm_nack_name(uint8_t nack)
Get human-readable string for OML NACK message type.
Definition: abis_nm.c:147
uint8_t msg_type
message type (abis_rsl_msgtype)
Definition: gsm_08_58.h:1
const struct osmo_conv_code gsm0503_tch_afs_7_95
structure describing convolutional code TCH/AFS 7.95
Definition: gsm0503_conv.c:361
#define abis_nm_debugp_foh(ss, foh)
write a human-readable OML header to the debug log
Definition: abis_nm.h:43
uint8_t msg_type
message type (abis_rsl_msgtype)
Definition: gsm_08_58.h:36
struct llist_head send_queue
frames from L3
Definition: lapd_core.h:154
const struct osmo_conv_code gsm0503_tch_afs_5_9
structure describing convolutional code TCH/AFS 5.9
Definition: gsm0503_conv.c:549
lapdm_cb_t l3_cb
callback for sending stuff to L3
Definition: lapdm.h:63
uint16_t pdp_type
Definition: gsup.h:118
lapd_mode
LAPD mode/role.
Definition: lapd_core.h:66
static void _a5_2_clock(uint32_t r[], int force)
GSM A5/2 Clocking function.
Definition: a5.c:287
Definition: meas_rep.h:13
struct lapdm_datalink datalink[_NR_DL_SAPI]
the SAPIs of the LAPDm entity
Definition: lapdm.h:53
struct lapd_history * tx_hist
tx history structure array
Definition: lapd_core.h:157
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 message context.
Definition: lapd_core.h:93
const struct osmo_conv_code gsm0503_mcs3
structure describing convolutional code EDGE MCS-3
Definition: gsm0503_conv.c:1156
Definition: gsm_03_41.h:19
int osmo_shift_v_fixed(uint8_t **data, size_t *data_len, size_t len, uint8_t **value)
Definition: tlv_parser.c:295
const struct osmo_conv_code gsm0503_tch_ahs_5_9
structure describing convolutional code TCH/AHS 5.9
Definition: gsm0503_conv.c:947
Osmocom GSM A5 ciphering algorithm header.
Definition: gsm_04_08.h:358
int t200_usec
retry timer (default 1 sec)
Definition: lapd_core.h:148
union osmo_dlsap_prim::@2 u
request-specific data
Definition: gsm_04_08.h:640
uint8_t link_id
RSL link identifier (value)
Definition: gsm_08_58.h:46
void lapdm_entity_reset(struct lapdm_entity *le)
Reset an entire LAPDm entity and all its datalinks.
Definition: lapdm.c:1295
uint8_t v_send
seq nr of next I frame to be transmitted
Definition: lapd_core.h:141
int reestablish
enable reestablish support
Definition: lapd_core.h:135
const char * abis_nm_test_name(uint8_t test)
Get human-readable string for OML test.
Definition: abis_nm.c:498
struct lapdm_entity lapdm_acch
Associated Control Channel.
Definition: lapdm.h:76
uint8_t msg_discr
message discriminator (ABIS_RSL_MDISC_*)
Definition: gsm_08_58.h:35
char * name
human-readable name
Definition: lapdm.h:75
int abis_nm_chcomb4pchan(enum gsm_phys_chan_config pchan)
Obtain OML Channel Combination for phnsical channel config.
Definition: abis_nm.c:580
const struct osmo_conv_code gsm0503_mcs8
structure describing convolutional code EDGE MCS-8
Definition: gsm0503_conv.c:1295
const struct value_string abis_nm_obj_class_names[]
Human-readable strings for A-bis OML Object Class.
Definition: abis_nm.c:429
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
static uint8_t _a5_1_get_output(uint32_t r[])
GSM A5/1 Output function.
Definition: a5.c:200
const struct osmo_conv_code gsm0503_mcs6
structure describing convolutional code EDGE MCS-6
Definition: gsm0503_conv.c:1233
struct msgb * rcv_buffer
buffer to assemble the received message
Definition: lapd_core.h:159
void lapdm_entity_set_flags(struct lapdm_entity *le, unsigned int flags)
Set the flags of a LAPDm entity.
Definition: lapdm.c:1314
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
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
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
const struct tlv_definition abis_nm_att_tlvdef
GSM A-bis OML TLV parser definition.
Definition: abis_nm.c:343
enum abis_nm_msgtype abis_nm_no_ack_nack[3]
messages without ACK/NACK
Definition: abis_nm.c:51
const struct osmo_conv_code gsm0503_mcs5
structure describing convolutional code EDGE MCS-5
Definition: gsm0503_conv.c:1218
void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode)
initialize a LAPDm channel and all its channels
Definition: lapdm.c:168
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
Definition: gsm_04_08.h:570
const struct osmo_conv_code gsm0503_tch_afs_10_2
structure describing convolutional code TCH/AFS 10.2
Definition: gsm0503_conv.c:279
const char * abis_nm_avail_name(uint8_t avail)
Get human-readable string for OML Availability State.
Definition: abis_nm.c:480
#define ABIS_OM_MDISC_MANUF
Message Discriminator for Manufacturer Specific Messages.
Definition: gsm_12_21.h:58
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
abis_nm_msgtype
OML Message Type (Section 9.1)
Definition: gsm_12_21.h:88
Definition: gsm0411_smr.h:12
uint8_t data[0]
message payload data
Definition: gsm_08_58.h:47
enum gsm_phys_chan_config abis_nm_pchan4chcomb(uint8_t chcomb)
Obtain physical channel config for OML Channel Combination.
Definition: abis_nm.c:589
uint8_t chan_nr
RSL channel number (value)
Definition: gsm_08_58.h:62
const struct osmo_conv_code gsm0503_cs3
Definition: gsm0503_conv.c:170
Definition: gsm_04_08.h:314
uint8_t v_range
range of sequence numbers
Definition: lapd_core.h:140
Definition: gsm0411_smr.c:424
Definition: gsm_08_58.h:59
const struct osmo_conv_code gsm0503_tch_ahs_7_95
structure describing convolutional code TCH/AHS 7.95
Definition: gsm0503_conv.c:812
LAPDm message context.
Definition: lapdm.h:21
lapdm_mode
LAPDm mode/role.
Definition: lapdm.h:13
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
DL-DATA.
Definition: lapd_core.h:20
abis_nm_severity
Perceived Severity (Section: 9.4.63)
Definition: gsm_12_21.h:581
#define ABIS_OM_MDISC_FOM
Message Discriminator for Formatted Object Messages.
Definition: gsm_12_21.h:52
const struct osmo_conv_code gsm0503_tch_ahs_4_75
structure describing convolutional code TCH/AHS 4.75
Definition: gsm0503_conv.c:1076
result of the TLV parser
Definition: tlv.h:393
uint8_t chan_nr
RSL channel number (value)
Definition: gsm_08_58.h:2
Definition: gsm_04_08.h:598
const struct osmo_conv_code gsm0503_mcs5_ul_hdr
structure describing convolutional code EDGE MCS-5 UL HDR
Definition: gsm0503_conv.c:1202
const struct osmo_conv_code gsm0503_mcs2
structure describing convolutional code EDGE MCS-2
Definition: gsm0503_conv.c:1141
uint8_t v_ack
last frame ACKed by peer
Definition: lapd_core.h:142
enum osmo_auth_algo osmo_auth_alg_parse(const char *name)
Parse human-readable name of authentication algorithm.
Definition: auth_core.c:215
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
@ TLV_TYPE_TV
tag-value (8bit)
Definition: tlv.h:373
const char * abis_nm_opstate_name(uint8_t os)
Get human-readable string for OML Operational State.
Definition: abis_nm.c:451
const char * osmo_auth_alg_name(enum osmo_auth_algo alg)
Get human-readable name of authentication algorithm.
Definition: auth_core.c:209
struct lapdm_entity * entity
LAPDm entity we are part of.
Definition: lapdm.h:35
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