ientry.h 820 B

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