mirror of https://gerrit.osmocom.org/libosmocore
gsm0808: Add a method to create a new DTAP message with a msgb
This commit is contained in:
parent
9d92f0e12c
commit
c25c668106
|
@ -37,6 +37,7 @@ struct msgb *gsm0808_create_assignment_completed(uint8_t rr_cause,
|
||||||
uint8_t speech_mode);
|
uint8_t speech_mode);
|
||||||
struct msgb *gsm0808_create_assignment_failure(uint8_t cause, uint8_t *rr_cause);
|
struct msgb *gsm0808_create_assignment_failure(uint8_t cause, uint8_t *rr_cause);
|
||||||
|
|
||||||
|
struct msgb *gsm0808_create_dtap(struct msgb *msg, uint8_t link_id);
|
||||||
void gsm0808_prepend_dtap_header(struct msgb *msg, uint8_t link_id);
|
void gsm0808_prepend_dtap_header(struct msgb *msg, uint8_t link_id);
|
||||||
|
|
||||||
const struct tlv_definition *gsm0808_att_tlvdef();
|
const struct tlv_definition *gsm0808_att_tlvdef();
|
||||||
|
|
|
@ -292,6 +292,29 @@ void gsm0808_prepend_dtap_header(struct msgb *msg, uint8_t link_id)
|
||||||
hh[2] = msg->len - 3;
|
hh[2] = msg->len - 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct msgb *gsm0808_create_dtap(struct msgb *msg_l3, uint8_t link_id)
|
||||||
|
{
|
||||||
|
struct dtap_header *header;
|
||||||
|
uint8_t *data;
|
||||||
|
struct msgb *msg = msgb_alloc_headroom(BSSMAP_MSG_SIZE, BSSMAP_MSG_HEADROOM,
|
||||||
|
"dtap");
|
||||||
|
if (!msg)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* DTAP header */
|
||||||
|
msg->l3h = msgb_put(msg, sizeof(*header));
|
||||||
|
header = (struct dtap_header *) &msg->l3h[0];
|
||||||
|
header->type = BSSAP_MSG_DTAP;
|
||||||
|
header->link_id = link_id;
|
||||||
|
header->length = msgb_l3len(msg_l3);
|
||||||
|
|
||||||
|
/* Payload */
|
||||||
|
data = msgb_put(msg, header->length);
|
||||||
|
memcpy(data, msg_l3->l3h, header->length);
|
||||||
|
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct tlv_definition bss_att_tlvdef = {
|
static const struct tlv_definition bss_att_tlvdef = {
|
||||||
.def = {
|
.def = {
|
||||||
[GSM0808_IE_IMSI] = { TLV_TYPE_TLV },
|
[GSM0808_IE_IMSI] = { TLV_TYPE_TLV },
|
||||||
|
|
Loading…
Reference in New Issue