ientry.h 851 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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/kentry.h>
  10. typedef struct ientry_s ientry_t;
  11. struct ientry_s {
  12. char *name;
  13. char *help;
  14. char *container;
  15. char *mode;
  16. char *purpose;
  17. char *min;
  18. char *max;
  19. char *ptype;
  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. };
  28. C_DECL_BEGIN
  29. bool_t ientry_parse(const ientry_t *info, kentry_t *entry, faux_error_t *error);
  30. bool_t ientry_parse_nested(const ientry_t *ientry, kentry_t *kentry,
  31. faux_error_t *error);
  32. kentry_t *ientry_load(const ientry_t *ientry, faux_error_t *error);
  33. char *ientry_deploy(const kentry_t *kentry, int level);
  34. C_DECL_END
  35. #endif // _klish_ientry_h