From 9a3dec0c01c67fd6ee10e499fc2abb139d077a2c Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 16 May 2010 08:15:40 +0800 Subject: [PATCH] gsm0808: Add API to wrap a GSM48 msg with a BSSMAP/DTAP msg. --- include/osmocore/gsm0808.h | 2 ++ src/gsm0808.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/include/osmocore/gsm0808.h b/include/osmocore/gsm0808.h index a40713f77..9166e54ff 100644 --- a/include/osmocore/gsm0808.h +++ b/include/osmocore/gsm0808.h @@ -36,6 +36,8 @@ struct msgb *gsm0808_create_assignment_completed(struct gsm_lchan *lchan, uint8_ uint8_t speech_mode); struct msgb *gsm0808_create_assignment_failure(uint8_t cause, uint8_t *rr_cause); +void gsm0808_prepend_dtap_header(struct msgb *msg, uint8_t link_id); + const struct tlv_definition *gsm0808_att_tlvdef(); #endif diff --git a/src/gsm0808.c b/src/gsm0808.c index 114ddbf63..1dc035b3c 100644 --- a/src/gsm0808.c +++ b/src/gsm0808.c @@ -266,6 +266,14 @@ struct msgb *gsm0808_create_assignment_failure(uint8_t cause, uint8_t *rr_cause) return msg; } +void gsm0808_prepend_dtap_header(struct msgb *msg, uint8_t link_id) +{ + uint8_t *hh = msgb_push(msg, 3); + hh[0] = BSSAP_MSG_DTAP; + hh[1] = link_id; + hh[2] = msg->len - 3; +} + static const struct tlv_definition bss_att_tlvdef = { .def = { [GSM0808_IE_IMSI] = { TLV_TYPE_TLV },