rspro_util: Add ASN_ALLOC_COPY macro and add clientSlot to ConnectClientReq

Change-Id: I0bc2ba7b7e7787fc5ef9d730af35767b00137513
This commit is contained in:
Harald Welte 2018-08-17 22:05:06 +02:00
parent d5c5c0b790
commit 57555aa60c
2 changed files with 13 additions and 2 deletions

View File

@ -8,6 +8,16 @@
#include "rspro_util.h"
#define ASN_ALLOC_COPY(out, in) \
do { \
if (in) { \
out = CALLOC(1, sizeof(*in)); \
OSMO_ASSERT(out); \
memcpy(out, in, sizeof(*in)); \
} \
} while (0)
struct msgb *rspro_msgb_alloc(void)
{
return msgb_alloc_headroom(1024, 8, "RSPRO");
@ -95,13 +105,14 @@ RsproPDU_t *rspro_gen_ConnectBankReq(const struct app_comp_id *a_cid,
return pdu;
}
RsproPDU_t *rspro_gen_ConnectClientReq(const struct app_comp_id *a_cid)
RsproPDU_t *rspro_gen_ConnectClientReq(const struct app_comp_id *a_cid, const ClientSlot_t *client)
{
RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu));
if (!pdu)
return NULL;
pdu->msg.present = RsproPDUchoice_PR_connectClientReq;
fill_comp_id(&pdu->msg.choice.connectClientReq.identity, a_cid);
ASN_ALLOC_COPY(pdu->msg.choice.connectClientReq.clientSlot, client);
return pdu;
}

View File

@ -22,7 +22,7 @@ struct msgb *rspro_enc_msg(RsproPDU_t *pdu);
RsproPDU_t *rspro_dec_msg(struct msgb *msg);
RsproPDU_t *rspro_gen_ConnectBankReq(const struct app_comp_id *a_cid,
uint16_t bank_id, uint16_t num_slots);
RsproPDU_t *rspro_gen_ConnectClientReq(const struct app_comp_id *a_cid);
RsproPDU_t *rspro_gen_ConnectClientReq(const struct app_comp_id *a_cid, const ClientSlot_t *client);
RsproPDU_t *rspro_gen_CreateMappingReq(const ClientSlot_t *client, const BankSlot_t *bank);
RsproPDU_t *rspro_gen_ConfigClientReq(const ClientSlot_t *client, uint32_t ip, uint16_t port);
RsproPDU_t *rspro_gen_SetAtrReq(uint16_t client_id, uint16_t slot_nr, const uint8_t *atr,