summaryrefslogtreecommitdiffstats
path: root/include/osmocom/gsm/lapd_core.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/osmocom/gsm/lapd_core.h')
-rw-r--r--include/osmocom/gsm/lapd_core.h104
1 files changed, 52 insertions, 52 deletions
diff --git a/include/osmocom/gsm/lapd_core.h b/include/osmocom/gsm/lapd_core.h
index 42ef417e..8d3a0f81 100644
--- a/include/osmocom/gsm/lapd_core.h
+++ b/include/osmocom/gsm/lapd_core.h
@@ -14,16 +14,16 @@
* primitive related stuff
*/
-/*! \brief LAPD related primitives (L2<->L3 SAP)*/
+/*! LAPD related primitives (L2<->L3 SAP)*/
enum osmo_dl_prim {
- PRIM_DL_UNIT_DATA, /*!< \brief DL-UNIT-DATA */
- PRIM_DL_DATA, /*!< \brief DL-DATA */
- PRIM_DL_EST, /*!< \brief DL-ESTABLISH */
- PRIM_DL_REL, /*!< \brief DL-RLEEASE */
- PRIM_DL_SUSP, /*!< \brief DL-SUSPEND */
- PRIM_DL_RES, /*!< \brief DL-RESUME */
- PRIM_DL_RECON, /*!< \brief DL-RECONNECT */
- PRIM_MDL_ERROR, /*!< \brief MDL-ERROR */
+ PRIM_DL_UNIT_DATA, /*!< DL-UNIT-DATA */
+ PRIM_DL_DATA, /*!< DL-DATA */
+ PRIM_DL_EST, /*!< DL-ESTABLISH */
+ PRIM_DL_REL, /*!< DL-RLEEASE */
+ PRIM_DL_SUSP, /*!< DL-SUSPEND */
+ PRIM_DL_RES, /*!< DL-RESUME */
+ PRIM_DL_RECON, /*!< DL-RECONNECT */
+ PRIM_MDL_ERROR, /*!< MDL-ERROR */
};
/* Uses the same values as RLL, so no conversion for GSM is required. */
@@ -43,32 +43,32 @@ enum osmo_dl_prim {
#define MDL_CAUSE_SABM_INFO_NOTALL 0x0e
#define MDL_CAUSE_FRMR 0x0f
-/*! \brief for MDL-ERROR.ind */
+/*! for MDL-ERROR.ind */
struct mdl_error_ind_param {
- uint8_t cause; /*!< \brief generic cause value */
+ uint8_t cause; /*!< generic cause value */
};
-/*! \brief for DL-REL.req */
+/*! for DL-REL.req */
struct dl_rel_req_param {
- uint8_t mode; /*!< \brief release mode */
+ uint8_t mode; /*!< release mode */
};
-/*! \brief primitive header for LAPD DL-SAP primitives */
+/*! primitive header for LAPD DL-SAP primitives */
struct osmo_dlsap_prim {
- struct osmo_prim_hdr oph; /*!< \brief generic primitive header */
+ struct osmo_prim_hdr oph; /*!< generic primitive header */
union {
struct mdl_error_ind_param error_ind;
struct dl_rel_req_param rel_req;
- } u; /*!< \brief request-specific data */
+ } u; /*!< request-specific data */
};
-/*! \brief LAPD mode/role */
+/*! LAPD mode/role */
enum lapd_mode {
- LAPD_MODE_USER, /*!< \brief behave like user */
- LAPD_MODE_NETWORK, /*!< \brief behave like network */
+ LAPD_MODE_USER, /*!< behave like user */
+ LAPD_MODE_NETWORK, /*!< behave like network */
};
-/*! \brief LAPD state (Figure B.2/Q.921)*/
+/*! LAPD state (Figure B.2/Q.921)*/
enum lapd_state {
LAPD_STATE_NULL = 0,
LAPD_STATE_TEI_UNASS,
@@ -81,7 +81,7 @@ enum lapd_state {
LAPD_STATE_TIMER_RECOV,
};
-/*! \brief LAPD message format (I / S / U) */
+/*! LAPD message format (I / S / U) */
enum lapd_format {
LAPD_FORM_UKN = 0,
LAPD_FORM_I,
@@ -89,7 +89,7 @@ enum lapd_format {
LAPD_FORM_U,
};
-/*! \brief LAPD message context */
+/*! LAPD message context */
struct lapd_msg_ctx {
struct lapd_datalink *dl;
int n201;
@@ -119,45 +119,45 @@ struct lapd_history {
int more; /* if message is fragmented */
};
-/*! \brief LAPD datalink */
+/*! LAPD datalink */
struct lapd_datalink {
int (*send_dlsap)(struct osmo_dlsap_prim *dp,
struct lapd_msg_ctx *lctx);
int (*send_ph_data_req)(struct lapd_msg_ctx *lctx, struct msgb *msg);
int (*update_pending_frames)(struct lapd_msg_ctx *lctx);
struct {
- /*! \brief filled-in once we set the lapd_mode above */
+ /*! filled-in once we set the lapd_mode above */
struct lapd_cr_ent loc2rem;
struct lapd_cr_ent rem2loc;
} cr;
- enum lapd_mode mode; /*!< \brief current mode of link */
- int use_sabme; /*!< \brief use SABME instead of SABM */
- int reestablish; /*!< \brief enable reestablish support */
- int n200, n200_est_rel; /*!< \brief number of retranmissions */
- struct lapd_msg_ctx lctx; /*!< \brief LAPD context */
- int maxf; /*!< \brief maximum frame size (after defragmentation) */
- uint8_t k; /*!< \brief maximum number of unacknowledged frames */
- uint8_t v_range; /*!< \brief range of sequence numbers */
- uint8_t v_send; /*!< \brief seq nr of next I frame to be transmitted */
- uint8_t v_ack; /*!< \brief last frame ACKed by peer */
- uint8_t v_recv; /*!< \brief seq nr of next I frame expected to be received */
- uint32_t state; /*!< \brief LAPD state (\ref lapd_state) */
- int seq_err_cond; /*!< \brief condition of sequence error */
- uint8_t own_busy; /*!< \brief receiver busy on our side */
- uint8_t peer_busy; /*!< \brief receiver busy on remote side */
- int t200_sec, t200_usec; /*!< \brief retry timer (default 1 sec) */
- int t203_sec, t203_usec; /*!< \brief retry timer (default 10 secs) */
- struct osmo_timer_list t200; /*!< \brief T200 timer */
- struct osmo_timer_list t203; /*!< \brief T203 timer */
- uint8_t retrans_ctr; /*!< \brief re-transmission counter */
- struct llist_head tx_queue; /*!< \brief frames to L1 */
- struct llist_head send_queue; /*!< \brief frames from L3 */
- struct msgb *send_buffer; /*!< \brief current frame transmitting */
- int send_out; /*!< \brief how much was sent from send_buffer */
- struct lapd_history *tx_hist; /*!< \brief tx history structure array */
- uint8_t range_hist; /*!< \brief range of history buffer 2..2^n */
- struct msgb *rcv_buffer; /*!< \brief buffer to assemble the received message */
- struct msgb *cont_res; /*!< \brief buffer to store content resolution data on network side, to detect multiple phones on same channel */
+ enum lapd_mode mode; /*!< current mode of link */
+ int use_sabme; /*!< use SABME instead of SABM */
+ int reestablish; /*!< enable reestablish support */
+ int n200, n200_est_rel; /*!< number of retranmissions */
+ struct lapd_msg_ctx lctx; /*!< LAPD context */
+ int maxf; /*!< maximum frame size (after defragmentation) */
+ uint8_t k; /*!< maximum number of unacknowledged frames */
+ uint8_t v_range; /*!< range of sequence numbers */
+ uint8_t v_send; /*!< seq nr of next I frame to be transmitted */
+ uint8_t v_ack; /*!< last frame ACKed by peer */
+ uint8_t v_recv; /*!< seq nr of next I frame expected to be received */
+ uint32_t state; /*!< LAPD state (\ref lapd_state) */
+ int seq_err_cond; /*!< condition of sequence error */
+ uint8_t own_busy; /*!< receiver busy on our side */
+ uint8_t peer_busy; /*!< receiver busy on remote side */
+ int t200_sec, t200_usec; /*!< retry timer (default 1 sec) */
+ int t203_sec, t203_usec; /*!< retry timer (default 10 secs) */
+ struct osmo_timer_list t200; /*!< T200 timer */
+ struct osmo_timer_list t203; /*!< T203 timer */
+ uint8_t retrans_ctr; /*!< re-transmission counter */
+ struct llist_head tx_queue; /*!< frames to L1 */
+ struct llist_head send_queue; /*!< frames from L3 */
+ struct msgb *send_buffer; /*!< current frame transmitting */
+ int send_out; /*!< how much was sent from send_buffer */
+ struct lapd_history *tx_hist; /*!< tx history structure array */
+ uint8_t range_hist; /*!< range of history buffer 2..2^n */
+ struct msgb *rcv_buffer; /*!< buffer to assemble the received message */
+ struct msgb *cont_res; /*!< buffer to store content resolution data on network side, to detect multiple phones on same channel */
};
void lapd_dl_init(struct lapd_datalink *dl, uint8_t k, uint8_t v_range,