rspro_util: Add ASN_ALLOC_COPY macro and add clientSlot to ConnectClientReq
Change-Id: I0bc2ba7b7e7787fc5ef9d730af35767b00137513
This commit is contained in:
parent
d5c5c0b790
commit
57555aa60c
|
@ -8,6 +8,16 @@
|
||||||
|
|
||||||
#include "rspro_util.h"
|
#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)
|
struct msgb *rspro_msgb_alloc(void)
|
||||||
{
|
{
|
||||||
return msgb_alloc_headroom(1024, 8, "RSPRO");
|
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;
|
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));
|
RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu));
|
||||||
if (!pdu)
|
if (!pdu)
|
||||||
return NULL;
|
return NULL;
|
||||||
pdu->msg.present = RsproPDUchoice_PR_connectClientReq;
|
pdu->msg.present = RsproPDUchoice_PR_connectClientReq;
|
||||||
fill_comp_id(&pdu->msg.choice.connectClientReq.identity, a_cid);
|
fill_comp_id(&pdu->msg.choice.connectClientReq.identity, a_cid);
|
||||||
|
ASN_ALLOC_COPY(pdu->msg.choice.connectClientReq.clientSlot, client);
|
||||||
|
|
||||||
return pdu;
|
return pdu;
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@ struct msgb *rspro_enc_msg(RsproPDU_t *pdu);
|
||||||
RsproPDU_t *rspro_dec_msg(struct msgb *msg);
|
RsproPDU_t *rspro_dec_msg(struct msgb *msg);
|
||||||
RsproPDU_t *rspro_gen_ConnectBankReq(const struct app_comp_id *a_cid,
|
RsproPDU_t *rspro_gen_ConnectBankReq(const struct app_comp_id *a_cid,
|
||||||
uint16_t bank_id, uint16_t num_slots);
|
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_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_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,
|
RsproPDU_t *rspro_gen_SetAtrReq(uint16_t client_id, uint16_t slot_nr, const uint8_t *atr,
|
||||||
|
|
Loading…
Reference in New Issue