ientry.h 911 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /** @file ientry.h
  2. *
  3. * @brief Klish scheme's "entry" entry
  4. */
  5. #ifndef _klish_ientry_h
  6. #define _klish_ientry_h
  7. #include <faux/error.h>
  8. #include <klish/iaction.h>
  9. #include <klish/ihotkey.h>
  10. #include <klish/kentry.h>
  11. typedef struct ientry_s ientry_t;
  12. struct ientry_s {
  13. char *name;
  14. char *help;
  15. char *container;
  16. char *mode;
  17. char *purpose;
  18. char *min;
  19. char *max;
  20. char *ref;
  21. char *value;
  22. char *restore;
  23. char *transparent;
  24. char *order;
  25. char *filter;
  26. ientry_t * (*entrys)[]; // Nested entrys
  27. iaction_t * (*actions)[];
  28. ihotkey_t * (*hotkeys)[];
  29. };
  30. C_DECL_BEGIN
  31. bool_t ientry_parse(const ientry_t *info, kentry_t *entry, faux_error_t *error);
  32. bool_t ientry_parse_nested(const ientry_t *ientry, kentry_t *kentry,
  33. faux_error_t *error);
  34. kentry_t *ientry_load(const ientry_t *ientry, faux_error_t *error);
  35. char *ientry_deploy(const kentry_t *kentry, int level);
  36. C_DECL_END
  37. #endif // _klish_ientry_h