46 #define LAPDM_ENT_F_EMPTY_FRAME 0x0001
47 #define LAPDM_ENT_F_POLLING_ONLY 0x0002
88 const int *t200_ms,
int n200)
91 const int *t200_ms,
int n200,
const char *name_pfx);
95 const int *t200_ms_dcch,
const int *t200_ms_acch,
enum gsm_chan_t chan_t);
97 const int *t200_ms_dcch,
const int *t200_ms_acch,
enum gsm_chan_t chan_t,
98 const char *name_pfx);
void lapdm_channel_exit(struct lapdm_channel *lc)
Definition: lapdm.c:309
struct lapdm_datalink * dl
Definition: lapdm.h:21
LAPDm message context.
Definition: lapdm.h:20
void lapdm_entity_set_flags(struct lapdm_entity *le, unsigned int flags)
Set the flags of a LAPDm entity.
Definition: lapdm.c:1498
enum lapdm_mode mode
are we in BTS mode or MS mode
Definition: lapdm.h:55
#define OSMO_DEPRECATED(text)
struct lapdm_channel * lapdm_ch
pointer to lapdm_channel of which we're part
Definition: lapdm.h:65
behave like a MS (mobile phone)
Definition: lapdm.h:13
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
Definition: lapdm.c:262
LAPDm datalink like TS 04.06 / Section 3.5.2.
Definition: lapdm.h:30
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
Definition: lapdm.c:193
void lapdm_channel_reset(struct lapdm_channel *lc)
Reset a LAPDm channel with all its entities.
Definition: lapdm.c:1491
uint8_t tx_power_ind
Definition: lapdm.h:26
int(* lapdm_cb_t)(struct msgb *msg, struct lapdm_entity *le, void *ctx)
Definition: lapdm.h:44
unsigned int flags
Definition: lapdm.h:56
int tx_pending
currently a pending frame not confirmed by L1
Definition: lapdm.h:54
const char * get_rsl_name(int value)
void * l1_ctx
context for layer1 instance
Definition: lapdm.h:58
the two lapdm_entities that form a GSM logical channel (ACCH + DCCH)
Definition: lapdm.h:72
SAPI 0.
Definition: lapdm.h:39
const char * lapdm_state_names[]
struct lapdm_datalink * lapdm_datalink_for_sapi(struct lapdm_entity *le, uint8_t sapi)
Definition: lapdm.c:315
void * l3_ctx
context for layer3 instance
Definition: lapdm.h:59
int(* osmo_prim_cb)(struct osmo_prim_hdr *oph, void *ctx)
struct lapd_datalink dl
Definition: lapdm.h:31
SAPI 1.
Definition: lapdm.h:40
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:1470
void lapdm_entity_exit(struct lapdm_entity *le)
flush and release all resoures in LAPDm entity
Definition: lapdm.c:293
int lapdm_rslms_recvmsg(struct msgb *msg, struct lapdm_channel *lc)
Receive a RSLms Message buffers from Layer 3.
Definition: lapdm.c:1394
int lapdm_phsap_up(struct osmo_prim_hdr *oph, struct lapdm_entity *le)
Receive a PH-SAP primitive from L1.
Definition: lapdm.c:894
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
Definition: lapdm.c:248
void lapdm_entity_init(struct lapdm_entity *le, enum lapdm_mode mode, int t200) OSMO_DEPRECATED("Use lapdm_entity_init3() instead")
initialize a LAPDm entity and all datalinks inside
Definition: lapdm.c:162
int lapdm_entity_set_mode(struct lapdm_entity *le, enum lapdm_mode mode)
Set the lapdm_mode of a LAPDm entity.
Definition: lapdm.c:1423
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:1461
struct lapdm_msg_ctx mctx
context of established connection
Definition: lapdm.h:32
LAPD datalink.
Definition: lapd_core.h:126
char * name
human-readable name
Definition: lapdm.h:74
void lapdm_entity_init2(struct lapdm_entity *le, enum lapdm_mode mode, const int *t200_ms, int n200) OSMO_DEPRECATED("Use lapdm_entity_init3() instead")
initialize a LAPDm entity and all datalinks inside
Definition: lapdm.c:180
behave like a BTS (network)
Definition: lapdm.h:14
void lapdm_entity_reset(struct lapdm_entity *le)
Reset an entire LAPDm entity and all its datalinks.
Definition: lapdm.c:1479
uint8_t mode
Definition: gsm_04_08.h:684
uint8_t msg[0]
Definition: gsm_08_08.h:528
struct lapdm_entity * entity
LAPDm entity we are part of.
Definition: lapdm.h:34
struct llist_head list
internal linked list
Definition: lapdm.h:73
uint8_t ta
Definition: lapdm.h:67
struct lapdm_datalink datalink[_NR_DL_SAPI]
the SAPIs of the LAPDm entity
Definition: lapdm.h:52
osmo_prim_cb l1_prim_cb
callback for sending prims to L1
Definition: lapdm.h:61
lapdm_mode
LAPDm mode/role.
Definition: lapdm.h:12
int last_tx_dequeue
last entity that was dequeued
Definition: lapdm.h:53
uint8_t link_id
Definition: lapdm.h:24
void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode) OSMO_DEPRECATED("Use lapdm_channel_init3() instead")
initialize a LAPDm channel and all its channels
Definition: lapdm.c:232
gsm_chan_t
Definition: gsm_utils.h:221
int lapdm_channel_set_mode(struct lapdm_channel *lc, enum lapdm_mode mode)
Set the lapdm_mode of a LAPDm channel.
Definition: lapdm.c:1449
uint8_t tx_power
Definition: lapdm.h:68
lapdm_cb_t l3_cb
callback for sending stuff to L3
Definition: lapdm.h:62
struct lapdm_entity lapdm_acch
Associated Control Channel.
Definition: lapdm.h:75
int lapdm_fmt
Definition: lapdm.h:22
lapdm_dl_sapi
LAPDm datalink SAPIs.
Definition: lapdm.h:38
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:1504
a LAPDm Entity
Definition: lapdm.h:50
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:423
uint8_t ta_ind
Definition: lapdm.h:25
primitive header for PH-SAP primitives
Definition: l1sap.h:158
struct lapdm_entity lapdm_dcch
Dedicated Control Channel.
Definition: lapdm.h:76
GSM utility functions, e.g.
uint8_t chan_nr
Definition: lapdm.h:23