RSPRO: split ConfigClient into ConfigClientId and ConfigClientBank
The point is that the ClientId is only set once at start-up (and
also only optionally), while the Bank IP/port/ID/slot can be changed
any number of times during a RSPRO connection.
Change-Id: Ic76207c7dd7c18fe93bc5133b29c5f9438a9fb0e
diff --git a/src/rspro_util.c b/src/rspro_util.c
index 271ae86..27bf025 100644
--- a/src/rspro_util.c
+++ b/src/rspro_util.c
@@ -276,27 +276,51 @@
return pdu;
}
-RsproPDU_t *rspro_gen_ConfigClientReq(const ClientSlot_t *client, uint32_t ip, uint16_t port)
+RsproPDU_t *rspro_gen_ConfigClientIReq(const ClientSlot_t *client)
{
RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu));
if (!pdu)
return NULL;
pdu->version = 2;
- pdu->msg.present = RsproPDUchoice_PR_configClientReq;
- pdu->msg.choice.configClientReq.clientSlot = *client;
- fill_ip4_port(&pdu->msg.choice.configClientReq.bankd, ip, port);
+ pdu->msg.present = RsproPDUchoice_PR_configClientIdReq;
+ pdu->msg.choice.configClientIdReq.clientSlot = *client;
return pdu;
}
-RsproPDU_t *rspro_gen_ConfigClientRes(e_ResultCode res)
+RsproPDU_t *rspro_gen_ConfigClientIdRes(e_ResultCode res)
{
RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu));
if (!pdu)
return NULL;
pdu->version = 2;
- pdu->msg.present = RsproPDUchoice_PR_configClientRes;
- pdu->msg.choice.configClientRes.result = res;
+ pdu->msg.present = RsproPDUchoice_PR_configClientIdRes;
+ pdu->msg.choice.configClientIdRes.result = res;
+
+ return pdu;
+}
+
+RsproPDU_t *rspro_gen_ConfigClientBankReq(const BankSlot_t *bank, uint32_t ip, uint16_t port)
+{
+ RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu));
+ if (!pdu)
+ return NULL;
+ pdu->version = 2;
+ pdu->msg.present = RsproPDUchoice_PR_configClientBankReq;
+ pdu->msg.choice.configClientBankReq.bankSlot = *bank;
+ fill_ip4_port(&pdu->msg.choice.configClientBankReq.bankd, ip, port);
+
+ return pdu;
+}
+
+RsproPDU_t *rspro_gen_ConfigClientBankRes(e_ResultCode res)
+{
+ RsproPDU_t *pdu = CALLOC(1, sizeof(*pdu));
+ if (!pdu)
+ return NULL;
+ pdu->version = 2;
+ pdu->msg.present = RsproPDUchoice_PR_configClientBankRes;
+ pdu->msg.choice.configClientBankRes.result = res;
return pdu;
}