Files
progsync/cours/audio/buffer.h
2025-11-04 18:33:00 +01:00

28 lines
656 B
C

#ifndef BUFFER_H
#define BUFFER_H
#include <sys/types.h>
/* A simple type of append-only buffers. */
typedef struct buffer {
unsigned char *data;
size_t size;
size_t occupancy;
} buffer_t;
void *malloc_checked(size_t size);
char *strdup_checked(const char *);
buffer_t *buffer_alloc(size_t initial_size);
void buffer_free(buffer_t *buff);
void buffer_write(buffer_t *buff, void *data, size_t data_size);
#define buffer_foreach(ty, var, buffer) \
for (ty *var = (ty *)buffer->data; \
var < (ty *)(buffer->data + buffer->occupancy); \
var++)
#endif /* BUFFER_H */