45 lines
990 B
C
45 lines
990 B
C
|
|
#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 */
|