libosmoisdn 1.13.1.1-afb4 Osmocom ISDN library

Data Structures | Macros | Enumerations | Functions
lapd_core.h File Reference
LAPD implementation common part

primitive related stuff More...

`#include <stdint.h>`
`#include <osmocom/core/timer.h>`
`#include <osmocom/core/msgb.h>`
`#include <osmocom/gsm/prim.h>`

Go to the source code of this file.

## Data Structures
struct | mdl_error_ind_param
| for MDL-ERROR.ind More...
struct | dl_rel_req_param
| for DL-REL.req More...
struct | osmo_dlsap_prim
| primitive header for LAPD DL-SAP primitives More...
struct | lapd_msg_ctx
| LAPD message context. More...
struct | lapd_cr_ent
struct | lapd_history
struct | lapd_datalink
| LAPD datalink. More...

## Macros
#define | LOGDL(dl, level, fmt, args...) LOGP(DLLAPD, level, "(%s) " fmt, (dl)->name, ## args)
#define | MDL_CAUSE_T200_EXPIRED 0x01
#define | MDL_CAUSE_REEST_REQ 0x02
#define | MDL_CAUSE_UNSOL_UA_RESP 0x03
#define | MDL_CAUSE_UNSOL_DM_RESP 0x04
#define | MDL_CAUSE_UNSOL_DM_RESP_MF 0x05
#define | MDL_CAUSE_UNSOL_SPRV_RESP 0x06
#define | MDL_CAUSE_SEQ_ERR 0x07
#define | MDL_CAUSE_UFRM_INC_PARAM 0x08
#define | MDL_CAUSE_SFRM_INC_PARAM 0x09
#define | MDL_CAUSE_IFRM_INC_MBITS 0x0a
#define | MDL_CAUSE_IFRM_INC_LEN 0x0b
#define | MDL_CAUSE_FRM_UNIMPL 0x0c
#define | MDL_CAUSE_SABM_MF 0x0d
#define | MDL_CAUSE_SABM_INFO_NOTALL 0x0e
#define | MDL_CAUSE_FRMR 0x0f
#define | LAPD_F_RTS 0x0001
| lapd_flags More...
#define | LAPD_F_DROP_2ND_REJ 0x0002

## Enumerations
enum | osmo_dl_prim { PRIM_DL_UNIT_DATA , PRIM_DL_DATA , PRIM_DL_EST , PRIM_DL_REL , PRIM_DL_SUSP , PRIM_DL_RES , PRIM_DL_RECON , PRIM_MDL_ERROR }
| LAPD related primitives (L2<->L3 SAP) More...
enum | lapd_mode { LAPD_MODE_USER , LAPD_MODE_NETWORK }
| LAPD mode/role. More...
enum | lapd_state { LAPD_STATE_NULL = 0 , LAPD_STATE_TEI_UNASS , LAPD_STATE_ASS_TEI_WAIT , LAPD_STATE_EST_TEI_WAIT , LAPD_STATE_IDLE , LAPD_STATE_SABM_SENT , LAPD_STATE_DISC_SENT , LAPD_STATE_MF_EST , LAPD_STATE_TIMER_RECOV }
| LAPD state (Figure B.2/Q.921) More...
enum | lapd_t200_rts { LAPD_T200_RTS_OFF = 0 , LAPD_T200_RTS_PENDING , LAPD_T200_RTS_RUNNING }
| LAPD T200 state in RTS mode. More...
enum | lapd_format { LAPD_FORM_UKN = 0 , LAPD_FORM_I , LAPD_FORM_S , LAPD_FORM_U }
| LAPD message format (I / S / U) More...

## Functions
void | lapd_dl_init (struct lapd_datalink *dl, uint8_t k, uint8_t v_range, int maxf)
| Initialize LAPD datalink instance and allocate history. More...
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. More...
void | lapd_dl_set_name (struct lapd_datalink *dl, const char *name)
void | lapd_dl_exit (struct lapd_datalink *dl)
void | lapd_dl_reset (struct lapd_datalink *dl)
int | lapd_dl_set_flags (struct lapd_datalink *dl, unsigned int flags)
| Set lapd_flags to change behaviour. More...
int | lapd_set_mode (struct lapd_datalink *dl, enum lapd_mode mode)
| Set the lapdm_mode of a LAPDm entity. More...
int | lapd_ph_data_ind (struct msgb *msg, struct lapd_msg_ctx *lctx)
int | lapd_ph_rts_ind (struct lapd_msg_ctx *lctx)
| Enqueue next LAPD frame and run pending T200. More...
int | lapd_recv_dlsap (struct osmo_dlsap_prim *dp, struct lapd_msg_ctx *lctx)
int | lapd_t200_timeout (struct lapd_datalink *dl)
| Handle timeout condition of T200 in RTS mode. More...

## Detailed Description

primitive related stuff