knspace.h 761 B

123456789101112131415161718192021222324252627282930313233343536
  1. /** @file nspace.h
  2. *
  3. * @brief Klish scheme's "nspace" entry
  4. */
  5. #ifndef _klish_knspace_h
  6. #define _klish_knspace_h
  7. #include <faux/faux.h>
  8. #include <faux/list.h>
  9. #include <klish/kview.h>
  10. typedef struct knspace_s knspace_t;
  11. // kview_t and knspace_t have a loop of references
  12. typedef struct kview_s kview_t;
  13. C_DECL_BEGIN
  14. knspace_t *knspace_new(const char *view_ref);
  15. void knspace_free(knspace_t *nspace);
  16. // View_ref
  17. const char *knspace_view_ref(const knspace_t *nspace);
  18. // View
  19. kview_t *knspace_view(const knspace_t *nspace);
  20. bool_t knspace_set_view(knspace_t *nspace, kview_t *view);
  21. // View
  22. const char *knspace_prefix(const knspace_t *nspace);
  23. bool_t knspace_set_prefix(knspace_t *nspace, const char *prefix);
  24. C_DECL_END
  25. #endif // _klish_knspace_h