amduat-api/src/amduatd_space_roots.h

45 lines
990 B
C
Raw Normal View History

#ifndef AMDUATD_SPACE_ROOTS_H
#define AMDUATD_SPACE_ROOTS_H
#include "amduatd_space.h"
#include "amduat/asl/asl_pointer_fs.h"
#include <stddef.h>
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
char **names;
size_t len;
size_t cap;
} amduatd_space_roots_list_t;
bool amduatd_space_roots_list(
const char *store_root,
const amduat_asl_pointer_store_t *pointer_store,
const amduatd_space_t *effective_space,
amduatd_space_roots_list_t *out_list);
bool amduatd_space_roots_list_cursor_heads(
const char *store_root,
const amduatd_space_t *effective_space,
bool push,
amduatd_space_roots_list_t *out_list);
bool amduatd_space_roots_list_cursor_peers(
const char *store_root,
const amduatd_space_t *effective_space,
amduatd_space_roots_list_t *out_list);
void amduatd_space_roots_list_free(amduatd_space_roots_list_t *list);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* AMDUATD_SPACE_ROOTS_H */