ksession.h 946 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /** @file ksession.h
  2. *
  3. * @brief Klish session
  4. */
  5. #ifndef _klish_ksession_h
  6. #define _klish_ksession_h
  7. #include <klish/kscheme.h>
  8. #include <klish/kpath.h>
  9. #define KSESSION_STARTING_ENTRY "main"
  10. typedef struct ksession_s ksession_t;
  11. C_DECL_BEGIN
  12. ksession_t *ksession_new(kscheme_t *scheme, const char *start_entry);
  13. void ksession_free(ksession_t *session);
  14. kscheme_t *ksession_scheme(const ksession_t *session);
  15. kpath_t *ksession_path(const ksession_t *session);
  16. // Done
  17. bool_t ksession_done(const ksession_t *session);
  18. bool_t ksession_set_done(ksession_t *session, bool_t done);
  19. // Width of pseudo terminal
  20. size_t ksession_term_width(const ksession_t *session);
  21. bool_t ksession_set_term_width(ksession_t *session, size_t term_width);
  22. // Height of pseudo terminal
  23. size_t ksession_term_height(const ksession_t *session);
  24. bool_t ksession_set_term_height(ksession_t *session, size_t term_height);
  25. C_DECL_END
  26. #endif // _klish_ksession_h