ientry.h 891 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 *order;
  24. char *filter;
  25. ientry_t * (*entrys)[]; // Nested entrys
  26. iaction_t * (*actions)[];
  27. ihotkey_t * (*hotkeys)[];
  28. };
  29. C_DECL_BEGIN
  30. bool_t ientry_parse(const ientry_t *info, kentry_t *entry, faux_error_t *error);
  31. bool_t ientry_parse_nested(const ientry_t *ientry, kentry_t *kentry,
  32. faux_error_t *error);
  33. kentry_t *ientry_load(const ientry_t *ientry, faux_error_t *error);
  34. char *ientry_deploy(const kentry_t *kentry, int level);
  35. C_DECL_END
  36. #endif // _klish_ientry_h