15 rl_log(
ERROR,
"In create_web_shm: failed to get shared data memory id; %d message: %s", errno, strerror(errno));
20 if (web_data == (
void *) -1) {
21 rl_log(
ERROR,
"In create_web_shm: failed to map shared data memory; %d message: %s", errno, strerror(errno));
36 rl_log(
ERROR,
"In create_web_shm: failed to get shared data memory id; %d message: %s", errno, strerror(errno));
41 if (web_data == (
void *) -1) {
42 rl_log(
ERROR,
"In create_web_shm: failed to map shared data memory; %d message: %s", errno, strerror(errno));
83 int pos = ((int)buffer->
head + (
int)buffer->
length - 1 - num) % (
int)buffer->
length;
struct ringbuffer buffer[WEB_RING_BUFFER_COUNT]
Array of ring buffers for different time scales.
#define SHMEM_DATA_KEY
Key for web shared memory (used for creation)
void buffer_add(struct ringbuffer *buffer, int64_t *data)
void rl_log(rl_log_type type, const char *format,...)
struct web_shm * open_web_shm(void)
int64_t data[NUM_WEB_CHANNELS *NUM_WEB_POINTS]
Data array.
void reset_buffer(struct ringbuffer *buffer, int element_size, int length)
struct web_shm * create_web_shm(void)
struct web_shm * web_data
Pointer to shared memory data.
uint32_t filled
Number of elements in buffer.
int64_t * buffer_get(struct ringbuffer *buffer, int num)
uint32_t head
Current position (in elements)
#define SHMEM_PERMISSIONS
Permissions for shared memory.
uint32_t element_size
Size of buffer element.
uint32_t length
Size of buffer in elements.