flexPTP 1.0
An IEEE 1588 PTP implementation designed for microcontrollers
Loading...
Searching...
No Matches
ptp_raw_msg_circbuf.h
Go to the documentation of this file.
1
11#ifndef FLEXPTP_PTP_RAW_MSG_CIRCBUF_H_
12#define FLEXPTP_PTP_RAW_MSG_CIRCBUF_H_
13
14#include <stdbool.h>
15
16#include "ptp_types.h"
17
21typedef struct {
23 uint8_t totalSize;
24 uint8_t lastReceived;
25 uint8_t freeBufs;
28
36void ptp_circ_buf_init(PtpCircBuf * pCircBuf, RawPtpMessage * pMsgPool, uint8_t n);
37
46
53int ptp_circ_buf_commit(PtpCircBuf *pCircBuf); // commit last allocation
54
60void ptp_circ_buf_free(PtpCircBuf *pCircBuf);
61
69RawPtpMessage * ptp_circ_buf_get(PtpCircBuf *pCircBuf, uint8_t idx);
70
71#endif /* FLEXPTP_PTP_RAW_MSG_CIRCBUF_H_ */
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 defines the fundamental PTP message and state machine type, flags, bitfields and the PTP ...
"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.
Definition: ptp_types.h:162