pmc: Convert to the API for appending TLVs on the transmit path.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>master
parent
4a8877f904
commit
b6fa8e20ee
14
pmc_common.c
14
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 pmc_send_set_action(struct pmc *pmc, int id, void *data, int datasize)
|
||||||
{
|
{
|
||||||
int pdulen;
|
|
||||||
struct ptp_message *msg;
|
|
||||||
struct management_tlv *mgt;
|
struct management_tlv *mgt;
|
||||||
|
struct ptp_message *msg;
|
||||||
|
struct tlv_extra *extra;
|
||||||
|
int pdulen;
|
||||||
|
|
||||||
msg = pmc_message(pmc, SET);
|
msg = pmc_message(pmc, SET);
|
||||||
if (!msg) {
|
if (!msg) {
|
||||||
return -1;
|
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->type = TLV_MANAGEMENT;
|
||||||
mgt->length = 2 + datasize;
|
mgt->length = 2 + datasize;
|
||||||
mgt->id = id;
|
mgt->id = id;
|
||||||
memcpy(mgt->data, data, datasize);
|
memcpy(mgt->data, data, datasize);
|
||||||
pdulen = msg->header.messageLength + sizeof(*mgt) + datasize;
|
pdulen = msg->header.messageLength + sizeof(*mgt) + datasize;
|
||||||
msg->header.messageLength = pdulen;
|
|
||||||
msg->tlv_count = 1;
|
|
||||||
pmc_send(pmc, msg, pdulen);
|
pmc_send(pmc, msg, pdulen);
|
||||||
msg_put(msg);
|
msg_put(msg);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue