decode: add PacketSetData funtion

This patch adds a function which can be used to set the payload
of a packet when a zero copy mode is used.
remotes/origin/master
Eric Leblond 14 years ago committed by Victor Julien
parent 49b7b00fcf
commit 3593cb051e

@ -345,6 +345,27 @@ inline int PacketCopyData(Packet *p, uint8_t *pktdata, int pktlen)
SET_PKT_LEN(p, (size_t)pktlen);
return PacketCopyDataOffset(p, 0, pktdata, pktlen);
}
/**
* \brief Set data for Packet and set length when zeo copy is used
*
* \param Pointer to the Packet to modify
* \param Pointer to the data
* \param Length of the data
*/
inline int PacketSetData(Packet *p, uint8_t *pktdata, int pktlen)
{
SET_PKT_LEN(p, (size_t)pktlen);
if (!pktdata) {
return -1;
}
p->ext_pkt = pktdata;
p->flags |= PKT_ZERO_COPY;
return 0;
}
/**
* @}
*/

@ -777,6 +777,7 @@ Packet *PacketPseudoPktSetup(Packet *parent, uint8_t *pkt, uint16_t len, uint8_t
Packet *PacketGetFromQueueOrAlloc(void);
Packet *PacketGetFromAlloc(void);
int PacketCopyData(Packet *p, uint8_t *pktdata, int pktlen);
int PacketSetData(Packet *p, uint8_t *pktdata, int pktlen);
int PacketCopyDataOffset(Packet *p, int offset, uint8_t *data, int datalen);
DecodeThreadVars *DecodeThreadVarsAlloc();

Loading…
Cancel
Save