libosmogsm 1.13.1.1-afb4 Osmocom GSM library

Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
lapdm.h File Reference
LAPDm implementation according to GSM TS 04.06
`#include <osmocom/gsm/l1sap.h>`
`#include <osmocom/gsm/gsm_utils.h>`
`#include <osmocom/gsm/lapd_core.h>`

Go to the source code of this file.

## Data Structures
struct | lapdm_msg_ctx
| LAPDm message context. More...
struct | lapdm_datalink
| LAPDm datalink like TS 04.06 / Section 3.5.2. More...
struct | lapdm_entity
| a LAPDm Entity More...
struct | lapdm_channel
| the two lapdm_entities that form a GSM logical channel (ACCH + DCCH) More...

## Macros
#define | LAPDM_ENT_F_EMPTY_FRAME 0x0001
#define | LAPDM_ENT_F_POLLING_ONLY 0x0002
#define | LAPDM_ENT_F_DROP_2ND_REJ 0x0004
#define | LAPDM_ENT_F_RTS 0x0008

## Typedefs
typedef int(* | lapdm_cb_t) (struct msgb *msg, struct lapdm_entity *le, void *ctx)

## Enumerations
enum | lapdm_mode { LAPDM_MODE_MS , LAPDM_MODE_BTS }
| LAPDm mode/role. More...
enum | lapdm_dl_sapi { DL_SAPI0 = 0 , DL_SAPI3 = 1 , _NR_DL_SAPI }
| LAPDm datalink SAPIs. More...

## Functions
const char * | get_rsl_name (int value)
struct lapdm_datalink * | lapdm_datalink_for_sapi (struct lapdm_entity *le, uint8_t sapi)
void | lapdm_entity_init (struct lapdm_entity *le, enum lapdm_mode mode, int t200)
| initialize a LAPDm entity and all datalinks inside More...
void | lapdm_entity_init2 (struct lapdm_entity *le, enum lapdm_mode mode, const int *t200_ms, int n200)
| initialize a LAPDm entity and all datalinks inside More...
void | lapdm_entity_init3 (struct lapdm_entity *le, enum lapdm_mode mode, const int *t200_ms, int n200, const char *name_pfx)
| initialize a LAPDm entity and all datalinks inside More...
void | lapdm_channel_init (struct lapdm_channel *lc, enum lapdm_mode mode)
| initialize a LAPDm channel and all its channels More...
int | lapdm_channel_init2 (struct lapdm_channel *lc, enum lapdm_mode mode, const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t)
| initialize a LAPDm channel and all its channels More...
int | lapdm_channel_init3 (struct lapdm_channel *lc, enum lapdm_mode mode, const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t, const char *name_pfx)
| initialize a LAPDm channel and all its channels More...
void | lapdm_entity_exit (struct lapdm_entity *le)
| flush and release all resoures in LAPDm entity More...
void | lapdm_channel_exit (struct lapdm_channel *lc)
int | lapdm_phsap_up (struct osmo_prim_hdr *oph, struct lapdm_entity *le)
| Receive a PH-SAP primitive from L1. More...
int | lapdm_rslms_recvmsg (struct msgb *msg, struct lapdm_channel *lc)
| Receive a RSLms Message buffers from Layer 3. More...
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. More...
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. More...
int | lapdm_entity_set_mode (struct lapdm_entity *le, enum lapdm_mode mode)
| Set the lapdm_mode of a LAPDm entity. More...
int | lapdm_channel_set_mode (struct lapdm_channel *lc, enum lapdm_mode mode)
| Set the lapdm_mode of a LAPDm channel. More...
void | lapdm_entity_reset (struct lapdm_entity *le)
| Reset an entire LAPDm entity and all its datalinks. More...
void | lapdm_channel_reset (struct lapdm_channel *lc)
| Reset a LAPDm channel with all its entities. More...
void | lapdm_entity_set_flags (struct lapdm_entity *le, unsigned int flags)
| Set the flags of a LAPDm entity. More...
void | lapdm_channel_set_flags (struct lapdm_channel *lc, unsigned int flags)
| Set the flags of all LAPDm entities in a LAPDm channel. More...
void | lapdm_entity_set_t200_fn (struct lapdm_entity *le, const uint32_t *t200_fn)
| Set the T200 FN timer of a LAPDm entity. More...
void | lapdm_channel_set_t200_fn (struct lapdm_channel *lc, const uint32_t *t200_fn_dcch, const uint32_t *t200_fn_acch)
| Set the T200 FN timer of all LAPDm entities in a LAPDm channel. More...
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 More...
int | lapdm_phsap_dequeue_prim_fn (struct lapdm_entity *le, struct osmo_phsap_prim *pp, uint32_t fn)
| dequeue a msg that's pending transmission via L1 and wrap it into a osmo_phsap_prim More...
void | lapdm_t200_fn (struct lapdm_entity *le, uint32_t fn)
| Get receive frame number from L1. More...

## Variables
const char * | lapdm_state_names []