File SolidSyslogCircularBuffer.h¶
File List > Core > Interface > SolidSyslogCircularBuffer.h
Go to the documentation of this file
#ifndef SOLIDSYSLOGCIRCULARBUFFER_H
#define SOLIDSYSLOGCIRCULARBUFFER_H
#include "ExternC.h"
#include <stddef.h>
#include <stdint.h>
#include "SolidSyslogTunables.h"
EXTERN_C_BEGIN
struct SolidSyslogBuffer;
struct SolidSyslogMutex;
enum
{
SOLIDSYSLOG_CIRCULAR_BUFFER_HEADER_BYTES = sizeof(uint16_t)
};
#define SOLIDSYSLOG_CIRCULAR_BUFFER_RING_BYTES(maxMessages) \
((maxMessages) * (SOLIDSYSLOG_MAX_MESSAGE_SIZE + SOLIDSYSLOG_CIRCULAR_BUFFER_HEADER_BYTES))
struct SolidSyslogBuffer* SolidSyslogCircularBuffer_Create(
struct SolidSyslogMutex * mutex,
uint8_t* ring,
size_t ringBytes
);
void SolidSyslogCircularBuffer_Destroy(struct SolidSyslogBuffer * base);
EXTERN_C_END
#endif /* SOLIDSYSLOGCIRCULARBUFFER_H */