kparam.h 989 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /** @file kparam.h
  2. *
  3. * @brief Klish scheme's "param" entry
  4. */
  5. #ifndef _klish_kparam_h
  6. #define _klish_kparam_h
  7. #include <faux/error.h>
  8. #include <klish/iparam.h>
  9. typedef struct kparam_s kparam_t;
  10. C_DECL_BEGIN
  11. kparam_t *kparam_new(const char *name);
  12. void kparam_free(kparam_t *param);
  13. const char *kparam_name(const kparam_t *param);
  14. const char *kparam_help(const kparam_t *param);
  15. bool_t kparam_set_help(kparam_t *param, const char *help);
  16. const char *kparam_ptype_ref(const kparam_t *param);
  17. bool_t kparam_set_ptype_ref(kparam_t *param, const char *ptype_ref);
  18. bool_t kparam_add_param(kparam_t *param, kparam_t *nested_param);
  19. kparam_t *kparam_find_param(const kparam_t *param, const char *name);
  20. bool_t kparam_parse(kparam_t *param, const iparam_t *info, faux_error_t *error);
  21. bool_t kparam_nested_from_iparam(kparam_t *kparam, iparam_t *iparam,
  22. faux_error_t *error);
  23. kparam_t *kparam_from_iparam(iparam_t *iparam, faux_error_t *error);
  24. C_DECL_END
  25. #endif // _klish_kparam_h