ientry.h 837 B

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