4 pCircBuf->
msgs = pMsgPool;
16 return &(pCircBuf->
msgs[current]);
40 if (idx < pCircBuf->totalSize) {
41 return &(pCircBuf->
msgs[idx]);
RawPtpMessage * ptp_circ_buf_alloc(PtpCircBuf *pCircBuf)
void ptp_circ_buf_free(PtpCircBuf *pCircBuf)
int ptp_circ_buf_commit(PtpCircBuf *pCircBuf)
RawPtpMessage * ptp_circ_buf_get(PtpCircBuf *pCircBuf, uint8_t idx)
void ptp_circ_buf_init(PtpCircBuf *pCircBuf, RawPtpMessage *pMsgPool, uint8_t n)
This module implements a circular buffer that is used for accepting and omitting received and to be t...
"Ring" buffer for PTP-messages.
uint8_t lastReceived
pointer to last received and last processed messages
int allocPending
allocation pending (by index)
RawPtpMessage * msgs
messages
uint8_t totalSize
element count
uint8_t freeBufs
number of free buffers
Raw PTP message structure.