gsm0808: Add API to wrap a GSM48 msg with a BSSMAP/DTAP msg.
authorHolger Hans Peter Freyther <zecke@selfish.org>
Sun, 16 May 2010 00:15:40 +0000 (08:15 +0800)
committerHolger Hans Peter Freyther <zecke@selfish.org>
Sun, 16 May 2010 00:15:40 +0000 (08:15 +0800)
include/osmocore/gsm0808.h
src/gsm0808.c

index a40713f..9166e54 100644 (file)
@@ -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
index 114ddbf..1dc035b 100644 (file)
@@ -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 },