From b6fa8e20eea7a1366d8f3e991c062ac101c7e44e Mon Sep 17 00:00:00 2001 From: Richard Cochran Date: Fri, 23 Feb 2018 22:44:26 -0800 Subject: [PATCH] pmc: Convert to the API for appending TLVs on the transmit path. Signed-off-by: Richard Cochran --- pmc_common.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pmc_common.c b/pmc_common.c index 2a58081..4ece489 100644 --- a/pmc_common.c +++ b/pmc_common.c @@ -274,21 +274,25 @@ int pmc_send_get_action(struct pmc *pmc, int id) int pmc_send_set_action(struct pmc *pmc, int id, void *data, int datasize) { - int pdulen; - struct ptp_message *msg; struct management_tlv *mgt; + struct ptp_message *msg; + struct tlv_extra *extra; + int pdulen; + msg = pmc_message(pmc, SET); if (!msg) { return -1; } - mgt = (struct management_tlv *) msg->management.suffix; + extra = msg_tlv_append(msg, sizeof(*mgt) + datasize); + if (!extra) { + return -ENOMEM; + } + mgt = (struct management_tlv *) extra->tlv; mgt->type = TLV_MANAGEMENT; mgt->length = 2 + datasize; mgt->id = id; memcpy(mgt->data, data, datasize); pdulen = msg->header.messageLength + sizeof(*mgt) + datasize; - msg->header.messageLength = pdulen; - msg->tlv_count = 1; pmc_send(pmc, msg, pdulen); msg_put(msg);