var.h 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. #ifndef _clish_var_h
  2. #define _clish_var_h
  3. #include "lub/types.h"
  4. #include "lub/bintree.h"
  5. typedef struct clish_var_s clish_var_t;
  6. /*=====================================
  7. * VAR INTERFACE
  8. *===================================== */
  9. /*-----------------
  10. * meta functions
  11. *----------------- */
  12. int clish_var_bt_compare(const void *clientnode, const void *clientkey);
  13. void clish_var_bt_getkey(const void *clientnode, lub_bintree_key_t * key);
  14. size_t clish_var_bt_offset(void);
  15. clish_var_t *clish_var_new(const char *name);
  16. /*-----------------
  17. * methods
  18. *----------------- */
  19. void clish_var_delete(clish_var_t *instance);
  20. void clish_var_dump(const clish_var_t *instance);
  21. /*-----------------
  22. * attributes
  23. *----------------- */
  24. const char *clish_var__get_name(const clish_var_t *instance);
  25. void clish_var__set_dynamic(clish_var_t *instance, bool_t defval);
  26. bool_t clish_var__get_dynamic(const clish_var_t *instance);
  27. void clish_var__set_value(clish_var_t *instance, const char *value);
  28. char *clish_var__get_value(const clish_var_t *instance);
  29. #endif /* _clish_var_h */