libosmogsm 0.9.6-23.20170220git32ee5af8.fc42
Osmocom GSM library
Loading...
Searching...
No Matches
#include <osmocom/gsm/l1sap.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
 

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_datalinklapdm_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
 
void lapdm_channel_init (struct lapdm_channel *lc, enum lapdm_mode mode)
 initialize a LAPDm channel and all its channels
 
void lapdm_entity_exit (struct lapdm_entity *le)
 flush and release all resoures in LAPDm entity
 
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.
 
int lapdm_rslms_recvmsg (struct msgb *msg, struct lapdm_channel *lc)
 Receive a RSLms msgb from Layer 3.
 
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.
 
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.
 
int lapdm_entity_set_mode (struct lapdm_entity *le, enum lapdm_mode mode)
 Set the lapdm_mode of a LAPDm entity.
 
int lapdm_channel_set_mode (struct lapdm_channel *lc, enum lapdm_mode mode)
 Set the lapdm_mode of a LAPDm channel.
 
void lapdm_entity_reset (struct lapdm_entity *le)
 Reset an entire LAPDm entity and all its datalinks.
 
void lapdm_channel_reset (struct lapdm_channel *lc)
 Reset a LAPDm channel with all its entities.
 
void lapdm_entity_set_flags (struct lapdm_entity *le, unsigned int flags)
 Set the flags of a LAPDm entity.
 
void lapdm_channel_set_flags (struct lapdm_channel *lc, unsigned int flags)
 Set the flags of all LAPDm entities in a LAPDm channel.
 
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
 

Variables

const char * lapdm_state_names []