17 #define LOGDL(dl, level, fmt, args...) \ 18 LOGP(DLLAPD, level, "(%s) " fmt, (dl)->name, ## args) 33 #define MDL_CAUSE_T200_EXPIRED 0x01 34 #define MDL_CAUSE_REEST_REQ 0x02 35 #define MDL_CAUSE_UNSOL_UA_RESP 0x03 36 #define MDL_CAUSE_UNSOL_DM_RESP 0x04 37 #define MDL_CAUSE_UNSOL_DM_RESP_MF 0x05 38 #define MDL_CAUSE_UNSOL_SPRV_RESP 0x06 39 #define MDL_CAUSE_SEQ_ERR 0x07 40 #define MDL_CAUSE_UFRM_INC_PARAM 0x08 41 #define MDL_CAUSE_SFRM_INC_PARAM 0x09 42 #define MDL_CAUSE_IFRM_INC_MBITS 0x0a 43 #define MDL_CAUSE_IFRM_INC_LEN 0x0b 44 #define MDL_CAUSE_FRM_UNIMPL 0x0c 45 #define MDL_CAUSE_SABM_MF 0x0d 46 #define MDL_CAUSE_SABM_INFO_NOTALL 0x0e 47 #define MDL_CAUSE_FRMR 0x0f uint8_t v_recv
seq nr of next I frame expected to be received
Definition: lapd_core.h:146
primitive header for LAPD DL-SAP primitives
Definition: lapd_core.h:60
int n200_est_rel
number of retranmissions
Definition: lapd_core.h:139
struct msgb * send_buffer
current frame transmitting
Definition: lapd_core.h:158
char * name
user-provided name
Definition: lapd_core.h:164
void lapd_dl_init2(struct lapd_datalink *dl, uint8_t k, uint8_t v_range, int maxf, const char *name)
Initialize LAPD datalink instance and allocate history.
Definition: lapd_core.c:262
DL-RESUME.
Definition: lapd_core.h:27
MDL-ERROR.
Definition: lapd_core.h:29
#define OSMO_DEPRECATED(text)
uint8_t n_recv
Definition: lapd_core.h:108
lapd_mode
LAPD mode/role.
Definition: lapd_core.h:69
uint8_t more
Definition: lapd_core.h:112
int t200_usec
retry timer (default 1 sec)
Definition: lapd_core.h:151
Definition: lapd_core.h:80
DL-ESTABLISH.
Definition: lapd_core.h:24
Definition: lapd_core.h:84
uint8_t lpd
Definition: lapd_core.h:103
Definition: lapd_core.h:76
DL-UNIT-DATA.
Definition: lapd_core.h:22
Definition: lapd_core.h:78
int lapd_recv_dlsap(struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:2198
int lapd_ph_data_ind(struct msgb *msg, struct lapd_msg_ctx *lctx)
Definition: lapd_core.c:1696
for DL-REL.req
Definition: lapd_core.h:55
int seq_err_cond
condition of sequence error
Definition: lapd_core.h:148
struct lapd_history * tx_hist
tx history structure array
Definition: lapd_core.h:160
uint8_t own_busy
receiver busy on our side
Definition: lapd_core.h:149
uint8_t k
maximum number of unacknowledged frames
Definition: lapd_core.h:142
void lapd_dl_reset(struct lapd_datalink *dl)
Definition: lapd_core.c:337
int maxf
maximum frame size (after defragmentation)
Definition: lapd_core.h:141
DL-RECONNECT.
Definition: lapd_core.h:28
Definition: lapd_core.h:120
for MDL-ERROR.ind
Definition: lapd_core.h:50
uint8_t cmd
Definition: lapd_core.h:116
uint8_t cr
Definition: lapd_core.h:100
uint8_t tei
Definition: lapd_core.h:102
uint8_t mode
release mode
Definition: lapd_core.h:56
Definition: lapd_core.h:89
struct msgb * cont_res
buffer to store content resolution data on network side, to detect multiple phones on same channel ...
Definition: lapd_core.h:163
static int update_pending_frames(struct lapd_msg_ctx *lctx)
Definition: lapdm.c:648
void lapd_dl_exit(struct lapd_datalink *dl)
Definition: lapd_core.c:358
uint8_t p_f
Definition: lapd_core.h:106
uint8_t range_hist
range of history buffer 2..2^n
Definition: lapd_core.h:161
Definition: lapd_core.h:91
struct lapd_datalink * dl
Definition: lapd_core.h:97
LAPD datalink.
Definition: lapd_core.h:126
osmo_dl_prim
LAPD related primitives (L2<->L3 SAP)
Definition: lapd_core.h:21
LAPD message context.
Definition: lapd_core.h:96
DL-RLEEASE.
Definition: lapd_core.h:25
uint8_t peer_busy
receiver busy on remote side
Definition: lapd_core.h:150
Definition: lapd_core.h:77
Definition: lapd_core.h:115
behave like network
Definition: lapd_core.h:71
int lapd_set_mode(struct lapd_datalink *dl, enum lapd_mode mode)
Set the lapdm_mode of a LAPDm entity.
Definition: lapd_core.c:374
uint8_t mode
Definition: gsm_04_08.h:690
behave like user
Definition: lapd_core.h:70
uint8_t msg[0]
Definition: gsm_08_08.h:529
void lapd_dl_init(struct lapd_datalink *dl, uint8_t k, uint8_t v_range, int maxf) OSMO_DEPRECATED("Use lapd_dl_init2() instead")
Initialize LAPD datalink instance and allocate history.
Definition: lapd_core.c:324
int length
Definition: lapd_core.h:111
uint32_t state
LAPD state (lapd_state)
Definition: lapd_core.h:147
Definition: lapd_core.h:83
DL-DATA.
Definition: lapd_core.h:23
Definition: lapd_core.h:90
uint8_t retrans_ctr
re-transmission counter
Definition: lapd_core.h:155
Definition: lapd_core.h:92
int n201
Definition: lapd_core.h:98
int send_out
how much was sent from send_buffer
Definition: lapd_core.h:159
int t203_usec
retry timer (default 10 secs)
Definition: lapd_core.h:152
uint8_t format
Definition: lapd_core.h:105
struct msgb * msg
Definition: lapd_core.h:121
uint8_t v_ack
last frame ACKed by peer
Definition: lapd_core.h:145
uint8_t s_u
Definition: lapd_core.h:109
Definition: lapd_core.h:82
uint8_t v_send
seq nr of next I frame to be transmitted
Definition: lapd_core.h:144
int reestablish
enable reestablish support
Definition: lapd_core.h:138
uint8_t cause
generic cause value
Definition: lapd_core.h:51
uint8_t n_send
Definition: lapd_core.h:107
int use_sabme
use SABME instead of SABM
Definition: lapd_core.h:137
struct msgb * rcv_buffer
buffer to assemble the received message
Definition: lapd_core.h:162
lapd_format
LAPD message format (I / S / U)
Definition: lapd_core.h:88
lapd_state
LAPD state (Figure B.2/Q.921)
Definition: lapd_core.h:75
int more
Definition: lapd_core.h:122
uint8_t resp
Definition: lapd_core.h:117
Definition: lapd_core.h:81
DL-SUSPEND.
Definition: lapd_core.h:26
void lapd_dl_set_name(struct lapd_datalink *dl, const char *name)
Definition: lapd_core.c:329
Definition: lapd_core.h:79
uint8_t v_range
range of sequence numbers
Definition: lapd_core.h:143
uint8_t sapi
Definition: lapd_core.h:101