refactor: page.c

This commit is contained in:
paulhorn
2026-06-20 21:16:02 +02:00
parent 76fe07dd3a
commit 9ba08bee98
+48 -11
View File
@@ -24,33 +24,47 @@
/* ---- interne Typen (nur in dieser Datei sichtbar) ---- */
typedef struct {
typedef struct
{
uint32_t page_id;
uint16_t num_slots;
uint16_t free_space_offset;
} PageHeader;
typedef struct {
typedef struct
{
uint16_t offset;
uint16_t length;
} Slot;
/* oeffentliche Page-Struktur (opak nach aussen) */
struct Page {
struct Page
{
uint8_t raw[PAGE_SIZE];
};
/* ---- Hilfsfunktionen ---- */
static PageHeader *header(Page *p) {
static PageHeader *
header
(
Page *p
)
{
return (PageHeader *) p->raw;
}
/* ---- API ---- */
Page *page_create(uint32_t page_id) {
Page *
page_create
(
uint32_t page_id
)
{
Page *p = malloc(sizeof(Page));
if (!p) return NULL;
if (!p)
return NULL;
memset(p->raw, 0, PAGE_SIZE);
@@ -62,17 +76,40 @@ Page *page_create(uint32_t page_id) {
return p;
}
void page_free(Page *p) {
void
page_free
(
Page *p
)
{
free(p);
}
/* page_insert und page_get folgen im naechsten TDD-Zyklus */
int page_insert(Page *p, const void *data, size_t len) {
(void)p; (void)data; (void)len;
int
page_insert
(
Page *p,
const void *data,
size_t len
)
{
(void) p;
(void) data;
(void) len;
return -1; /* noch nicht implementiert */
}
void *page_get(Page *p, uint16_t slot_id, size_t *out_len) {
(void)p; (void)slot_id; (void)out_len;
void *
page_get
(
Page *p,
uint16_t slot_id,
size_t *out_len
)
{
(void) p;
(void) slot_id;
(void) out_len;
return NULL; /* noch nicht implementiert */
}